专栏名称: Android_开发者
51好读  ›  专栏  ›  Android_开发者

Flutter 1.0 正式版: Google 的便携 UI 工具包

Android_开发者  · 掘金  · android  · 2018-12-05 09:40

正文

阅读 135

Flutter 1.0 正式版: Google 的便携 UI 工具包

文 / Tim Sneath,Google Dart & Flutter 产品组产品经理

今天我们非常高兴的宣布,Flutter 的 1.0 版本正式发布!Flutter 是 Google 为您打造的 UI 工具包,帮助您通过一套代码同时在 iOS 和 Android 上构建媲美原生体验的精美应用!

如今,移动开发者们在同时兼容 iOS 和 Android 时有两种选择:走原生开发路线,把界面和逻辑在不同平台分别实现;抑或用同一套代码兼容多个平台,但这往往意味着运行速度和产品保真度的损失。我们坚信,Flutter 为您提供了一套两全其美的解决方案——既能用原生 ARM 代码直接调用的方式来加速图形渲染和 UI 绘制,又能同时运行在两大主流移动操作系统上。

「正式」向您介绍 Flutter

Flutter 并不是要替代原生应用开发模式,您可以用 Flutter 开始一个全新的应用,也可以把 Flutter 理解为应用内置的一个引擎,把这个引擎引入到现有的工程里。

让我来从以下 四个特点 为您介绍 Flutter:

  1. Flutter 可以帮助您构建界面 精美 的应用。我们希望设计师们都能充分发挥自己的想象,尽情施展精美绝伦的创意,而不受框架局限性的干扰。通过 Flutter,您可以在屏幕上有像素级的掌控。Flutter 强大的图像组合能力让您近乎可以不受限制的堆叠任何图形、视频、文本和控件。Flutter 内置了一系列的 widgets (在 Flutter 里,几乎所有内容都是 widget),这些 widgets 可以帮助您在 iOS 和 Android 上实现极致的视觉体验。Flutter 集成并有最大程度的实现了 Material Design —— 这是 Google 为数字体验所创作的开放的设计系统。

  2. Flutter 的另一个特点的 速度快 。它基于 Skia 2D 硬件加速图形引擎,该引擎也同样用在了 Chrome 和 Android 平台。媲美原生应用的速度,这是我们在构建 Flutter 时的初心。Flutter 的代码基于 Dart 平台,它可以被编译成 iOS 和 Android 平台上 32 位和 64 位的 ARM 代码。

  3. Flutter 非常 高效 。Flutter 引入了 Stateful Hot Reload(保持应用状态的热重载),这个革命性的新特性可以让移动开发者和设计师们实时迭代应用程序。通过 Stateful Hot Reload,无需重新启动应用,你就可以在程序运行的时候直接看到代码修改之后的效果,Stateful Hot Reload 改变了开发者们编写应用的方式。在我们的用户反馈中,开发者们表示该特性使得开发效率提升了三倍。

  4. 最后,Flutter 是 开放 的。Flutter 是一个基于 BSD-style 许可的开源项目,全球数百位开发者在为其贡献代码。Flutter 的插件生态系统平台也充满活力。有数千款插件已经发布,避免了重复造轮子。由于 Flutter 应用程序使用标准的 Android 和 iOS 的编译打包工具 (build tools),因此它的开放还体现在您可以使用原生开发资源。比如,您同样可以在 Android 上使用 Kotlin 或者 Java,在 iOS 上使用 Swift 或者 Objective-C 来写逻辑或者界面。

结合以上这些,再加上您顺手的开发工具,比如 Visual Studio Code、Android Studio、IntelliJ 或其他您青睐开发者编辑器,您就可以开始使用 Flutter 体验一套代码同时在 iOS 和 Android上实现原生应用效果的乐趣了。

Flutter 势头正旺

在 10 个月前的世界移动大会 (MWC) 上,我们发布了 Flutter 的第一个 Beta 版本 ,在正式版本尚未推出之前,已经有成百上千的基于 Flutter 开发的应用在 Apple Store 和 Google Play 上架,很显然,广大的开发者们也已经准备好迎接这种全新的 UI 开发方式了。

在 Google 内部,Flutter 已经被广泛用于多个产品,比如 Google Ads 已经将其产品的 iOS 版本和 Android 版本转向使用 Flutter。在正式版本之前,全世界已经有多个公司开始使用 Flutter 来开发应用,包括 Abbey Road Studios、阿里巴巴、Capital One、Groupon、Hamilton、京东、Philips Hue、Reflectly 以及腾讯等。

Capital One 团队的高级工程总监 Michael Jones 对于 Flutter 提到了如下的使用心得:

“我们对于 Flutter 所带来的高效的跨平台开发体验感到十分兴奋。我们的工程师对其中的快速开发和 hot reload 给予了极高的评价。而且在过去的一年里,我们也看到了整体平台巨大的变化,尤其是和原生系统深度集成的效果。”

“Flutter 使 Capital One 研发团队摆脱了 iOS 优先还是 Android 优先的固定思维,而是真正的移动端优先的开发模式。非常高兴能看到 Flutter 1.0 的发布,并且也对 Flutter 如此快速的发展和开发者社区所迸发的热情所感动。”

  • 注: Capital One 是美国十大银行之一,《财富》世界 500 强企业。

在今天的 Flutter Live 活动中,知名的支付服务商 Square 正式公布了两个全新的 Flutter SDK 。它们可以更加简化基于 Flutter 的支付操作和服务,无论是使用 Square 支付识读器直接支付还是使用手机应用进行支付。Square 演示了一款基于它们的支付 SDK 所开发的应用。该应用来自 Collins Family Orchards,这是一家在太平洋西北部种植和销售水果的家族农场。

Collins Family Orchards 应用的开发者 Dean Papastrat 认为:

“应用在生产环境下的动画流畅度和页面的切换速度真的让我大开眼界。作为一个 Web 开发者,上手使用 Flutter 非常简单。真的没想到能够在短短的一周时间就完成了一个能够实现完整功能的应用。”

同样是在今天的 Flutter Live 活动上,2Dimensions 宣布了一款全新的工具 Flare ,该工具可以将矢量动画直接嵌入到 Flutter 应用中,并且用代码来控制。Flare 打破了传统的模式,无需再单独开发应用和动画,然后再转换成设备资源和代码。







请到「今天看啥」查看全文