Google Flutter 一统移动、Web、桌面、嵌入式
尽管大洋彼岸正如火如荼的 Google I/O 向全世界宣告 Google All in 了 AI,但在国内开发者群体中最引爆的却是这样两点:
Kotlin First!Google 宣布 Kotlin 成为 Android 开发首选语言,两年前,Kotlin 成为与 Java 并存的 Android 开发一级语言,两年后的今天,Kotlin 已然越过 Java。
Flutter 迎来 1.5 版本,已实现支持移动(iOS、Android)、Web、桌面及嵌入式设备,Flutter 已然成为跨平台开发最强利器。
接下来,我们一起来看,Flutter 是如何实现一统江湖的。
在近日举行的 2019 Google I/O 开发者大会上,Google 推出了 Flutter 1.5。这是一个开源移动 UI 框架,可以帮助开发人员构建 Android 和 iOS 的原生界面。
不仅如此,如今这个框架还成为了一个多平台 UI 框架,能够支持 Web、桌面、移动甚至嵌入式设备。Flutter 所肩负的使命已经扩展到了“为所有设备开发出美好体验的首选框架”。
2017 年 5 月,Flutter 首次在 Google 的 I / O 开发者大会上与我们见面,最早的版本为 Alpha 版,而 1.0 版本最后于 2018 年 12 月问世。
为了与 Facebook 的 React Native 等框架竞争,Flutter 的设计目标是在获得原生移动应用的性能和平台集成度的同时,兼顾小型 UI 工具包带来的快速开发和跨平台能力。Flutter 的应用使用 Google 的 Dart 语言编写。
在过去的一年中,Flutter 团队一直在尝试将 Flutter 扩展到其他平台。其开发团队表示:“Google 内部的团队越来越依赖 Flutter,而且 Dart 平台提供轻便体验的潜力,所以我们才想做这样的尝试。”
其中一个 Flutter 团队全力以赴将 Flutter 引擎移植到标准的 Web(代号为 Hummingbird,蜂鸟)而一个团队则致力于支持桌面级应用程序,包括键盘和鼠标等输入,窗口大小调整,以及 Chrome OS 应用开发工具。
Flutter Web 版
Google 发布了 Flutter Web 版的第一个技术预览版,其设计目的是为了构建“高度互动,富含图形的网页”。
该团队会尽快改善代码,“尤其是会在改善性能上投入精力,并与其他 Flutter 项目协调代码库。”Google 希望开发人员率先尝试该框架,并提供反馈。
为了展示 Flutter Web 版,Google 与纽约时报合作,制作了一个益智游戏的演示。上图所示的数独游戏可以利用相同的代码,在 Android、iOS、Web 和 Chrome 操作系统上运行。
Flutter 桌面版:
Flutter 桌面版不再是一个实验项目,它已经演变成了 Flutter 引擎。虽然还不能用于生产环境,但是 Google 已经发布了一些指南,帮助在 Windows、Mac 和 Linux 上开发 Flutter 应用。
Flutter Web 版还处于技术预览阶段,同时,Flutter 集团产品经理 Tim Sneath 表示,Flutter 桌面版的开发很快就会完成。虽然两者都还没有正式支持生产部署,但是预计未来几个月里,该团队将加速这两方面的开发。
与此同时,Flutter Chrome OS 版的使用率一直在增长,无论是运行 Flutter 应用还是作为开发人员平台,因为它支持 Android 和 Linux 应用的执行。
你可以使用 Visual Studio Code 或 Android Studio 开发一个 Flutter 应用,然后就可以在 Chromebook 上测试和运行,而无需模拟器。你还可以将 Chrome OS 的 Flutter 应用发布到 Google Play 商店。
Flutter 嵌入式设备版:
最后,Google 还提供了面向其他设备的 Flutter 嵌入式功能。其团队已经发布了示例,演示了直接在 Raspberry Pi 等小型设备上运行 Flutter。Flutter 还有一个嵌入式 API,适用于汽车、家用电器以及其他设备的开发。
在 2019 Google I/O 大会上,Google 宣布了 Nest Hub Max。证明 Flutter 已经可以在智能显示器操作系统上运行。
该平台的一些 Google 特色的功能是由 Flutter 开发的,Google 智能助手团队计划“在未来几个月内”还要做进一步的扩展。目标是在今年内利用 Flutter 推动整体的系统 UI。
Flutter 移动设备版:
最后,Flutter 1.5 还包括“数百个响应开发人员反馈的更改”。有一些面向应用商店 iOS SDK 要求的更新,还有一些面向 iOS 和 Material 小部件的更新,新设备类型的引擎支持,以及 Dart 2.3 特色的 UI-as-code 新语言功能。
如果你已经安装了 Flutter,那么只需键入命令 flutter upgrade,就可以升级到最新版本。如果你还没有安装 Flutter,那么请分别按照 Windows、MacOS 或 Linux 的入门指南进行操作。
除了改进框架本身外,Google 还投资支持该框架的生态系统和软件包社区。在过去几个月中,Google 为 Web 视图、Google 地图和 Firebase ML Vision 提供了高质量的产品包。近日,Google 还添加了在应用内付款的初步支持。
在 2019 I/O 大会上,Google 重点展示了使用 Flutter 和 Firebase 构建的 ML Kit 自定义图像分类器。
这个工具包提供了一个非常易于使用的工作流程应用,可用于创建自定义图像分类模型。你可以通过手机的相机收集训练数据,并邀请其他人向你的数据集贡献素材,然后触发模型训练和使用经过训练的模型,所有这些功能都来自同一个应用。
在相关新闻中,Google 宣布将 The App Brewery 上 Flutter 的培训课程从 199 美元降至 10 美元(https://www.appbrewery.co/p/flutter-development-bootcamp-with-dart)。该课程包含 30 多个小时的 Flutter 开发讲解,包括视频、演示和实验。
2 月份,在发布 Flutter 1.2 的同时,Google 还推出了 Flutter Create,这项竞赛要求开发人员“使用 5K 以内的 Dart 代码,通过 Flutter 构建一些有趣、启发灵感和美丽的东西。”
Google 共计收到了 750 多个参赛作品,并于 2019 I/O 大会上宣布了获奖者——Zebiao Hu 赢得了 iMac Pro 的所有奖金。