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

前面几天会陆续公布 Flutter 2.0 更新更加具体的内容更新,敬请关注。

上面就让咱们看看 Flutter 2.0 都有哪些重磅更新,原文链接:https://developers.googleblog...

咱们针对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软件包:来自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编程语言。

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】: