写点什么

【译】Flutter 2,Android 程序员必会

用户头像
Android架构
关注
发布于: 2021 年 11 月 05 日


Flutter 的目标是从根本上改变开发人员对构建应用程序的思路,让开发者从需要完成的用户需求开始实现,而不是从开发者需要适配的平台开始


Flutter 可以让你在拥有更好设计效果的情况下,得到更好的用户体验,因为它的运行速度很快,它会将源代码编译为机器代码,但是 Flutter 在开发过程中支持的 hotload,所以也可以在应用程序调试运行时进行更改并立即查看结果。


最后,Flutter 是开放的,已经有成千上万的开发者成为了它的贡献者,并通过各种 packages 对其进行了扩展。



在今天发布的 Flutter 2 中,Flutter 正式将从移动框架扩展到了全平台框架,使用 Flutter 2 开发者可以让它的应用直接运用到各种不同的平台而几乎不需要做出什么改变。


现在仅 Play 商店就已经有超过 15 万个 Flutter 应用程序,并且每个应用程序都可以通过 Flutter 2 进行免升级,因为它们现在可以在不重写的情况下扩展到 DesktopWeb


PS: 个人认为这个的是可行性太低了,纯属吹水。


全球各大主流企业都已经使用了 Flutter,包括它们的主流的应用程序如:微信GrabYandex GoNubankSonosFasticBettermentrealtor.com等。


在 Google 内部也会使用 Flutter 开发,Google 内有近一千多名工程师正在使用 Dart 和 Flutter 构建应用程序,其中许多产品都已经发布了,包括:StadiaGoogle OneGoogle Nest Hub 等等。



在几个月前, Google Pay 里的旗舰移动应用就有不少更改为使用 Flutter,它们已经在生产力和质量上取得了重大进步。通过统一的代码库,团队消除了平台之间的功能差异,并清理超过一百万行代码,Google Pay 的报告还提到其工程师的效率要高得多,技术债务大大减少,统一的发布流程(如跨 iOS 和 Android 的安全性审查和试验)得以实现。

Flutter on the web

Flutter 2 中最大的修改之一就是对 Web 的生产质量有了新的支持。


Flutter 的 Web 支持基于有硬件加速的 2D 和 3D 图形以及灵活的布局和绘画 API,提供了以应用程序为中心的框架,该框架充分利用了现代 Web 所提供的所有优势。


此初始版本特别关注三种应用程序场景:


  • 渐进式 Web 应用程序(PWA):将 Web 的访问范围与桌面应用程序的功能结合在一起。

  • 单页应用程序(SPA),一次加载并与网络之间进行数据传输。

  • 将现有的 Flutter 移动应用程序带到 Web 上,从而为两种体验启用共享代码。


在过去的几个月中,在为稳定发布 Web 支持做准备的同时,也在性能优化方面取得了许多进展,比如添加了一个由 WebAssembly 构建的 CanvasKit 驱动渲染引擎。


[Flutter Plasma](


) 是由社区成员 Felix Blaschke 构建的 Demo ,展示了使用 Dart 和 Flutter 构建复杂的 Web 图形体验的简便性,这些体验也可以在桌面或移动设备上本地运行。


此外我们也一直在扩展 Flutter 以提供最佳的 Web 平台。最近几个月,Flutter 添加了文本自动填充功能,对地址栏 URL 和路由的控制 和 PWA manifests,而且由于 desktop browsers 与移动浏览器一样重要,因此我们还添加了交互式滚动条和键盘快捷键,以此来增加了 desktop 下的默认内容的紧密程度,并增加了屏幕阅读对 Windows,macOS 和 Chrome OS 上可访问支持。

desktops, foldables, and embedded devices

除了传统的移动设备和 Web 之外,Flutter 被越来越多地扩展到其他设备类型,今天的主题演重点介绍了三个伙伴关系,这些伙伴关系证明了 Flutter 的可移植能力。


首先 Canonical 与我们合作将 Flutter 带入 desktop ,开发者贡献了许多代码来支持 Linux 上的开发和部署。


在今天的活动中,,Ubuntu 团队展示了由 Flutter 重写的早期新安装程序的演示,这对于 Canonical 来说,它们可以在各种硬件配置上提供稳定而又优美的体验,而展望未来,Flutter 是 Canonical 创建的未来 desktop 和移动应用程序的默认选择。


![](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/325f69647306413284608602ac30b6c7~tplv-k3u1fbpfcp


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


-watermark.image)


其次微软正在继续扩大对 Flutter 的支持,除了对 Flutter 提供高质量的 Windows 支持外,今天微软还将发布对 Flutter 引擎以支持新兴的可折叠 Android 设备的支持。这些设备引入了新的设计模式,其应用程序可以扩展内容或利用双屏特性提供并行体验。在 [Surface 工程团队的博客文章](


)中展示了他们的成功。



最后是汽车制造商丰田汽车宣布了其计划:通过 Flutter 构建其信息娱乐系统,将最佳的数字体验带入车辆。


使用 Flutter 标志着与过去开发车载软件的方式大相径庭,丰田之所以选择 Flutter 是因为其高性能和经验的一致性,快速的迭代和开发人员的人机工程学以及智能手机层的触摸机制,通过使用 Flutter 的 embedder API,Toyota 可以针对车载系统的独特需求量身定制 Flutter。



我们很高兴继续与丰田和其他公司合作,将 Flutter 应用于汽车,电视和其他嵌入式设备,我们希望在未来几个月中分享更多示例。

不断发展的 Flutter 生态系统

现在,有超过 15,000 个 Flutter 和 Dart 软件包:来自 AmazonMicrosoftAdobeAlibabaeBaySquare 等公司;关键包支持如:LottieSentrySVG,以及 Flutter Favorite 软件包如: sign_in_with_applegoogle_fontsgeolocatorsqflite 等。

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
【译】Flutter 2,Android程序员必会