# Flutter App开发介绍
## 关于Flutter
flutter1.0在18-12-5日凌晨两点发布,代表着此技术在实际应用中已经成熟。
flutter是一个应用引擎,不是取代传动的ios、android应用程序开发模型来构建移动应用程序。
相反的,可以使用它来嵌入到现有的应用程序或用它来开发一个全新的应用程序。
### Flutter可以制作漂亮的应用程序
使用flutter可以控制屏幕上的每一个像素,强大的合成功能可以无限制的叠加图形和动画、视频、文本、控件。
除此之外,flutter提供了一整套的UI小部件,可在iOS和Android上提供完美的像素体验。它可以最终实现Material Design,这是Google的数字体验开放式设计系统。
### Flutter很快
底层采用支持硬件加速的Skia 2D图形引擎,Dart开发的代码可以编译为AOT二进制原生本地代码能够是的设备以原生速度支持无毛刺、无抖动的图形。
Flutter代码由世界级的Dart平台提供支持,该平台可以为iOS和Android编译为本机32位和64位ARM代码。
### Flutter开发效率高
Flutter引入了stateful hot reload(状态热重载),底层是Dart支持的JIT编译(解释执行),这是一种革命性的新功能,可供移动开发人员和设计人员实时迭代他们的应用程序。通过有状态热重新加载,您可以更改应用程序的代码并立即查看结果,而无需重新启动应用程序或丢失其状态。有状态的热重新加载改变了开发人员构建应用程序的方式。开发同样一个APP,采用Flutter会比原生开发使开发周期的效率提高了二到三倍。
Flutter与Visual Studio Code,Android Studio,IntelliJ IDEA 或您选择的程序员编辑器的一流工具相结合,您就拥有了Flutter —— 一个从单独代码库为Android或ios构建良好本地体验的开发环境。
![](http://upload-images.jianshu.io/upload_images/6098829-0d127c7ad029bb1b?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://ws3.sinaimg.cn/large/006tNbRwly1fxy84lkofuj31mb0u0x0j.jpg)
### Flutter是开源的
- BSD许可证。
- Flutter生态已有数千个开源插件
## 增长势头
在Flutter团队内部,Flutter正在Google上用于各种各样的产品,谷歌广告已经为他们的iOS和Android应用程序切换到Flutter。甚至在1.0之前,包括Abbey Road Studios,阿里巴巴,Capital One,Groupon,Hamilton,京东,飞利浦Hue,Reflectly和腾讯 在内的广泛全球客户正在使用Flutter开发或发布应用程序。
测试版发出到目前为止,Apple Store中已经上架数千个Flutter移动应用。
## Flutter1.0新功能
### Flare
![](http://upload-images.jianshu.io/upload_images/6098829-812722cc5ba36926?imageMogr2/auto-orient/strip)
2Dimensions宣布即将推出Flare,这是一款非凡的新工具,可供设计师创建矢量动画,可直接嵌入到Flutter应用程序中并使用代码进行操作。Flare消除了在一个应用程序中设计,在另一个应用程序中设置动画,然后将所有这些转换为特定于设备的资产和代码的需要。
使用Flare构建的动画可以作为窗口小部件嵌入到现有的Flutter应用程序中,允许它们参与完整的合成器并与其他文本,图形图层甚至UI小部件重叠。以这种方式集成可以将动画从其他体系结构的“黑盒子”限制中解放出来,并允许设计人员和开发人员之间的持续协作直到应用程序完成。Flutter和Flare之间的这种紧密集成为想要创造高度完美的移动体验的数字设计师和动画师提供了独特的引人注目的产品。
![](https://www.2dimensions.com/static/1960/images/flare_macbook.png)
### Codemagic
可以通过单一自动化轻松实现为Android和iOS构建和打包Flutter应用程序的过程。Codemagic现已推出测试版,可让您选择包含Flutter项目的GitHub仓库,只需点击几下,即可创建运行测试的持续构建流程,并生成可上传到Apple和Google Play商店的二进制应用程序包。
![](https://codemagic.io/img/dashboard.png)
### Dart2.1
平台更新至最新的Dart2.1版本,更快的类型检查,更好的类型错误提示,更快的运行速度。
Flutter1.0版本主要的更新内容是,错误修复、稳定性。
### 正在研发可以试用的技术:
- 把Flutter集成到已有的APP应用中,可以逐步替换原有功能
- 集成平台已有的视图组件到Flutter界面中,引入了平台视图小部件(AndroidView和UiKitView),让您可以在每个平台上嵌入IOS、Android的组件。
![](http://upload-images.jianshu.io/upload_images/6098829-5cffd569aefc77ac?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
## 超越移动端
到目前为止,Flutter的主要目标是iOS和Android。然而,我们对Flutter的抱负不仅仅是从移动设备扩展到更广泛的平台。实际上,Flutter从一开始就被设计为便携式UI工具包,其灵活性足以在像素被绘制的任何地方进行。
- Flutter Desktop Embedding,Flutter构建的界面可以直接打包编译为windows、MacOS、Linux、树莓派等平台的原生应用。
- Hummingbird(蜂鸟),Hummingbird是Flutter运行时的基于Web的实现,它利用Dart平台的功能不仅可以编译本机ARM代码,还可以编译JavaScript。这使得Flutter代码可以在基于标准的Web上运行而无需更改。
![](https://upload-images.jianshu.io/upload_images/6098829-86e8fe84c10b4ae8.gif?imageMogr2/auto-orient/strip)