Flutter這一年來也開始在台灣逐漸熱門起來了,中文的各種教學資源也越來越豐富,但就我所見大多數的文章,大部分的篇幅還是集中在表層的各種Widget, Library如何使用上,比較少觸碰到框架內部如Render Tree, Flutter Engine,或是有各種狀態管理如何使用的文章,但比較少解釋到底為什麼要這樣設計?要解決什麼問題?總之這系列計畫是寫給已經有接觸過Flutter,但想要瞭解的更深入,更清楚自己到底在做什麼的人。至於完全沒接觸過Flutter的人,雖然這系列不會手把手教你如何寫Flutter,但如果你在學習過程中遇到一些不知道為什麼要這樣做的時刻,也許你能在這裡找到答案。
大家在開發Flutter的時候應該免不了會使用到Plugin吧,或許你也已經熟悉幫助Plugin實現原生溝通的Platform Channel,甚至可能你自己就...
我覺得key是一個蠻奇妙的東西。它是Widget(base class)——整個Flutter中最重要的class——唯一的一個參數,但它的應用場景卻實在不是那...
updateChildren將會是我們目前看過最複雜的函數,不論是國內外都找不到深入剖析它的文件。所以趕快來成為全世界少數真正瞭解它的運作方式的人吧!誰知道呢?...
老實說這系列真的是寫到心很累,總之今天大家就稍微輕鬆一點,來戰個IDE吧。 最近因為工作的關係,一下寫web(WebStorm)一下寫backend(Intel...
對,我說真的,今天的內容其實沒有很難。我們只需要稍微把Dart VM叫出來溝通一下,全部程式碼頂多30行,也沒有什麼複雜難理解的邏輯。最重要的是這很有趣,一起來...
相信大家應該都遇過這種狀況: Column( children: [ Text("FOO", style: Te...
因為Riverpod是由Provider的作者Rémi Rousselet重新打造的Provider威力加強版。好講完了,可以收工了。什麼?又不到300字?好吧...
讓我們從複習一下InheritedWidget開始,這是我能做到的最簡單的InheritedWidget範例。可以看到,除了我們必須改為繼承長得跟Statele...
很久很久以前,我還在寫Android的時候,要做異步處理有很多選擇。從早期的AsyncTask,中期的Rx,到後來的Coroutine,不只是異步處理的語法越來...
我們在昨天的文章裡提到,每一個Isolate只會有單一執行緒,而我們在這個執行緒上所有的異步處理,都是靠Event Loop機制來完成的。今天我們就繼續來看看這...