【发布时间】:2011-10-10 17:08:13
【问题描述】:
Dart 语言看起来是一种非常好的技术,可以为 Web 构建 Web 应用程序。对我来说,似乎没有可用的浏览器(还没有?)可以本地运行 Dart 脚本。尽管 Dart 的网站上有关于如何将此类脚本嵌入 HTML 的描述。我知道现在我必须将 Dart 脚本“编译”为 Javascript。但这种情况会在未来发生变化,还是该语言旨在翻译成类似于 Haxe 的其他脚本标准?
【问题讨论】:
Dart 语言看起来是一种非常好的技术,可以为 Web 构建 Web 应用程序。对我来说,似乎没有可用的浏览器(还没有?)可以本地运行 Dart 脚本。尽管 Dart 的网站上有关于如何将此类脚本嵌入 HTML 的描述。我知道现在我必须将 Dart 脚本“编译”为 Javascript。但这种情况会在未来发生变化,还是该语言旨在翻译成类似于 Haxe 的其他脚本标准?
【问题讨论】:
这是猜测,但我猜 Chrome 将来可能会原生支持 dart。这意味着 Chrome 将能够胜过其他没有原生支持的浏览器。
更新:The Official Google Code Blog 暗示它可能即将到来:
Dart VM 当前未集成到 Chrome 中,但我们计划探索此选项。
更新 2: 看来我是对的!这里有一些recent news:
此外,也许最重要的是,Google 正在发布 Dartium,这是一个带有原生 Dart 支持的 Chromium 版本。
Dartium 很可能是 Google 为在 Chrome 中推出原生支持而采取的一系列步骤的一部分——极大地提高了 Dart 的实用性。另一方面,将本机支持引入 Firefox 和 IE 等其他浏览器将是一个相当大的挑战。
更新 3:自从我发布此答案后,Microsoft 已经发布了 TypeScript,这是一项竞争技术。我想说微软不太可能将 Dart 集成到 Internet Explorer 中,因为他们可能更喜欢人们使用 TypeScript 而不是 Dart。
【讨论】:
The dart2js compiler, which converts Dart to JavaScript, now produces smaller and faster code thanks to its global type inferencer. By analyzing the entire program, the compiler can eliminate bailouts and redundant checks, resulting in code that runs faster on modern JavaScript engines.
官方的回答是肯定的,Dart 将在 Chrome 中原生运行。 Chrome 的分支,亲切地称为 Dartium,现在可以作为源代码使用,并且二进制文件将很快发布。有关如何获取和构建源的更多信息:http://code.google.com/p/dart/wiki/BuildingDartium
【讨论】:
截至 2015 年 3 月 25 日,官方答案是:否。
Google 放弃了将 Dart VM 集成到 Chrome 中的计划,以支持优化 Javascript 编译。 Dartium 仍可用于开发目的。
【讨论】:
最终,是的。建议的 MIME 类型 + 用法如下所示:
<script type="application/dart">
main() {
Element element = document.getElementById('message');
element.innerHTML = 'Hello from Dart';
}
</script>
(该示例看起来像 JavaScript,但不要上当!)
【讨论】: