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 和移动应用程序的默认选择。
Flutter 2.0 正式版发布,全平台 Stable
其次微软正在继续扩大对 Flutter 的支持,除了对 Flutter 提供高质量的 Windows 支持外,今天微软还将发布对 Flutter 引擎以支持新兴的可折叠 Android 设备的支持。这些设备引入了新的设计模式,其应用程序可以扩展内容或利用双屏特性提供并行体验。在 Surface 工程团队的博客文章中展示了他们的成功。
Flutter 2.0 正式版发布,全平台 Stable
最后是汽车制造商丰田汽车宣布了其计划:通过 Flutter 构建其信息娱乐系统,将最佳的数字体验带入车辆。
使用 Flutter 标志着与过去开发车载软件的方式大相径庭,丰田之所以选择 Flutter 是因为其高性能和经验的一致性,快速的迭代和开发人员的人机工程学以及智能手机层的触摸机制,通过使用 Flutter 的 embedder API,Toyota 可以针对车载系统的独特需求量身定制Flutter。
Flutter 2.0 正式版发布,全平台 Stable
我们很高兴继续与丰田和其他公司合作,将 Flutter 应用于汽车,电视和其他嵌入式设备,我们希望在未来几个月中分享更多示例。
不断发展的Flutter生态系统
================
现在,有超过 15,000 个 Flutter 和 Dart 软件包:来自 Amazon ,Microsoft,Adobe,Alibaba,eBay 和 Square 等公司;关键包支持如:Lottie,Sentry和 SVG,以及 Flutter Favorite 软件包如: sign_in_with_apple,google_fonts,geolocator 和 sqflite 等。
今天,我们宣布推出 Google 移动广告 Flutter 的测试版,这是一个可与 AdMob 和AdManager 配合使用的新 SDK,可提供多种广告格式,包括横幅广告,插页式广告,原生广告和奖励视频广告。
我们一直在与几个主要客户一起试用该 SDK,例如 SuaMúsica(拉丁美洲最大的独立艺术家音乐平台),现在我们准备开放 Google 移动广告 Flutter SDK 以便它能够被更广泛地采用。
Flutter 2.0 正式版发布,全平台 Stable
这里还将宣布对Flutter插件的一些核心 Firebase 服务进行更新:Authentication,Cloud Firestore,Cloud Functions,Cloud Messaging,Cloud Storage 和 Crashlytics,包括对可靠的 null 安全性的支持以及对 Cloud Messaging 软件包的全面检查。
Dart: The secret sauce behind Flutter
=====================================
正如前面描述的,Flutter 2 可移植到许多不同的平台和设备上,并且轻松过渡到支持 Web,桌面和嵌入式平台,这个过程很大程度上要归功于 Dart,它是针对多平台开发进行了优化的Google 编程语言。
Dart 结合了一套独特的功能来构建应用程序:
-
毫无争议的可移植性,其编译器成为 Mobile 和 Desktop 上高性能的Intel和ARM机器代码,并为 Web 提供经过严格优化的 JavaScript 输出,相同的 Flutter 框架源代码可编译到所有这些目标。
-
在桌面和移动
设备上进行有状态热重载的迭代开发,其优秀的异步,并发模式设计的语言构造。 -
在所有这些平台上拥有 Google 级性能,可靠的 null 安全性保证了运行时和开发过程中的null约束。
没有其他语言可以结合所有这些功能。也许这就是为什么 Dart 是GitHub上发展最快的语言之一的原因。
PS:我觉得这纯属吹水引战。
Dart 2.12 现已上市,是我们自 2.0 版以来最大的发布版本,支持 null safety。可靠的null 安全性可以消除可怕的 null 引用异常,从而在开发和运行时提供了保证。最重要的是,此功能不是一项重大更改:开发者可以按照自己的步调将其逐步添加到代码中,并可以使用迁移工具在准备就绪时再使用。
今天的更新还包括 FFI 的稳定实现,开发者可以编写基于 C 的 API 高性能代码和 Flutter 交互,用 Flutter 编写新的集成开发人员分析器工具,以及许多性能和大小上的改进,这些改进可以进一步升级代码,而无需重新编译。
Flutter 2: Available now
========================
关于 Flutter 2,要说的话远远超出了在本文中可以涵盖的范围。
实际上,合并的 PR 原始列表是一个200页的文档!请访问 Flutter 2 相关的独立技术博客,以获取有关许多新功能和性能改进的信息。
。
实际上,合并的 PR 原始列表是一个200页的文档!请访问 Flutter 2 相关的独立技术博客,以获取有关许多新功能和性能改进的信息。