Flutter 介绍

标签: Flutter 起步

Flutter 1.0 已经正式发布了,这是谷歌首个正式发布的跨平台移动端高性能UI 工具包。

如今的移动端开发充满了妥协。开发者要么为不同的操作系统开发多套客户端,要么使用一些不尽如人意的跨平台方式,获得一点点维护成本却牺牲了大量性能和用户体验。如今有了Flutter,Flutter团队相信他们可以给你世界上最好的移动端开发方式:硬件图像加速和用户界面,本机ARM代码执行,支持所有流行的移动端操作系统。


1.介绍Flutter

Flutter 并不会取代传统的Android和IOS开发。相反,她是一种app引擎,你可以嵌入到已有的项目中或者创建一个全新的app。

Flutter有以下四个特性:

  • 1.Flutter能创造漂亮的app。Flutter团队希望可以实现设计师所有天马行空的创意而不被框架禁锢手脚。Flutter可以让你控制屏幕上的每一个像素点,她强大的合成能力可以让你叠加任何动画、视频、文本和控件。Flutter包括了一套完整的Widgets可以在IOS和Andriod使用。并且她提供了一套完整的Material Design实现。
  • 2.Flutter速度是极快的。她是由Chrome和Andriod相同的底层图形引擎Skia2D构建而成。Flutter使用Dart语言开发,能够编译成原生32/64本机ARM代码在IOS和Android上运行。
  • 3.Flutter是可生产化的。革命性的热重载功能,让你无需不断的重启app,重复同样的操作点击进入子页面,修改代码UI即所得大大提升开发效率。在调查报告中,开发者声称提高了三倍开发效率。
  • 4.Flutter是开源的,有全世界数以百计的开发者贡献代码,并且拥有成千上万插件的丰富生态系统。因为Flutter App是原生程序,你可以使用标准的Android、IOS构建工具,通过系统底层访问任何你想要的东西,无论是Kotlin、Java、Swift、还是Object C编写的代码或UI。

接着选择一款IDE,Visual Studio Code, Android Studio, IntelliJ或其他喜欢的编辑器,你就可以开始撸IOS/Andriod原生应用了。


2.Flutter的前景

  • 在10个月前Flutter团队发布了第一个beta版,然后有幸见证了Flutter在社区的爆发式增长。远在1.0正式版发布之前,已经有上千款app上架Apple Store和Google Play。很显然开发者已经准备好了学习这种新的UI开发方式。
  • 在谷歌内部许多产品已经开始使用Flutter开发,Google Ads已经把他们的IOS/Andriod应用转换成Flutter应用。甚至在1.0发布之前,全球许多知名企业(阿里、腾讯等)已经开始开发或发布他们的Flutter App了。
  • 下面视频展示了自beta版以来,开发者发布的一些精彩应用:

视频地址


3.Flutter的目标

  • 目前Flutter的主要重心在Android和IOS,但目标远不于此。事实上从设计之初开发者们就把Flutter设计为灵活的UI工具包,可以让他在各个平台发光发热。
  • 一些平台的工作已经开展。Flutter Desktop Embedding 是一个仍在早期的项目,她的目的是让Flutter在桌面端操作系统也可以使用,包括Windows、Mac OS、Linux。这还有一篇最近还发布的 在树莓派使用Flutter 演示如何在不完整的桌面环境使用Flutter。
  • 本周在Flutter Live,首次前瞻了一个正在开发的实验性项目,显著的解释了Flutter的跨平台能力。

Hummingbird 是web版的Flutter运行时实现。归功于Dart语言的特性,不仅可以编译成ARM机器码,还可以编译成JavaScript。使得Flutter代码可以在标准网页中运行而不需要任何改变。

这里有一篇文章详细介绍 technical implementation details of Hummingbird.

当然移动端目前才是当务之急,你会在接下来几个月看见Flutter团队的大量投入。


4.结论

Flutter1.0已经正式发布,译者我也有近8年客户端开发经历,尝试过xamarin等解决方案体验过太多不尽如人意的效果。面对此次谷歌的新方案一下子就击中了我的内心,这简直就是应用界的Unity啊。有兴趣的朋友们赶快一起来学习这一项跨时代的新技术吧。

5.关于本教程

我会结合官方文档,翻译+自己的一些思考,尽量以新人入门的方式编写本教程。


本文由 巨应教程  原创出品,转载请标明出处。