Flutter系列(一)——簡單初識Flutter

1460000016930077?w=750&h=400

Flutter背景

Flutter: Google 用以幫助開發者在 iOS 和 Android 兩個平臺開發高質量的原生應用的全新移動 UI 框架。並在2018年2月的世界移動大會上發佈Flutter的第一個bata版本。

到目前爲止Flutter的版本幾乎天天都在更新,並從GitHub上咱們看到Flutter已經不只支持iOS or Android這兩端了,並且也支持了macos,Linux、Windows這些平臺。

目標

爲了解決移動開發中的兩個重要問題:其一是實現原生應用的性能和與平臺的集成,其二是提供一個多平臺,
可移植的 UI 工具包來支持高效的應用開發,write once, run erveryWhere!

現狀

當下,已經有不少跨平臺的解決方案,例如以前基於WebView的Cordova等,
還有如今經常使用的hybrid混合開發模式渲染成原生控件的React Native、Weex等。

可是,hybrid模式方案是採用HTML+js+css的UI構建邏輯,可是最終會生成對應的自定義原生控件,
將框架和App開發者綁在了系統的控件系統上,不只框架自己須要處理大量平臺相關的邏輯,
隨着系統版本變化和API的變化,開發人員還可能也須要處理不一樣平臺的差別。

優點

Flutter則開闢了一種全新的思路,從頭至尾重寫一套跨平臺的UI框架,包括UI控件、渲染邏輯甚至開發語言。
渲染引擎依靠跨平臺的Skia圖形庫來實現,依賴系統的只有圖形繪製相關的接口,能夠在最大程度上保證不一樣平臺、不一樣設備的體驗一致性;
邏輯處理使用支持AOT的Dart語言,執行效率也比JavaScript高得多;(Dart同系列三...)

咱們經常使用的VS code idea也集成了Flutter的工具包,也提高了開發效率。

缺點

Flutter的缺點就是還處於早期階段,咱們看到Google團隊6小時前還在提交代碼,也一直爲之努力。
固然開發Flutter應該也只能使用Dart語言,而Dart語言也是面向對象的,也很容易上手。
何況,學習一種新的語言,頗有成就感,不是嗎?!

Flutter的初衷就是追求高性能的UI交互效果的場景,針對Android平臺,並且能夠實現動態化部署,
而iOS因爲Apple的限制,在iOS上實現動態化部署有必定難度。
相關文章
相關標籤/搜索