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