您的位置:首页 > 其它

Dart 2.5发布,包含ML Complete 预览 与 dart:ffi外部功能界面预览

2019-09-21 00:00 1171 查看

上周,Dart项目经理Michael Thomsen宣布了Dart 2.5 SDK(软件开发套件)的稳定版本。此版本包括ML Complete和dart:ffi外部函数接口的两个技术预览,可用于直接从Dart调用C代码。 Dart 2.5还为常量表达式带来了更好的支持。

ML Complete预览

在他的博客中,Thomsen将ML Complete视为其现有生产力工具套件(如热重载,可自定义静态分析和Dart DevTools)的“强大补充”。它通过训练给定上下文中可能的成员出现的模型来工作。可以从Github上可用的开源Dart代码中分析可能发生的事件。在开发人员进行编辑时,训练模型使用TensorFlow Lite工具预测下一个可能的符号。

由于ML Complete是直接内置在Dart分析器中的,因此所有启用Dart的编辑器(包括Android Studio,IntelliJ和VS Code)都可以使用它。由于仍处于预览状态,建议开发人员使用Flutter开发人员通道或Dart开发人员通道预览此功能。

dart:ffi外部功能界面的预览

dart:ffi功能使用户能够利用已经运行Dart代码的现有本机API。用户还可以利用用C编写的现有跨平台本机库。当前,直接从Dart调用C的支持仅限于使用原生扩展的Dart VM深度集成。

新的dart:ffi外部函数接口将以新的机制运行,提供出色的性能,简便的方法,并且可在许多Dart支持的平台和编译器上运行。

Dart-C互操作在两种主要情况下起作用:

  • 在主机操作系统(OS)上调用基于C的系统API

为了调用基于C的系统API,使用Linux命令系统。系统命令允许执行任何系统命令。它还允许将参数从本质上传递给Shell/终端并在其中运行。为了实现dart:ffi,Dart代码需要表示C函数及其参数类型和返回类型。它还需要代表相应的Dart函数及其类型。两种表示都是通过在命令的C标头中定义两个typedef来完成的。

  • 为单个操作系统或跨平台调用基于C的库

dart:ffi功能还用于请求基于C的框架和组件。它将允许用户在需要代码完成的所有操作系统上运行TensorFlow。它还提供了原生TensorFlow实现的高性能。

Thomsen补充说:“我们还希望能够调用基于C的库的功能对于Flutter应用程序非常有用。您可以想象调用诸如Realm或SQLite之类的本地库,并且我们认为dart:ffi对于为Flutter桌面启用插件将非常有用。”

建议开发人员使用Flutter主渠道或Dart开发人员渠道来快速了解dart:ffi功能的更改和改进。

常量表达式的改进

在早期版本中,常量表达式的功能受到限制,但是Dart 2.5包含许多新更改。 在Dart 2.5中,可以使用多种方式定义常量表达式,其中包括使用强制转换的功能以及新的控制流和集合传播功能。

图片来源:Medium

要详细了解此公告,请访问Michael Thomsen在Medium上的博客。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Dart Dart 2.5
相关文章推荐