開源無止境,谷歌新的移動UI框架—Flutter落地

谷歌發布的新的移動UI框架—Flutter已經成功落地,這是一個開源的移動應用程序SDK,具有自己的框架,小部件和工具。Google希望Flutter能夠在Android、iOS甚至是Google Fuschia等所有平台上構建和部署「漂亮的移動應用」,從而使開發人員更輕鬆,更有效率。

雖然Flutter還處於開發階段,但有很多功能讓人印象深刻:

重新優化,移動優先、支持文字的2D渲染引擎

Functional-reactive框架

豐富的Android和iOS小部件

用於單元和集成測試的API

Interop和插件API連接到系統和第三方SDK

用於在Windows,Linux和Mac上運行測試的Headless test運行器

用於創建,構建,測試和編譯應用程序的命令行工具

現代優雅

到現在,Flutter的創建已經經歷了一段時間,幾年前,Flutter的背後想法是來自一群Google工程師的好奇心。網站上是這麼描述的:

早在2014年,谷歌的一些工程師向後思考:現代的mobi-first渲染引擎是什麼樣的?不用擔心後向兼容性,桌面問題或遺留的限制,於是他們開始編寫Sky,並進行了一些初步的性能測試,之後他們決定將這個實驗發展成為一個真正的項目,並將其重命名為Flutter。在2015年,Google內部的團隊開始在Flutter上構建應用程序,於是flutter.io網站誕生了。

Flutter的指導原則很簡單。他們專註於:

控制 - 開發人員應該訪問和控制系統的所有層。

性能 - 用戶應該擁有完美的流暢,響應迅速的應用程序。

保真 - 每個人都應該有精準,美觀,愉快的移動應用體驗。

聽起來很簡單,對吧?但是他們是怎麼做的呢?

React + Dart = Flutter

Flutter是React和Dart最好的混合物。Dart是一種現代化的靜態類型的編程語言,可以編譯成JavaScript在手機上運行。Dart是一個優雅的全堆棧語言,所以Google以自己的語言發布移動SDK並不奇怪。

那麼,Flutter從React那裡有獲得了什麼呢?Flutter的架構很明顯的是受到了React的啟發,仍然運行在「write once, run anywhere」模式中。此外,React沒有自己內置的UI小部件庫,而Flutter在這一方面就是一個創新。

Flutter還做了一些完全不同的事情,它不會將JavaScript或HTML應用程序作為原生移動應用程序運行,也不會為Android和iOS創建單獨的原生應用程序。據David Ford表示:

Flutter是從頭開始重新發明自己的UI組件庫。這些組件是使用平台的低級圖形繪製的。因此,Flutter的UI組件不是html元素,也不是原生的Android / iOS小部件,他們是Flutter小部件。他們具備可插拔的外觀,所以他們可以看起來像iOS原生部件或Android原生部件。

此外,Flutter是不同的,它實現了Dart中的大部分系統,UI的編碼方式與應用程序的其餘部分相同,保持簡單,降低了錯誤的機會。


推薦閱讀:

2017年轉行學UI設計還有沒有前途?
Design in Singapore 篇一
轉 | 關於設計規範的資源、鏈接、參考和文章
GUI 常用元素中英對照表 / 7. Action Popup

TAG:用戶界面設計 |