一不小心入坑了Flutter
一、為什麼決定入坑Flutter
Flutter是Fuchsia的開發框架,是一套移動UI框架,可以快速在iOS、Android以及Fuchsia上構建高質量的原生使用者介面。 其使用的程式語言為Dart,是一門全新的語言。所以說,上手成本是比較高的,對於移動端開發人員,語言以及框架都是全新的,整個技術棧的積累也都得從頭開始。
對於這種高成本的學習,我為什麼決定入坑Flutter呢?其原因主要有兩個:
一是之前一直對跨平臺技術很感興趣,但當時由於時間原因和已有的跨平臺方案有很大的不足之處。所以一直猶豫不決也就遲遲沒有入手。
二是按照目前的趨勢來看,大前端是一種趨勢。畢竟對於一個企業來說,用一份人力來開發適用多個平臺的APP是很有價值的。作為一個Android開發者,為了讓自己更有競爭力,不被淘汰,需要擁抱這種變化。
對於大前端的趨勢,建議看一下剛哥的觀點與建議
ofollow,noindex">七分精力留給原生開發,剩下三分給大前端
總的來說,就是個人感覺Flutter的未來前景很好,雖然現在還不夠成熟。但我相信它的未來不是夢。憑什麼這麼自信[蜜汁自信?]可能是男人的直覺吧,求後期打臉[手動滑稽笑]。
二、詳細介紹Flutter
看一下它的特性:
- 快速開發:Flutter的熱過載可以快速地進行測試、構建UI、新增功能並更快地修復錯誤。
- 富有表現力,漂亮的使用者介面:自帶的Material Design和Cupertino(iOS風格)widget、豐富的motion API、平滑而自然的滑動效果。
- 響應式框架:使用Flutter的現代、響應式框架,和一系列基礎widget,輕鬆構建您的使用者介面。
- 訪問本地功能和SDK:Flutter可以複用現有的Java、Swift或ObjC程式碼,訪問iOS和Android上的原生系統功能和系統SDK。
- 統一的應用開發體驗:Flutter擁有豐富的工具和庫,可以幫助開發者輕鬆地同時在iOS和Android系統中實現想法和創意。
- 原生效能:Flutter包含了許多核心的widget,如滾動、導航、圖示和字型等,這些都可以在iOS和Android上達到原生應用一樣的效能。
最具有吸引力的就是統一的應用開發體驗,一套程式碼執行在多個平臺。以及它的熱過載。
其實讓我決定入手學Flutter的最後一根稻草就是看到了它的熱過載功能。就是在下面的視訊看到的。如果你對Flutter有點感冒,強烈建議你也看一下這個視訊,看完後你會對Flutter有不一樣的認知。
如果你實在不想看,那我就說一下熱過載是什麼吧?
什麼是熱過載?
您可以在Flutter應用程式執行時對其進行更改,重新載入應用程式的程式碼,將其從之前的操作位置繼續下去。一次熱過載通常用不到一秒鐘。 如果您的應用遇到錯誤,您通常可以修復錯誤,然後繼續,就像錯誤從未發生過。 即使你必須完全重新載入,它也是很快速的。
三、關於它的語言-Dart
Dart是谷歌開發的計算機程式語言,於2011年10月份釋出,可以被用於web、伺服器、移動端和物聯網等領域的開發。
- Dart是AOT(Ahead Of Time)編譯的,編譯成快速、可預測的原生代碼,使Flutter幾乎都可以使用Dart編寫;
- Dart也可以JIT(Just In Time)編譯,開發週期快;
- Dart可以更輕鬆地建立以60fps執行的流暢動畫和轉場;
- Dart使Flutter不需要單獨的宣告式佈局語言;
- Dart容易學習,具有靜態和動態語言使用者都熟悉的特性。
Dart最初設計是為了取代JavaScript成為web開發的首選語言,最後的結果可想而知,到Dart 2的釋出,專注於改善構建客戶端應用程式的體驗,可以看出定位的轉變。對應使用過Java、Kotlin的人,都可以很快的上手Dart。