Google Flutter 1.0正式發佈

        今天凌晨11點45分,在Flutter Live上,谷歌Flutter團隊宣佈推出Flutter 1.0,這是谷歌UI工具包的第一個穩定版本,用於從單個代碼庫爲iOS和Android創建美妙的原生體驗。



        今天的跨平臺移動開發充滿了妥協。開發人員不得不在爲多個操作系統多次構建相同的應用程序之間做出選擇,或者接受最低的公分母解決方案,以便在本機速度和準確性方面實現可移植性。通過Flutter,我們相信我們擁有一個解決方案,可以爲您提供兩全其美的優勢:硬件加速圖形和UI,由本機ARM代碼驅動,針對流行的移動操作系統。

關於Flutter

        Flutter不會取代傳統的Apple和Android應用程序模型來構建移動應用程序; 相反,它是一個應用引擎,您可以嵌入到現有的應用程序或用於一個全新的應用程序。
我們從四個維度考慮Flutter的特徵:

1、Flutter可以使你構建漂亮的應用程序

谷歌希望設計師能夠提供他們的全部創意願景,而不會因爲底層框架的限制而被迫降低成本。Flutter可讓您控制屏幕上的每個像素,其強大的合成功能可讓您無限制地疊加和動畫圖形,視頻,文本和控件。Flutter包含一整套小部件,可在iOS和Android上提供完美的像素體驗。它可以最終實現Material Design,這是Google的數字體驗開放式設計系統。

2、Flutter很快

它由支持Chrome和Android的硬件加速的Skia 2D圖形引擎提供支持。谷歌設計了Flutter,能夠以您設備的原生速度支持無毛刺,無抖動的圖形。Flutter代碼由世界級的Dart平臺提供支持,該平臺可以爲iOS和Android編譯爲本機32位和64位ARM代碼。

3、Flutter很有效率

Flutter引入了stateful hot reload(狀態熱重載),這是一種革命性的新功能,可供移動開發人員和設計人員實時迭代他們的應用程序。通過有狀態熱重新加載,您可以更改應用程序的代碼並立即查看結果,而無需重新啓動應用程序或丟失其狀態。有狀態的熱重新加載改變了開發人員構建應用程序的方式 - 在用戶調查中,開發人員說它使開發週期的效率提高了三倍。

4、Flutter是開源的。

Flutter是一個開源項目,擁有BSD風格的許可證,包括來自世界各地的數百名開發人員的貢獻。此外,還有一個充滿活力的數千個插件生態系統。因爲每個Flutter應用程序都是使用標準Android和iOS構建工具的本機應用程序,所以您可以從底層操作系統訪問所有內容,包括Android上用Kotlin或Java編寫代碼和UI,以及iOS上的Swift或Objective-C。
將它們放在一起,將它與Visual Studio Code,Android Studio,IntelliJ IDEA 或您選擇的程序員編輯器的一流工具相結合,您就擁有了Flutter —— 一個從單獨代碼庫爲Android或ios構建良好本地體驗的開發環境。

增長和勢頭

       谷歌在十個月前宣佈了Flutter在移動世界大會上的第一個測試版,我們很高興看到它被更廣泛的社區採用的速度有多快,正如已經發布到Apple和Apple的數千個Flutter應用程序所證明的那樣。甚至在1.0發佈之前,Google Play就存儲了。很明顯,開發人員已準備好採用新的UI開發方法。
       在Flutter團隊內部,Flutter正在Google上用於各種各樣的產品,谷歌廣告已經爲他們的iOS和Android應用程序切換到Flutter。甚至在1.0之前,包括Abbey Road Studios,阿里巴巴,Capital One,Groupon,Hamilton,京東,飛利浦Hue,Reflectly和騰訊 在內的廣泛全球客戶正在使用Flutter開發或發佈應用程序。
        來自Capital One團隊的高級工程總監邁克爾·瓊斯(Michael Jones)說,他們對Flutter的經歷如下:
        “我們對Flutter對高性能跨平臺開發的獨特見解感到興奮。我們的工程師對快速開發承諾和熱重載功能表示讚賞,在過去的一年中,我們看到了框架,特別是本機集成的巨大進步。
“Flutter可以讓Capital One想象不是'iOS或Android-first'時尚的功能,而是真正的移動優先模式。我們很高興看到Flutter 1.0並繼續對進步的速度和工程界的興奮。“

        在今天凌晨的Flutter Live活動中,受歡迎的支付服務廣場宣佈推出兩款新的Flutter SDK,可以輕鬆接受Flutter的商品和服務付款,無論是使用Square支付閱讀器還是在移動應用程序內付款。Square展示了使用來自Collins Family Orchards的應用程序支付SDK的示例,這是一個在太平洋西北地區農貿市場種植和銷售水果的家庭農場。


         Collins Family Orchards應用程序的開發人員Dean Papastrat對此有所瞭解:
         “我被生產構建中的所有動畫和轉換的速度所迷惑。作爲一名Web開發人員,過渡到Flutter非常容易,我無法相信我能夠構建一個完全正常運行的應用程序可以在一週內付款。“
         同樣在Flutter Live,2Dimensions宣佈即將推出Flare,這是一款非凡的新工具,可供設計師創建矢量動畫,可直接嵌入到Flutter應用程序中並使用代碼進行操作。Flare消除了在一個應用程序中設計,在另一個應用程序中設置動畫,然後將所有這些轉換爲特定於設備的資產和代碼的需要。
       使用Flare構建的動畫可以作爲窗口小部件嵌入到現有的Flutter應用程序中,允許它們參與完整的合成器並與其他文本,圖形圖層甚至UI小部件重疊。以這種方式集成可以將動畫從其他體系結構的“黑盒子”限制中解放出來,並允許設計人員和開發人員之間的持續協作直到應用程序完成。Flutter和Flare之間的這種緊密集成爲想要創造高度完美的移動體驗的數字設計師和動畫師提供了獨特的引人注目的產品。
       另一個打賭Flutter的合作伙伴是Nevercode這是一家快速增長的移動應用程序持續集成和交付(CI / CD)工具提供商。在Flutter Live,他們發佈了Codemagic,這是專爲Flutter設計的新工具,可以通過單一自動化輕鬆實現爲Android和iOS構建和打包Flutter應用程序的過程。Codemagic現已推出測試版,可讓您選擇包含Flutter項目的GitHub倉庫,只需點擊幾下,即可創建運行測試的持續構建流程,並生成可上傳到Apple和Google Play商店的二進制應用程序包。

