谷歌发布Flutter 1.17和Dart 2.8稳定的SDK进行应用开发

导读Flutter是一个跨平台的编程框架,旨在解决开发跨平台应用程序的麻烦,而不会造成一堆非本地代码。借助Dart编程语言的知识,开发人员可以为

Flutter是一个跨平台的编程框架,旨在解决开发跨平台应用程序的麻烦,而不会造成一堆非本地代码。借助Dart编程语言的知识,开发人员可以为Android,iOS,Web和桌面构建具有统一UI外观的应用程序。Flutter 1.9使macOS和Catalina支持处于Alpha状态,而v1.12版本使它们的支持已超过Alpha之前的状态。现在,谷歌推出了新的Flutter v1.17版本和Dart v2.8版本,这标志着它们是2020年Flutter和Dart的首个稳定版本。

颤动1.17

上个月,谷歌宣布了对其发布过程的更改。该公司的早期流程缺乏何时发布版本,包含哪些代码等方面的清晰度。现在,Google计划大约每季度发布一次稳定版本。这本身就带来了一些挑战,因为必须为新的发行过程重新调整发行基础结构。现在,Flutter 1.17已发布到稳定版供开发人员使用。自从先前的Flutter 1.12版本以来,Google已经关闭了6,339个问题,并且它们关闭的错误比今年打开的漏洞更多,从而净减少了约800个问题。

除错误修复外,Flutter 1.17进行了实质性的性能改进,改进了对iOS上的Metal的支持,并包括新的Material部件。

性能提升

使用Flutter 1.17和较早版本构建的应用程序在默认导航情况下将看到20-37%的加速,在默认情况下,存在不透明的路线且不透明。Flutter 1.17构建的应用程序大小也有了很大的改进。例如,Flutter Gallery示例现在在2020年为8.1MB,而在2019年底为9.6MB。就内存使用而言,1.17版本在快速滚动查看大图像时将内存减少了70%。

金属支撑

Metal是Apple的底层图形API,几乎可以直接访问iOS设备的底层GPU。在为支持的iOS设备构建时,Flutter现在默认情况下使用Metal,从而使Flutter应用程序运行得更快。改进的Metal支持将iOS应用的渲染速度平均提高了约50%。在不完全支持Metal的iOS设备上,即iOS版本低于10且在A7处理器之前发布的设备上,Flutter会退回到OpenGL。

材质小部件

Flutter 1.17增加了对新的Material小部件的支持。也有对现有小部件的更新。例如,NavigationRail帮助开发人员向应用程序添加响应式应用程序导航模型,并且非常适合可以在移动和桌面尺寸之间切换的应用程序。DatePicker和TextSelection溢出小部件也已更新:DatePicker的新视觉效果与更新的“材质”准则相匹配,并添加了新的文本输入模式,而当按钮的长度超过不溢出而无法显示时,TextSelection现在为iOS和Android增强了保真度。最后,Google还发布了新的Animations软件包,该软件包提供了实现新Material运动规范的预构建动画。

Flutter 1.17中的其他更改

Google已经完成了2018年Material Design规范的Type Scale部分的实现,而没有破坏现有的Flutter应用程序。

Google字体Flutter v1.0也已上市。这使开发人员可以在其应用程序中试验并使用fonts.google.com中的任何字体。开发人员可以通过从API下载字体来决定是将字体与APK捆绑在一起还是由用户接收字体。

Google修复了滚动,文本字段和其他输入小部件的问题,从而改善了Flutter应用程序的可访问性。

Google还准备用新的Flutter版本替换当前版本的Dart DevTools。开发人员可以通过启动DevTools,然后单击DevTools右上角的“ breaker”图标来测试此新版本。新的Flutter版本的Dart DevTools中最大的改进是新的“网络”选项卡,当您单击“记录”按钮时,该选项卡显示Flutter应用程序的网络流量。

另一个改进是实验性的“快速启动”选项,使您在构建适用于Android的应用程序时,最多可以将Flutter应用程序调试速度提高70%。

Google还向Superformula团队大喊大叫,以在Flutter中重新制作整个MGM Resorts Android应用程序。

飞镖2.8

Dart是用于在Flutter中构建应用程序的编程语言。随着Dart 2.8 SDK的发布,Google引入了一些更改:

对pub客户端工具的改进,该工具用于管理从pub.dev软件包存储库下载的软件包。

Google通过添加对包的并行获取和推迟发布运行的预编译的支持,提高了发布获取的性能。

Google还添加了一个新工具(pub过期),以确保软件包依赖项保持最新。

声音空安全性的准备,因为空引用是应用程序崩溃的常见原因,当代码尝试读取具有空值的变量时,空崩溃就会发生。

Google正准备在Dart中增加对声音空安全性的支持,这将确保所有表示的变量都具有非空值。

实施可靠的null安全性是一项艰巨的任务,最初会导致Dart语言和库的中断。Google希望开发人员意识到这些重大更改,并在其问题跟踪器中记录所有问题。

免责声明:本文由用户上传,如有侵权请联系删除!