全平台制霸:Flutter实现Windows应用支持

发表时间: 2020-09-25 11:12

Flutter 作为跨平台开发利器,一经推出便在业内赢得了不错的口碑。Flutter 最初是应用于 iOS 和 Android 应用开发的,后扩展到了 Web、macOS 和 Linux,现如今也可以开发 Windows 应用了,补齐了全平台的最后一块拼图。

Flutter 作为谷歌出品的 UI 框架,凭借“多端一致”和“渲染性能”两方面的优势,深受广大开发者的推崇。谷歌曾表示 Flutter 的目标是提供一个可移植的框架,从而在各种平台上都能构建以原生速度运行的 UI。这也意味着,在谷歌眼中,Flutter 不止于跨平台开发,而是全平台制霸。

今年 7 月 8 日谷歌发布了 Flutter 在 Linux 上的第一个 Alpha 版本。而现在,谷歌宣布 Flutter 在 Windows 上的 Alpha 版本正式发布。

对于仅 Windows 10 就有超过 10 亿安装量的桌面操作系统来说,Flutter 的这个版本已经让人等了很久了。Flutter 的 Alpha 版最初于 2017 年在谷歌的 I/O 开发者大会上发布,将近一年后发布了 Beta 版。Flutter 最初是为 Android 和 iOS 应用开发而设计的,但此后已扩展到了 Web、macOS 和 Linux 几大平台上,目前这些平台的分支都处于 Alpha 或 Beta 版本状态。

开发人员在为桌面或移动设备设计应用时,必须考虑很多平台专属的独特因素,例如不同的屏幕尺寸以及人们与设备的交互方式。在智能手机上,人们通常使用基于触摸和滑动的手势,而键盘和鼠标通常是 PC 和笔记本电脑上的标配。这意味着 Flutter 必须扩展其支持范围以涵盖其他输入选项。

复制

一如谷歌所言,Flutter 利用谷歌自己开发的 Dart 编程语言,使开发人员能够构建出在各个运行平台上都有原生体验的应用,并尽可能共享代码,以避免重复工作并“拥抱不可避免的差异”。

像其他跨平台框架一样,Flutter 鼓励开发人员专注于要构建的内容,而不是应用的目标设备。对于没有资源为多个平台单独安排开发力量的较小公司或独立开发人员而言,Flutter 的意义要大得多,尽管它还能让较大的公司简化和增强其开发流程。

制作集成开发环境(IDE)的软件开发公司 JetBrains 的最新报告发现,Flutter 的受欢迎程度在过去一年中提高了 9 个百分点,在跨平台移动框架中仅次于 Facebook 的 React Native。

根据谷歌的说法,Flutter 仅在 Google Play 商店上就已经为 Android 生成了 100,000 多个应用,其中包括来自 eBay 等知名公司的应用。随着它继续向更多平台开放支持,它的采用率也有望继续提升。谷歌表示,他们自己的数据表明 Flutter 开发人员中有超过半数正在使用 Windows,因此为微软这个无所不在的操作系统提供原生桌面支持是非常有意义的。

适用于 Windows 的 Flutter

在 Windows 机器上安装 Flutter SDK 之后,你需要在路径中包含 Flutter 目录的控制台窗口中,运行以下命令以查看是否需要任何平台依赖项来完成设置:

content_copyC:\src\flutter>flutter doctor

该命令会检查开发的环境并显示 Flutter 安装状态的报告。并输出开发者可能需要安装的其他软件或要执行的其他任务。例如:

[-] Android toolchain - develop for Android devices    • Android SDK at D:\Android\sdk    ✗ Android SDK is missing command line tools; download from https://goo.gl/XxQghQ    • Try re-installing or updating your Android SDK,      visit https://flutter.dev/setup/#android-setup for detailed instructions.

将所有缺少的依赖项安装完成后,开发者可以再次运行 flutter doctor 命令以验证是否正确设置了所有内容。更多安装方面的问题可以查看 Flutter 的官方博客。

目前,Flutter 支持 Windows 7 及更高版本的设备,谷歌表示将在未来几个月内继续“稳定”Flutter 的 Windows 版本。

延伸阅读

Flutter 在阿里淘系的体系化建设和业务实践-InfoQ

Flutter全平台制霸再进一步:实现Linux桌面应用支持-InfoQ

自绘引擎时代,为什么Flutter能突出重围?-InfoQ

关注我并转发此篇文章,私信我“领取资料”,即可免费获得InfoQ价值4999元迷你书,点击文末「了解更多」,即可移步InfoQ官网,获取最新资讯~