Flutter1.0新功能

        自第一個測試版以來,我們一直致力於爲Flutter添加功能和潤色。特別是,我們通過新的小部件完善了對像素完美iOS應用程序的支持; 增加了對近二十種不同Firebase服務的支持; 並致力於提高性能並減少Flutter應用程序的大小。我們還根據社區的反饋結束了數千個問題。
        Flutter還包括最新版本的Dart平臺,Dart 2.1,提供更小的代碼大小,更快的類型檢查,以及更好的類型錯誤可用性。Dart 2.1還具有新的語言功能,可在構建用戶體驗時提高工作效率。已經採用Dart 2.1的開發人員告訴我們,只需切換到最新的引擎,他們就能看到顯着的速度提升:

雖然1.0版本的主要焦點是錯誤修復和穩定,但我們還推出了兩個主要新功能的預覽,供開發人員在預覽模式下試用,我們預計將在2019年2月的下一季度版本中發佈:添加到應用程序和平臺視圖。

添加到App

       當我們第一次構建Flutter時,我們專注於有人從頭開始構建新應用程序的生產力。但是,當然,並不是每個人都有能夠以乾淨的名義開始的奢侈品。與我們的一些大客戶交談時,很明顯他們希望將Flutter用於現有應用程序中的新用戶旅程或功能,或者將現有應用程序分階段轉換爲Flutter。
       Flutter的架構很好地支持這個模型:畢竟,每個Flutter應用程序都包含一個主機Android和iOS容器。但是我們一直在努力通過更新現有應用程序的模板,工具和指南來更容易地逐步採用Flutter。我們更容易在Flutter和主機代碼之間共享資產。我們還重新設計了工具,以便在不使用應用程序啓動調試器的情況下輕鬆連接到現有的Flutter流程。
我們將繼續努力使這一體驗更加美好。儘管許多客戶已經成功使用我們關於添加到應用程序的指南,但我們仍在繼續添加示例並擴展對複雜方案的支持。與此同時,我們將Flutter添加到現有應用程序的說明在我們的維基上,您可以跟蹤GitHub項目板上的剩餘工作。

平臺視圖Platform Views

       雖然添加到應用程序是一種將Flutter逐漸引入現有應用程序的有用方法,但有時反過來並將一個Android或iPhone平臺控件嵌入到Flutter應用程序中會很有用。
       因此,我們引入了平臺視圖小部件(AndroidView和UiKitView),讓您可以在每個平臺上嵌入此類內容。我們幾個月來一直在預覽Android支持,但現在我們正在擴展對iOS的支持,並開始添加利用此功能的 Google MapsWebView 等插件。

       與其他組件一樣,我們的平臺視圖小部件參與組合模型,這意味着您可以將其與其他Flutter內容集成。例如,在上面的屏幕截圖中,右下角的浮動操作按鈕是Flutter小部件,其背景顏色爲50%alpha。這充分展示了Flutter的獨特建築優勢。
雖然這項工作已經爲開發人員準備好了,但我們仍在繼續努力提高性能和設備兼容性,因此我們建議您在部署依賴於PlatformView的應用時要謹慎。我們將繼續積極優化平臺視圖,並期望它們能夠及時爲我們的下一季度更新做好準備。

超越移動端的Flutter

       到目前爲止,Flutter的主要目標是iOS和Android。然而,我們對Flutter的抱負不僅僅是從移動設備擴展到更廣泛的平臺。實際上,Flutter從一開始就被設計爲便攜式UI工具包,其靈活性足以在像素被繪製的任何地方進行。其中一些工作已在公開場合進行。Flutter Desktop Embedding是一個早期階段的項目,它將Flutter引入桌面操作系統,包括Windows,MacOS和Linux。我們最近還發布了在Raspberry Pi上使用Flutter的非正式細節,作爲向可能不包含完整桌面環境的小規模設備演示Flutter嵌入支持的一種方式。

      本週,在Flutter Live,我們第一次看到了我們正在實驗室中進行的實驗項目,該項目顯着擴展了Flutter可以運行的地方。
Hummingbird是Flutter運行時的基於Web的實現,它利用Dart平臺的功能不僅可以編譯本機ARM代碼,還可以編譯JavaScript。這使得Flutter代碼可以在基於標準的Web上運行而無需更改。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章