zoukankan      html  css  js  c++  java
  • 【老孟Flutter】Flutter 2.0 重磅更新

    老孟导读:昨天期待已久的 Flutter 2.0 终于发布了,Web 端终于提正了,春季期间我发布的一篇文章,其中的一个预测就是 Web 正式发布,已经实现了,还有一个预测是:2021年将是 Flutter 大跃进的一年,等今年你年底总结的时候,让我们在来验证下这个预测是否应验

    后面几天会陆续发布 Flutter 2.0 更新更加详细的内容更新,敬请关注。

    下面就让我们看看 Flutter 2.0 都有哪些重磅更新,原文链接:https://developers.googleblog.com/2021/03/announcing-flutter-2.html

    我们针对Web,移动端和台式机构建的下一代Flutter

    今天,我们宣布Flutter 2Flutter的重大升级,使开发人员能够为任何平台创建美观,快速且可移植的应用程序。借助Flutter 2,您可以使用相同的代码库将本机应用程序发布到五个操作系统:iOS,Android,Windows,macOS和Linux。以及针对Chrome,Firefox,Safari或Edge等浏览器的Web体验。Flutter甚至可以嵌入到汽车,电视和智能家电中,为环境计算世界提供最普遍和最便携式的体验。

    我们的目标是从根本上改变开发人员对构建应用程序的看法,而不是从您要定位的平台开始,而要从您要创建的体验开始。Flutter使您可以在品牌和设计走在前列的情况下,手工创造美好的体验。Flutter速度很快,可以将源代码编译为机器代码,但是由于我们对有状态的热重装的支持,您仍然可以提高生产力,允许您在应用程序运行时进行更改并立即查看结果。Flutter是开放的,成千上万的贡献者添加了核心框架,并通过软件包生态系统对其进行了扩展。

    今天发布的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清单。而且由于台式机浏览器与移动浏览器一样重要,因此我们添加了交互式滚动条和键盘快捷键,增加了台式机模式下的默认内容密度,并增加了屏幕阅读器对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软件包:来自AmazonMicrosoftAdobeAlibabaeBaySquare等公司;到重要的软件包,如LottieSentrySVG,以及Flutter Favorite软件包,如sign_in_with_applegoogle_fontsgeolocatorsqflite

    今天,我们宣布推出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编程语言。

    Dart结合了一套独特的功能来构建应用程序:

    • 无意外的可移植性,其编译器可为移动和台式机生成高性能的Intel和ARM机器代码,并为网络提供经过严格优化的JavaScript输出。相同的Flutter框架源代码可编译到所有这些目标。
    • 在桌面和移动设备上进行有状态热重载的迭代开发,以及为现代UI编程的异步,并发模式设计的语言构造。
    • 在所有这些平台上的Google级性能,可靠的null安全性保证了运行时和开发过程中的null约束。

    没有其他语言可以结合所有这些功能。也许这就是为什么Dart是GitHub上发展最快的语言之一的原因。

    Dart 2.12现已发布,是我们自2.0版以来最大的发行版,支持null安全性。可靠的null安全性有可能消除可怕的null引用异常,从而在开发和运行时提供了保证,即如果开发人员明确选择,则类型只能包含null值。最重要的是,此功能不是一项重大更改:您可以按照自己的步调将其逐步添加到代码中,并可以使用迁移工具在准备就绪时为您提供帮助。

    今天的更新还包括FFI稳定实现,使您可以编写可与基于C的API互操作的高性能代码。用Flutter编写的新的集成开发人员和分析器工具;以及许多性能和大小上的改进,这些改进可以进一步升级代码,而无需重新编译即可。有关更多信息,请查看专用的Dart 2.12公告博客文章

    Flutter 2:现已发布

    关于Flutter 2,要说的话远远超出了我们在本文中可以涵盖的范围。实际上,合并的合并请求的原始列表是一个200页的文档!请访问Flutter 2上的独立技术博客,以获取有关许多新功能和性能改进的信息,我们认为这将使现有的Flutter开发人员满意,并立即下载。

    我们还有一个主要的新样本,它展示了刚才提到的所有内容,该样本是与位于加拿大埃德蒙顿的屡获殊荣的设计团队gskinner合作构建的。Flutter Folio是一款剪贴簿应用程序,专为您的所有设备而设计。小屏幕体验是专为捕获内容而设计的;大屏幕支持使用台式机和平板电脑专用的习惯用法进行编辑;网络体验是为共享而量身定制的。所有这些量身定制的经验都共享相同的代码库,该代码库是开源的,可供您阅读。

    如果您还没有尝试过Flutter,我们认为您会发现它对您的应用程序开发体验而言是一次重大升级。在Flutter中,我们提供了一个开放源代码工具包,用于通过单个代码库构建针对移动,台式机,Web和嵌入式设备的美观而快速的应用程序,这些应用程序既可以满足Google的苛刻需求,也可以满足我们客户的需求。

    Flutter是免费的开放源代码。我们很高兴看到使用Flutter 2构建的东西!

    交流

    老孟Flutter博客(330个控件用法+实战入门系列文章):http://laomengit.com

    添加微信或者公众号领取 《330个控件大全》和 《Flutter 实战》PDF。

    欢迎加入Flutter交流群(微信:laomengit)、关注公众号【老孟Flutter】:

  • 相关阅读:
    169. Majority Element
    283. Move Zeroes
    1331. Rank Transform of an Array
    566. Reshape the Matrix
    985. Sum of Even Numbers After Queries
    1185. Day of the Week
    867. Transpose Matrix
    1217. Play with Chips
    766. Toeplitz Matrix
    1413. Minimum Value to Get Positive Step by Step Sum
  • 原文地址:https://www.cnblogs.com/mengqd/p/14483650.html
Copyright © 2011-2022 走看看