副標題《理性對待 flutter》
作者:堅果
在創建 ios 和 android 應用程式時,通常推薦使用 flutter,因為使用它更加簡單高效。正是由於 flutter 的諸多優勢,它在許多情況下都是移動應用程式的絕佳候選者。它的性能、邏輯架構和文檔都備受推崇。國內的社區也非常的活躍,但在某些情況下,flutter 可能並不是最合適的。這就是我們將在本博客中看到的內容。讓我們看一些場景..
1. 當你的項目依賴於特定設備和平台的主要庫時
如果您的項目需要 wear os 版本或 smart tv 應用程式,您會遇到一些問題。你可以在技術上為這些平台構建一個 flutter 應用程式。但是,wear os 並不支持 flutter 的許多開發功能。所以會給你帶來困擾。
對於 android tv,您必須從頭開始使用控制邏輯。因為 android tv 只讀取遠程控制輸入,而 flutter 使用觸控螢幕和滑鼠移動,情況就是這樣,孰輕孰重,自己考量。
2. 當您的應用程式對應用大小要求很高時
由於 flutter 不是原生的,它在應用程式之上添加了一些其他庫來工作。如果每個字節對您的應用程式都很重要時,您可能需要在原生平台上進行開發。由於它具有內置的小部件而不是使用原生平台小部件,因此 flutter 應用程式的最小大小超過 4mb,明顯大於原生 java(539kb)和 kotlin(550kb)應用程式。
老實說,它的競爭對手也有同樣的問題, react native 占用 7mb。
但是由於硬體技術的進步,即使是智慧型手機也配備了更大的內存和存儲空間。所以大多數人並不關心應用程式的大小。
3. 硬體支持

不建議將 flutter 用於通過藍牙連接到硬體設備的應用程式。由於它本身不使用設備的藍牙,因此會出現一些連接問題和性能問題。
4. Flutter for Web
它不是 html。是的,即使是 web 版 flutter 也已正式發布,但是它不會撼動網際網路世界。市場上有許多簡單有效的庫來開發網站。當涉及到網站、頁面加載速度、seo、性能和一切都很重要時,flutter 很難通過簡單的 dart to js engine 來實現這些。
但現在判斷還為時過早。flutter 可能會拿出精彩的優化性能。讓我們敬請期待,在王叔的視頻里,對此類問題也做過闡述,地址在這兒。
flutter 可以做網站嗎|flutter web 勸退指南|從入門到放棄只需要幾分鐘
5. 平台特定的外觀和設計
material widgets 和 cupertino 小部件分別是 android 和 ios 應用程式的兩種不同的構建塊。在創建 flutter 應用程式時,您可以同時使用這兩個小部件,但是當我們為 ios 構建使用 material 小部件時,該應用程式缺乏原生的外觀和感覺。為了實現這兩個應用程式的原生外觀,我們應該檢查代碼中的平台並渲染特定的小部件,這是編碼和應用程式性能最差的部分。

6. 缺乏第三方集成
儘管 flutter 有 19k+ 的庫和插件,但它依舊缺少許多流行的庫和 sdk。目前正在開發許多包並遷移到 flutter。如果您要開發一個主要依賴第三方插件的應用程式,請檢查 sdk 的最新版本是否適用於 flutter。至於如何檢查,
此外,始終首選積極維護的存儲庫。
最後,flutter 並不總是很棒。事實是它無法一碗水端平。當然這只是決定把它放在哪裡的問題。flutter 依舊可以簡便,高效地使用。