發表日期:2018-12 文章編輯:小燈 瀏覽次數:2433
前言
Flutter1.0穩定版于2018年12月5號的終于發布了。我們為此感到高興。對于開發者來說,有了穩定版相當于一個定心丸。本文主要介紹Fllutter1.0的一些功能和相關工具。
系列博文鏈接:
Flutter基礎篇(1)-- 跨平臺開發框架和工具集錦
Flutter基礎篇(2)-- 老司機用一篇博客帶你快速熟悉Dart語法
Flutter基礎篇(3)-- 老司機用一篇博客帶你快速熟悉Dart語法
Flutter基礎篇(4)-- Flutter填坑全面總結
Flutter基礎篇(5)-- Flutter代碼模板,解放雙手,提高開發效率必備
Flutter基礎篇(6)-- 水平和垂直布局詳解
Flutter進階篇(1)-- 手把手帶你快速上手調試Flutter項目
Flutter進階篇(2)-- Flutter路由詳解
Flutter進階篇(3)-- Flutter 的手勢(GestureDetector)分析詳解
Flutter進階篇(4)-- Flutter的Future異步詳解
北京時間12月5號凌晨11點45分,在Flutter Live,谷歌Flutter團隊宣布推出Flutter 1.0,這是谷歌UI工具包的第一個穩定版本,用于從單個代碼庫為iOS和Android創建美妙的原生體驗。
今天的跨平臺移動開發充滿了妥協。開發人員不得不在為多個操作系統多次構建相同的應用程序之間做出選擇,或者接受最低的公分母解決方案,以便在本機速度和準確性方面實現可移植性。通過Flutter,我們相信我們擁有一個解決方案,可以為您提供兩全其美的優勢:硬件加速圖形和UI,由本機ARM代碼驅動,針對流行的移動操作系統。
1、關于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構建良好本地體驗的開發環境。
2、增長和勢頭
谷歌在十個月前宣布了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商店的二進制應用程序包。
我們整理了一個簡短的視頻,以突出開發人員自測試版以來使用Flutter構建的應用程序的范圍和種類:
點此進入B站查看視頻鏈接
3、Flutter1.0新功能
自第一個測試版以來,我們一直致力于為Flutter添加功能和潤色。特別是,我們通過新的小部件完善了對像素完美iOS應用程序的支持; 增加了對近二十種不同Firebase服務的支持; 并致力于提高性能并減少Flutter應用程序的大小。我們還根據社區的反饋結束了數千個問題。
Flutter還包括最新版本的Dart平臺,Dart 2.1,提供更小的代碼大小,更快的類型檢查,以及更好的類型錯誤可用性。Dart 2.1還具有新的語言功能,可在構建用戶體驗時提高工作效率。已經采用Dart 2.1的開發人員告訴我們,只需切換到最新的引擎,他們就能看到顯著的速度提升:
雖然1.0版本的主要焦點是錯誤修復和穩定,但我們還推出了兩個主要新功能的預覽,供開發人員在預覽模式下試用,我們預計將在2019年2月的下一季度版本中發布:添加到應用程序和平臺視圖。
4、添加到App
當我們第一次構建Flutter時,我們專注于有人從頭開始構建新應用程序的生產力。但是,當然,并不是每個人都有能夠以干凈的名義開始的奢侈品。與我們的一些大客戶交談時,很明顯他們希望將Flutter用于現有應用程序中的新用戶旅程或功能,或者將現有應用程序分階段轉換為Flutter。
Flutter的架構很好地支持這個模型:畢竟,每個Flutter應用程序都包含一個主機Android和iOS容器。但是我們一直在努力通過更新現有應用程序的模板,工具和指南來更容易地逐步采用Flutter。我們更容易在Flutter和主機代碼之間共享資產。我們還重新設計了工具,以便在不使用應用程序啟動調試器的情況下輕松連接到現有的Flutter流程。
我們將繼續努力使這一體驗更加美好。盡管許多客戶已經成功使用我們關于添加到應用程序的指南,但我們仍在繼續添加示例并擴展對復雜方案的支持。與此同時,我們將Flutter添加到現有應用程序的說明在我們的維基上,您可以跟蹤GitHub項目板上的剩余工作。
5、平臺視圖Platform Views
雖然添加到應用程序是一種將Flutter逐漸引入現有應用程序的有用方法,但有時反過來并將一個Android或iPhone平臺控件嵌入到Flutter應用程序中會很有用。
因此,我們引入了平臺視圖小部件(AndroidView和UiKitView),讓您可以在每個平臺上嵌入此類內容。我們幾個月來一直在預覽Android支持,但現在我們正在擴展對iOS的支持,并開始添加利用此功能的 Google Maps 和 **WebView **等插件。
與其他組件一樣,我們的平臺視圖小部件參與組合模型,這意味著您可以將其與其他Flutter內容集成。例如,在上面的屏幕截圖中,右下角的浮動操作按鈕是Flutter小部件,其背景顏色為50%alpha。這充分展示了Flutter的獨特建筑優勢。
雖然這項工作已經為開發人員準備好了,但我們仍在繼續努力提高性能和設備兼容性,因此我們建議您在部署依賴于PlatformView的應用時要謹慎。我們將繼續積極優化平臺視圖,并期望它們能夠及時為我們的下一季度更新做好準備。
6、超越移動端的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上運行而無需更改。
當然,移動端仍然是我們的當務之急,您可以期待在未來幾個月內看到谷歌對這些核心移動方案的大部分研發成果。
日期:2018-10 瀏覽次數:7248
日期:2018-12 瀏覽次數:4322
日期:2018-07 瀏覽次數:4870
日期:2018-12 瀏覽次數:4169
日期:2018-09 瀏覽次數:5492
日期:2018-12 瀏覽次數:9916
日期:2018-11 瀏覽次數:4799
日期:2018-07 瀏覽次數:4574
日期:2018-05 瀏覽次數:4853
日期:2018-12 瀏覽次數:4318
日期:2018-10 瀏覽次數:5134
日期:2018-12 瀏覽次數:6207
日期:2018-11 瀏覽次數:4455
日期:2018-08 瀏覽次數:4587
日期:2018-11 瀏覽次數:12625
日期:2018-09 瀏覽次數:5573
日期:2018-12 瀏覽次數:4826
日期:2018-10 瀏覽次數:4181
日期:2018-11 瀏覽次數:4523
日期:2018-12 瀏覽次數:6058
日期:2018-06 瀏覽次數:4003
日期:2018-08 瀏覽次數:5431
日期:2018-10 瀏覽次數:4454
日期:2018-12 瀏覽次數:4518
日期:2018-07 瀏覽次數:4356
日期:2018-12 瀏覽次數:4496
日期:2018-06 瀏覽次數:4376
日期:2018-11 瀏覽次數:4370
日期:2018-12 瀏覽次數:4244
日期:2018-12 瀏覽次數:5276
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.