写点什么

Flutter 2(1),字节跳动高工面试

用户头像
Android架构
关注
发布于: 13 小时前

在[今天发布的](


)Flutter 2 中,我们将 Flutter 从移动框架扩展到了可移植框架,释放了您的应用程序,使其可以在各种不同的平台上运行,而几乎没有改变。仅 Play 商店就已经有超过 15 万个 Flutter 应用程序,并且每个应用程序都可以通过 Flutter 2 免费升级,因为它们现在可以在不重写的情况下扩展到目标台式机和 Web。


来自世界各地的客户正在使用扑,包括流行的应用程序,如[微信](


), [Grab](


), [Yandex Go](


), [Nubank](


), [Sonos](


), [Fastic](


), [Betterment](


) and [realtor.com](


)。在 Google,我们依赖 Flutter,Google 的一千多名工程师正在使用 Dart 和 Flutter 构建应用程序。实际上,其中许多产品已经发货,包括 Stadia,Google One 和 Google Nest Hub。



几个月前,[Google Pay](


)为其旗舰移动应用程序[改用 Flutter](


),他们已经在生产力和质量上取得了重大进步。通过统一代码库,该团队消除了平台之间的功能差异,并消除了超过一百万行代码。Google Pay 还报告说,其工程师的效率要高得多,技术债务大大减少,统一发布流程(如跨 iOS 和 Android 的安全性审查和试验)得以实现。

[](

)Flutter on the web


Flutter 2 中最大的公告也许是对 Web 的生产质量支持。


Web 的[早期基础是以 document 为中心的](


)。但是,Web 平台已发展为包含更丰富的平台 API,这些 API 支持具有硬件加速的 2D 和 3D 图形以及灵活的布局和绘画 API 的高度复杂的应用程序。Flutter 的 Web 支持基于这些创新,提供了以应用程序为中心的框架,该框架充分利用了现代 Web 所提供的所有优势。


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


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

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

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


在过去的几个月中,在为稳定发布 Web 支持做准备的同时,我们在性能优化方面取得了许多进展,添加了一个新的由[WebAssembly](


)构建的由[CanvasKit 驱动的](


)渲染引擎。[Flutter Plasma](


)是由社区成员[Felix Blaschke](


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


我们一直在扩展 Flutter,以提供最佳的 Web 平台。最近几个月,我们添加了文本自动填充功能,对地址栏 URL 和路由的控制以及 PWA 清单。而且由于台式机浏览器与移动浏览器一样重要,因此我们添加了


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


交互式滚动条和键盘快捷键,增加了台式机模式下的默认内容密度,并增加了屏幕阅读器对 Windows,macOS 和 Chrome OS 上可访问性的支持。


已经提供了使用 Flutter 构建的 Web 应用程序的一些示例。在教育工作者中,[iRobot](


)以其流行的[Root 教育机器人](


)而闻名。Flutter 对网络的生产支持使 iRobot 可以利用其现有的[教育编程环境](


)并将其移至网络,从而将其可用性扩展到 Chromebook 和其他浏览器是最佳选择的设备。[iRobot 的博客文章](


)详细介绍了迄今为止的进展以及为何选择 Flutter。



另一个例子是 Rive,Rive 为设计师提供了一个强大的工具,可用于创建可发布到任何平台的自定义动画。他们的[更新后的 Web 应用程序](


)现已在 Beta 中提供,完全由 Flutter 构建,并且是 Flutter 在此环境中可以提供的所有服务的一封情书。



您可以在我们的 Medium 出版物上的[专用博客文章中](


)找到有关 Flutter 的更多信息。

[](

)台式机,可折叠设备和嵌入式设备上的 Flutter 2


除了传统的移动设备和 Web 之外,Flutter 越来越多地扩展到其他设备类型,我们在今天的主题演讲中重点介绍了三个伙伴关系,这些伙伴关系证明了 Flutter 的便携性。


首先,Canonical 与我们合作将 Flutter 带入桌面,工程师们贡献了代码来支持 Linux 上的开发和部署。在今天的活动中,Ubuntu 团队展示了由 Flutter 重写的新安装程序的早期演示。对于 Canonical 来说,至关重要的是,它们可以在各种硬件配置上提供坚如磐石而又优美的体验。展望未来,Flutter 是 Canonical 创建的未来台式机和移动应用程序的默认选择



其次,微软正在继续扩大对 Flutter 的支持。除了[正在进行的合作](


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


)的[博客文章中](


),他们展示了他们的工作,并邀请其他人加入他们,共同完成适用于 Surface Duo 和其他设备的高质量实现。



最后,世界上最畅销的汽车制造商丰田汽车宣布了其计划,通过构建由 Flutter 提供动力的信息娱乐系统,将最佳的数字体验带入车辆。使用 Flutter 标志着与过去开发车载软件的方式大相径庭。丰田之所以选择 Flutter,是因为其高性能和经验的一致性,快速的迭代和开发人员的人机工程学以及智能手机层的触摸机制。通过使用 Flutter 的 embedder API,Toyota 可以针对车载系统的独特需求量身定制 Flutter。



我们很高兴继续与丰田和其他公司合作,将 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 插件的一些核心 Firebase 服务进行更新](


):身份验证,Cloud Firestore,Cloud Functions,Cloud Messaging,Cloud Storage 和 Crashlytics,包括对可靠的 null 安全性的支持以及对 Cloud Messaging 软件包的全面检查。

[](

)Dart:Flutter 背后的秘密调味料


正如我们已经指出的,Flutter 2 可移植到许多不同的平台和外形上。轻松过渡到支持 Web,桌面和嵌入式的过程很大程度上要归功于[Dart](


),它是针对多平台开发进行了优化的 Google 编程语言。

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
Flutter 2(1),字节跳动高工面试