Dart 2.5发布,包含ML Complete 预览 与 dart:ffi外部功能界面预览
上周,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 2.5发布:新增代码补全功能,并提供底层函数调用接口
- Chrome32发布,包含页面提示、新Win8界面,更好的恶意软件拦截,和监护人功能
- 一个简单WPF登陆界面,包含记住密码,自动登录等功能,简洁美观
- 使用jquery.jqprint.js 实现的打印功能,IE9不能进行打印预览、火狐打印空白界面
- 【软件新讯】VRay Next (4.0) for Rhino 正式发布与核心功能预览
- Vue 2.5 发布了:新功能特性一览!
- 基于Struts+Hibernate开发的后台管理,功能包含完善的权限管理和信息发布功能
- Win10 TH2正式版系统消息界面曝光 已集成Skype预览功能
- 使用jquery.jqprint.js 实现的打印功能,IE9不能进行打印预览、火狐打印空白界面
- Java语言下,openoffcie+swfTools+flexPaper在线预览功能,包含linux服务器部署
- CTE 2.0 更新内容预览(重写所有功能,并且开放源码)(即将发布)
- vs2010 程序打包发布(包含卸载功能):
- java实现聊天室功能(包含全部代码,有界面)
- 据公司内部邮件信息:甲骨文发布β版11g数据库 包含182项新功能
- 初来乍到,发布一个杀手应用:snap.com的web预览图功能,我给它取名叫“WebSnap”
- 苹果发布 Xcode 9.3,包含全新电池用量分析功能
- AJAX Dev Library Pack1 for WebShop即将发布,最大特色为全新漂亮的web界面,进入预览
- 预览、保存和发布:编辑器的设计者如何设计这些功能
- Android开发丶一个较为完善的搜索界面,包含了热门标签,清除输入框,搜索结果列表等功能
- Dart 2.5发布,支持Dart与C相互调用