Dart 2.8 发布
Dart 2.8 发布了,除了还在跟进中的 null safety 特性需要进行一些破坏性变更,此版本还有亮点:pub 客户端改进,性能提高,以及确保依赖关系及时更新的新工具。
null safety 破坏性变更
应用崩溃的常见原因是尝试使用变量为 null 的代码,在某些情况下,null 很有用,但是在其它时候却比较麻烦。过去一年,开发团队一直致力于为 Dart 提供 null 安全(null safety)特性支持,这种特性需要扩展类型系统,增加表示始终不可为 null 变量的能力,而同时,类型系统完全是可靠的,Dart 编译器和运行时将信任这些类型,并且能够在类型系统保证变量不为 null 的情况下生成优化的代码。
为了确保可以使用清晰的语义来构建 null safety,开发团队决定对 Dart 语言和库进行一些破坏性更改,这些更改对 Dart 类型系统的一些特殊情况和一些 Dart 核心库进行了较小的调整,以确保与可空性相关的可用性和性能。
Pub 工具性能改进
Dart 平台通过 pub 客户端工具和 pub.dev 软件包存储库内置了对软件包管理的支持,该软件包存储库在过去一年中增长了 200%,现在拥有近 10 000 个软件包。
此版本中,通过添加对运行时并行获取软件包pub get
的支持,并且延迟了pub run
预编译,优化了 Pub 工具的性能。
在使用flutter pub get、flutter create
创建的新项目上运行的非正式基准测试中,总执行时间从 Flutter 1.12(Dart 2.7)中的大约 6.5 秒减少到 Flutter 1.17(Dart 2.8)的 2.5 秒。在 Flutter gallery 这样更大型的应用中,时间从大约 15 秒减少到大约 3 秒。
管理依赖项的 pub outdated
此版本中,Pub 还新增了一个 pub outdated 命令,它通过将当前使用的软件包版本与 pub.dev 上可用的最新版本进行比较,可以始终使用最新的稳定版本软件包,同时也可以知道其它版本情况。
$ pub outdated Dependencies Current Upgradable Resolvable Latest foo 1.3.0 1.3.1 1.3.1 1.3.1 bar 2.0.1 2.1.0 3.0.3 3.0.3 1 upgradable dependency is locked (in pubspec.lock) to an older version. To update it, use `pub upgrade`. 1 dependency is constrained to a version that is older than a resolvable version.
以上输出信息显示可以使用 pub upgrade 自动升级到 foo 1.3.1,这是 foo 的最新版本;同时还告诉我们,虽然我们可以自动升级到 bar 2.1.0,但还可以使用 3.0.3 版本。由于升级到 bar 3.0.3 是主要版本升级,因此需要通过编辑 pubspec.yaml 文件来选择升级:
dependencies: foo: ^1.3.0 bar: ^3.0.3
在进行编辑并运行 pub upgrade 之后,pub outdated 现在报告所有依赖项都是最新的:
$ pub outdated Dependencies Current Upgradable Resolvable Latest all up-to-date
完整的更新说明查看:
https://medium.com/dartlang/announcing-dart-2-8-7750918db0a
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Rust 1.43.1 发布
Rust 团队已经发布了 Rust 的新版本 1.43.1,该版本解决了 1.43.0 稳定版本中引入的两个回归,并更新了 Cargo 使用的 OpenSSL 版本。具体更新内容如下: 修复了 AVX-512 功能的稳定性 由于内部重构,Rust 1.43.0 阻止了无法在稳定版本上使用的功能(例如 AVX-512)的检测,Rust 1.43.1 修复了此回归问题。 修复了cargo package --list无法使用未发布的依赖项的问题 在具有路径依赖项或未发布版本的工作空间中,Rust 1.43.0 打破了对列出用 Cargo 发布的软件包中包含的文件的支持。Rust 1.43.1 中包含此问题的修复程序。有关错误的更多信息可参见Cargo issue #8151。 将 openssl-src 更新为 1.1.1g 更多详情可查看发布说明:https://blog.rust-lang.org/2020/05/07/Rust.1.43.1.html 下载地址:https://www.rust-lang.org/tools/install
- 下一篇
Visual Studio Code 1.45 发布
Visual Studio Code 发布了 1.45 版本,即 2020 年 4 月更新版。最值得关注的更新亮点有这些: 可访问性改进—— 在工作台之间轻松导航;状态栏可访问,且屏幕阅读器可以读取焦点对准的内容;在工作台的每个列表中引入了适当的 ARIA 标签,例如“打开编辑器”、“面包屑”、“问题视图”等 通过鼠标滚轮切换编辑器选项卡—— 使用鼠标滚轮在编辑器中快速切换文件 更快的语法高亮速度—— 提高了 3 倍 自定义语义颜色—— 通过用户设置更改语义标记颜色 语义着色可用于 TypeScript 和 JavaScript,对 Java 和 C++ 的支持正在开发中。内置主题默认启用此功能。 editor.semanticTokenColorCustomizations设置允许用户覆盖默认主题规则并自定义主题。 GitHub 身份验证支持—— GitHub 存储库的自动身份验证 VS Code 现在具有针对 GitHub 存储库的自动 GitHub 身份验证。现在无需在系统中配置任何凭据管理器,就可以在公共存储库和私有存储库之间进行 clone、pull 和 push。甚至在集成...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Mario游戏-低调大师作品
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2更换Tomcat为Jetty,小型站点的福音