副標題《理性對待 Flutter》
作者:堅果
在建立 iOS 和 Android 應用程式時,通常會推薦使用 Flutter,因為使用它更加簡單高效。正是由於 Flutter 的諸多優勢,它在許多情況下都是行動應用程式的絕佳候選者。它的效能、邏輯架構和文件都備受推崇。國內的社群也非常活躍,但在某些情況下,Flutter 可能並不是最適合的。這就是我們將在本篇部落格中看到的內容。讓我們來看一些場景..
1. 當你的專案依賴於特定裝置和平台的主要函式庫時
如果您的專案需要 Wear OS 版本或智慧電視應用程式,您會遇到一些問題。你可以在技術上為這些平台建構一個 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 依舊可以簡便,高效地使用。