Android系統做爲全球第一大系統,基於 Java 開發的移動端有着諸多的性能優點。 2018年前 H5 的性能瓶頸和 RN 的停更 致使業界對跨平臺開發失去信心。 直到2018年10月Google推出首個 Flutter 跨平臺解決方案,打破整個移動開發的方向。前端
在 Flutter 界面渲染過程分爲三個階段:佈局、繪製、合成,佈局和繪製在 Flutter 框架中完成合成則交由引擎負責。android
以前,Google發佈了Flutter前端框架的1.0版本。有同窗要問,Flutter是什麼東東?Flutter是Google基於Dart語言的一款前端框架,目前能夠在Android和iOS平臺進行編譯運行,其運行效率能夠媲美原生應用,這也是區別於JS類跨平臺框架,如weex、Taro、React Native等的最大優點,同時,Dart語言最先也是Google發佈出來想要改進JS的語言,因此Dart to JS是不成問題的。據悉,Flutter接下來也是要經過編譯爲JS打通Web端開發的。至此,Flutter不但能夠跨主流移動操做系統iOS和Android,還能夠經過瀏覽器和相似PWA的應用,打通主流桌面操做系統Windows、MacOS和Linux。程序員
Google已經研發兩年多的,最新打算用來取代Android的移動操做系統Fuchsia OS,根本前端就是用Flutter框架寫的,若是Fuchsia系統發佈,那Flutter和Dart必定是一躍成爲首選前端編程語言和框架,只是苦了廣大程序員,又有新東西要學了……面試
還有就是Google的Go語言增加勢頭迅猛,伴隨其媲美C++的效率、極簡的服務器併發編程、高效的服務器運行效率和現代化的編程特性和方式,國內外大部分公司都對其進行了應用,用來取代以前的一些接口和服務器應用。其中Docker就是最著名的例子。而Go語言早已突破1.x階段,正穩步邁向2.0階段。編程
咱們能夠清晰地看到Google的佈局和野望,Dart主攻前端和移動端,Go主攻服務器端。先後端通吃,不一樣於微軟的C#和蘋果的OC和Swift,Google的佈局彷佛更加全面,應用和影響也更加普遍。Google統一先後端開發江湖的野望也會在必定程度上實現,至少,開源的語言和有實力的靠山公司,會比別家實現的好。後端
一、若是咱們之後想在Google的新系統上跑程序的話, 用Flutter來編寫是必定沒錯的. 固然最近的報導顯示, Fuschia原生支持ART, 所以Android程序應該也能夠. 不過直接上Flutter我認爲更好.瀏覽器
二、Flutter用Dart, 學習Flutter的同時會使咱們掌握一門新的語言. 買一送一.前端框架
三、Flutter天生支持iOS風格的控件, 稱爲Cupertino, 這樣咱們能夠一套設計, 一套code跑在兩個系統上.服務器
四、學習Flutter的過程會改變手機端app開發的思惟. 畢竟這個親只有一個activity. 全程跟個遊戲引擎同樣. 60幀每秒繪圖.weex
五、Hot reload. 極大地加速了咱們的開發效率. 試過了, 絕對會愛上它.
六、Flutter提供method channel給Android和iOS. 其實咱們能夠只用Flutter來開發UI. 其餘底層邏輯能夠封裝Android和iOS分別的lib package. 而後直接Rx封裝寫回method channel. 也是一種新的開發模式.
七、性能更好, 兼容性更好, 開發起來更有樂趣, 這纔是程序員的人生. 而Flutter都能知足.
如何學習Flutter: http://www.javashuo.com/article/p-anrgiulg-br.html
從目前的狀況和節奏來看,此次 Google 是認真的,承前啓後的爲它的下一代操做系統 Fuchsia 提早鋪了路! 因此,我仍是建議,日常你沒事的時候能夠開始學習了,等到真正成熟的時候,你就會一馬平川的。不知道,你看好 Flutter 嗎?歡迎你在文章底下留言交流見解。
一份完整的Android Studio搭建Flutter教程
若是對技術開發比較感興趣,能夠關注個人公衆號:終端研發部,id:codeGoogler