小任班长的博客 - dart ML Complete
type: channel
link: https://cnxiaocheng.top/tag/dart-ML-Complete/
items: Dart 2.5 稳定版正式公布，支持直接调用C语言代码

Dart 2.5 稳定版正式公布，支持直接调用C语言代码
type: item
date: 2019-09-18T11:00:00+08:00
description: 继在中国 Google 开发者大会上发布 Flutter 1.9 之后，今天 Dart 2.5 SDK 稳定版也正式到来，其中包括两个意义重大的全新功能技术预览:ML Complete，由机器学习 (ML) 驱动的代码补全功能dart:ffi 外部函数接口，用来直接从 Dart 调用 C 语言代码另外，Dart 2.5 还增强了对常量表达式的支持。常量表达式 https://dart.dev/guides/language/language-tour#final-and-const这个版本是我们向着针对客户端优化的最佳开发语言愿景迈出的又一步，让开发者可以在任何平台创建高效运行的应用。ML Complete 是我们现有生产力工具组件 (热重载、可自定义静态分析和 Dart DevTools 等) 的强大补充，第二个预览功能 dart:ffi 则使您能够在运行 Dart 代码的许多操作系统上调用现有的原生 API，以及用 C 编写的现有跨平台原生代码库。热重载https://flutter.dev/docs/development/tools/hot-reload可自定义静态分析https://dart.dev/guides/language/analysis-optionsDart DevToolshttps://flutter.dev/docs/development/tools/devtools/overview我们热切地想要创建最佳的客户端开发语言。令人振奋的是，新的 IEEE Spectrum 2019 最佳开发语言评级已于近期出炉，而 Dart 已经跻身其中并位列第 16 名。在 "热门" 条目下，Dart 则排名第 10，在只考虑移动端开发语言时则排名第 6 (位于 Java、C、C++、C# 和 Swift 之后)。IEEE Spectrum 2019 最佳开发语言https://spectrum.ieee.org/computing/software/the-top-programming-languages-2019ML Complete: 基于机器学习的代码补全类型化编程语言的核心优势之一，就是在类型中附带的信息使得 IDE / 编辑器能够在键入代码时提供强大的代码补全功能，从而帮助开发者提高效率。通过代码补全，开发者只需要输入代码的开头部分即可从提供的选项中进行选择，从而避免拼写错误，也便于探索各种 API。但随着 API 数量的增长，探索 API 也变得愈发困难，因为补全功能提供的列表太长，开发者无法按照字母顺序去逐一浏览。在过去的一年里，我们一直在努力让机器学习来解决这个问题。简单地讲，我们通过分析 GitHub 上大量开源的 Dart 代码来训练一个模型，用以分析特定上下文时不同代码成员的出现模式。这个基于 TensorFlow Lite 打造的模型在被训练成型后，可以在开发者编写代码时预测接下来需要用到的代码内容。这个新功能我们称之为 ML Complete。ML Complete 今天推出预览版。它内置于 Dart 分析器中，因此可用于所有支持 Dart 的编辑器，包括 Android Studio、IntelliJ 和 VS Code。有关如何启用此预览功能，以及如何提供反馈和报告问题，请参阅我们的反馈 wiki 页。问题反馈 wiki 页https://github.com/dart-lang/sdk/wiki/Previewing-Dart-code-completions-powered-by-machine-learning