Flutter Live 2018 上,Google 宣布 Flutter 1.0 正式发布。这是谷歌首个稳定发布的用于为 iOS 和 Android 创建优美的原生体验的 UI 工具包。

当今跨平台移动开发充满了妥协。 开发者不得不在两种情况下做出选择: 要么为多个操作系统多次开发同一个应用程序,要么接受一个以牺牲性能换取跨端能力的解决方案。 有了Flutter之后,我们相信我们有了一个两全其美的解决方案: 图形和UI的硬件加速,由本地 ARM 代码驱动,针对两种流行的移动操作系统。

并不是用来取代传统的苹果和安卓手机应用程序模式; 相反,它是一个应用程序引擎,你可以嵌入到一个现有的应用程序或者开发一个全新的应用程序。

image2a
image2a

使用 Flare 构建的动画可以作为一个小部件嵌入到现有的 Flutter 应用程序中

Flare
Flare

自从第一个测试版发布以来,我们一直在努力为 Flutter 增加新的功能和亮点。 特别是,我们完善了pixel-perfect iOS apps iOS widgets支持; 添加了对近二十种不同 Firebase 服务的支持; 并致力于提高性能和减少 Flutter 应用程序的大小。 根据社区的反馈,我们也解决了数以千计的问题。

下面是Flutter 1.0的新特性:

  1. 1.0版本的主要焦点是 bug 修复和稳定性。Flutter 1.0 使用的是最新的 Dart 2.1。Dart 2.1 提供更小的代码体积,更快的类型检查和更好的诊断。按照 Google 的说法,Dart 2.1 将输出代码的大小减少了 17%,并将编译时间缩短了 15% 。Dart 2.1 还包含新的语言特性,例如通过新mixin关键字改进 mixin 支持、支持 int-to-double 的转换、编译时类型检查、新的 HTTP 状态码等等。
  2. Add to App 是一种逐步将现有应用移植到 Flutter 的方法,主要用于将 Flutter 用于现有应用,或者将现有应用分阶段转换为 Flutter 。
  3. platform views 则是一种相反的方式,用于将 Android 或 iPhone 平台的控件嵌入到 Flutter 应用。 可以把原生的视图控件嵌入到flutter app了
    image7a
    image7a

Google 还宣布了 Flutter 运行时基于 Web 的实验性实现 —— Hummingbird,旨在将 Flutter 应用引入浏览器。它利用 Dart 平台的特性不仅可以编译原生 ARM 代码,还可以编译 JavaScript 。这使得 Flutter 代码可以在基于标准的 Web 上运行而无需任何更改。

Hummingbird 可让 Flutter 覆盖更多平台,包括 Windows、macOS 和 Linux 。

1_M0ik7rqmkK1Cf0xB4iwbxg
1_M0ik7rqmkK1Cf0xB4iwbxg

puzzle_new_design2
puzzle_new_design2

随着 Flutter 1.0的发布,除了现有的 beta、 dev 和 master 通道之外,我们还建立了一个新的"稳定"通道。 稳定通道的更新次数少于其他通道,但我们对其质量有更高的信心,因为已经通过其他通道的审查。 我们预计,我们将更新我们的稳定通道每季度与我们的最战斗测试的构建。

Flutter channels:
  beta
* dev
  master
  stable

推荐大家使用stable分支。