Flutter是一個移動應用SDK,包含着完整的控件和工具鏈,可以讓開發者很是輕鬆地同時開發支持Android和iOS兩個平臺的應用。html
對於用戶,Flutter可以提供優美的UI和流暢的使用體驗。
對於開發者,Flutter下降了開發App的門檻,加速移動應用的開發速度,而且可以下降同時開發Android和iOS應用的成本和複雜度。
對於設計者,Flutter可以輕鬆作出原型而且可以保持至關高還原度。java
Flutter框架對於熟悉面向對象編程和命令編程的開發者門檻是至關低的,並不須要有移動應用的開發經驗,咱們已經見過編程經驗很少的人都能學習並使用Flutter開發應用。react
Flutter可以開發Android和iOS上2D(不支持3D)界面的移動應用。
你可使用Flutter開發具備全特性的應用(包含支持照相,定位,網絡鏈接,存儲,第三方SDK等等)。編程
Flutter是開源項目,由谷歌和社區的小夥伴在支持。網絡
谷歌在使用Flutter構建一些business-critical(業務相關的)移動應用,例如,谷歌的移動銷售工具應用就是使用Flutter開發的,還有Google Shopping Express的Store Manage應用,還有一些應用處於開發中。框架
Flutter跟大部分構建移動應用的技術或者框架不一樣的是,Flutter沒有使用WebView或者平臺自帶的控件,相反Flutter使用自身的高性能渲染引擎繪製本身的控件。
另外,Flutter僅僅只有小部分C++代碼,Flutter使用Dart實現了它自身大部分功能(控件,動畫,手勢,compositing等等)。這樣開發者可以容易閱讀,修改Flutter的實現,因此這裏提供開發者至關大的空間去控制整個框架並且顯著下降入門門檻。less
Flutter仍然處於開發當中,並且尚未到1.0版本。
Flutter的API已經開始穩定,而且咱們在根據用戶的反饋改進Flutter某些模塊。
Flutter正在谷歌內部使用,而且這些應用已經交付給用戶使用。
因此你本身決定吧,若是你成功使用Flutter開發應用,請務必告訴咱們團隊,咱們也會感到高興的。編輯器
咱們提供了IntelliJ IDEA插件,可以徹底支持Flutter的應用開發。
或者你可使用普通的編輯器搭配命令行工具開發。ide
Flutter提供了一系列高質量的Android風格和iOS風格控件,佈局和主題。固然,這些控件僅僅只是一個開端,Flutter自己就很是容易建立你本身的控件或者修改已存在的控件。工具
Flutter提供一系列的API幫你編寫單元和集成測試,瞭解更多。
咱們使用本身測試API去測試SDK,咱們每次的代碼提交都會生成一份測試覆蓋率報告。
咱們暫時還不支持這個功能。
Flutter由C, C++,Dart和Skia(2D渲染引擎)構建的,瞭解更多。
引擎的C或C++代碼是由Android NDK編譯的,而框架的主要代碼和應用的代碼由Dart compiler編譯成native code執行的。
引擎的C或C++代碼是由LLVM編譯的,而全部Dart的代碼會被AOT編譯成native code,整個APP運行時使用的是機器指令(並非攔截器)。
Flutter自身提供了一系列的控件,這都是由Flutter本身建立和繪製的。
若是咱們使用平臺提供的控件,整個應用的質量和性能就會被這些控件所限制(RN的缺點)。
因爲由於是由同一個渲染引擎渲染,這些控件不管在Android或者iOS上都能保持高度一致,無需當心翼翼佈局或者分出兩個CodeBase。
因爲使用的是同一種語言開發,這極大下降開發門檻和成本。
Flutter團隊會觀察Android和iOS平臺新控件的需求,並會打算與社區一塊兒構建支持這些新控件;這些工做可能會給框架帶來一些新的特性,一些新的控件或者控件新的實現。
Flutter自己自帶了許多控件,並且咱們鼓勵社區去構建本身的控件庫。
Flutter的插件系統一開始就被設計爲支持開發者本身去開發插件使用系統新功能的特性和能力,開發者無需等待Flutter團隊去開發插件暴露系統新的功能或特性。
Flutter支持Windows,Mac和Linux。
Flutter只能可以運行大部分Dart代碼(不能引入dart:mirrors或dart:html庫)
截止2017年6月,咱們測試Android平臺最小的Flutter應用(僅僅只有一個Center控件)大約爲6.7MB。
核心引擎 3.3MB
框架+應用代碼 1.26MB
LICENSE 55KB
java代碼(classes.dex) 40KB
ICU data 2.1MB