Flutter 1.0 正式版: Google 的便攜 UI 工具包

簡(jiǎn)評(píng):所以 React-Native 和 Flutter 該怎么選?

在 10 個(gè)月前的 MWC 上,谷歌發(fā)布了 Flutter 的 Beta 版本,給跨平臺(tái)應(yīng)用開發(fā)帶來了一種全新的選擇,上周谷歌正式發(fā)布了 Flutter 1.0 。下面我們來看看官方對(duì) Flutter 的介紹吧。

Flutter 介紹

Flutter 并不是替代原生 iOS 和 Android 開發(fā)模式,相反,可以把 Flutter 理解為內(nèi)置的一個(gè)引擎,可以把這個(gè)引擎引入到現(xiàn)有的工程或者全新的工程中。

Flutter 有以下四個(gè)特點(diǎn):

  1. 精美。使用 Flutter 可以在屏幕上有像素級(jí)的控制,并近乎可以不受限制的堆疊任何圖形、視頻、文本和控件。Flutter 內(nèi)置了一系列的 widgets 可以在 iOS 和 Android 上實(shí)現(xiàn)極致的視覺體驗(yàn)。Flutter 最大程度的實(shí)現(xiàn)了 Material Design ,可構(gòu)建界面精美的應(yīng)用。

  2. 速度快。它基于 Skia 2D 硬件加速圖形引擎,該引擎也同樣用在了 Chrome 和 Android 平臺(tái)。Flutter 的代碼基于 Dart 平臺(tái),它可以被編譯成 iOS 和 Android 平臺(tái)上 32 位和 64 位的 ARM 代碼,媲美原生應(yīng)用的速度。

  3. 高效。Flutter 引入了 Stateful Hot Reload ,無需重新啟動(dòng)應(yīng)用,就可以在程序運(yùn)行的時(shí)候直接看到代碼修改之后的效果,Stateful Hot Reload 改變了開發(fā)者們編寫應(yīng)用的方式,開發(fā)者們?cè)谟脩舴答佒斜硎驹撎匦允归_發(fā)效率提升了三倍。

  4. 開放。Flutter 是基于 BSD-style 許可的開源項(xiàng)目,全球有數(shù)百位開發(fā)者為其貢獻(xiàn)代碼。Flutter 的插件生態(tài)系統(tǒng)平臺(tái)也充滿活力。有數(shù)千款插件已經(jīng)發(fā)布,避免了重復(fù)造輪子。由于 Flutter 使用標(biāo)準(zhǔn)的 Android 和 iOS 的編譯打包工具,因此它的開放還體現(xiàn)在可以使用原生開發(fā)資源。比如,同樣可以在 Android 上使用 Kotlin 或者 Java,在 iOS 上使用 Swift 或者 Objective-C 來寫邏輯或者界面。

Flutter 1.0 新功能

1.0 主要修復(fù) Bug 和提高穩(wěn)定性,接入Dart v1.2。同時(shí)有兩個(gè)新功能將隨 1.0 的預(yù)覽模式提供給開發(fā)者們。它們將會(huì)于 2019 年二月的季度更新中正式推出,兩個(gè)特性分別是:

現(xiàn)有工程接入 Flutter (Add to App)

使用 Flutter 不一定需要從零開始構(gòu)建整個(gè)應(yīng)用,也可以在現(xiàn)有的項(xiàng)目中通過 Flutter 添加新功能,或者一步步的將整個(gè)項(xiàng)目遷移到 Flutter。谷歌會(huì)持續(xù)改善這一體驗(yàn),可以在 wiki 查看現(xiàn)有的關(guān)于將 Flutter 引入應(yīng)用的文章,也可以在 GitHub 上關(guān)注他們接下里的進(jìn)展

平臺(tái)級(jí)視圖 (Platform Views)

上一個(gè)功能是將 Flutter 接入工程,這個(gè)功能相反,是將 Android 或者 iOS 原生平臺(tái)控件嵌入 Flutter 應(yīng)用中。谷歌引入了 AndroidView 和 UiKitView,可以分別把這兩個(gè)平臺(tái)的 widget 嵌入到對(duì)應(yīng)的平臺(tái)中,像 Google MapsWebView 已經(jīng)享受到這一特性帶來的好處了。

右下角的浮動(dòng)按鈕是一個(gè) 50% 透明度的 Flutter widget

不僅僅是移動(dòng)端

目前 Flutter 的首要平臺(tái)是 iOS 和 Android,同時(shí)也在探索拓展到手機(jī)端以外的更多平臺(tái)。

Flutter Desktop Embedding,這是一個(gè)使 Flutter 運(yùn)行于 macOS、Linux 和 Windows 等桌面操作系統(tǒng)的項(xiàng)目。

同時(shí)本周,谷歌內(nèi)部預(yù)覽了一個(gè)將極大拓展 Flutter 的運(yùn)行平臺(tái)的實(shí)驗(yàn)階段項(xiàng)目:

Hummingbird 是一個(gè)基于 Web 實(shí)現(xiàn)的 Flutter 運(yùn)行時(shí)環(huán)境。利用 Dart 平臺(tái)同時(shí)能被編譯成 JavaScript 的特性,這個(gè)項(xiàng)目讓 Flutter 應(yīng)用能夠毫無改動(dòng)地運(yùn)行在標(biāo)準(zhǔn) Web 平臺(tái)。

這里是關(guān)于 Hummingbird 的技術(shù)實(shí)現(xiàn)文章。

Flutter :我準(zhǔn)備好了,你呢?

原文鏈接:
Flutter 1.0: Google’s Portable UI Toolkit?developers.googleblog.com

推薦閱讀:
var 還是 Java 開發(fā)的好朋友呀

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容