【问题标题】:Will Dart scripts run natively in the browser?Dart 脚本会在浏览器中本地运行吗?
【发布时间】:2011-10-10 17:08:13
【问题描述】:

Dart 语言看起来是一种非常好的技术,可以为 Web 构建 Web 应用程序。对我来说,似乎没有可用的浏览器(还没有?)可以本地运行 Dart 脚本。尽管 Dart 的网站上有关于如何将此类脚本嵌入 HTML 的描述。我知道现在我必须将 Dart 脚本“编译”为 Javascript。但这种情况会在未来发生变化,还是该语言旨在翻译成类似于 Haxe 的其他脚本标准?

【问题讨论】:

    标签: html dart


    【解决方案1】:

    这是猜测,但我猜 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。

    【讨论】:

    • 我一直在等待 Dart 在 Chrome 的开发者频道中可用。我有点失望,他们的浏览器还没有原生的 Dart 运行时环境。但希望这种情况在未来会有所改变。我也在等待一个像样的 IDE,或者至少是当前 IDE 的插件。
    • Dart Editor 和 Eclipse 的 Dart 插件很不错。
    • "开发 JavaScript 语言的 Mozilla 的 Brendan Eich 说:我向你保证,Apple 和 Microsoft(以及 Opera 和 Mozilla,但前两个就足够了)永远不会嵌入 Dart VM。所以'最好在 Chrome 中运行”甚至“仅在 Chrome 中运行”是 Google 有意颁布的新规范。我们每天都看到更多这种碎片化。作为 Chrome 和 Firefox(以及 Safari)的用户,我觉得体验很痛苦,从来没有注意政治上的坏品味。”我还要补充一点,无论如何,与 AS3 和 JavaScript 相比,该语言本身很糟糕。
    • 其实没关系...从 dart 生成的 javascript 比 javascript 运行得更快。 news.dartlang.org/2013/03/…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 中运行。
    【解决方案2】:

    官方的回答是肯定的,Dart 将在 Chrome 中原生运行。 Chrome 的分支,亲切地称为 Dartium,现在可以作为源代码使用,并且二进制文件将很快发布。有关如何获取和构建源的更多信息:http://code.google.com/p/dart/wiki/BuildingDartium

    【讨论】:

    • 我知道很难告诉 etas,但是当我们可以期待将 Dart 运行时集成到 Chrome 中时,有什么消息吗?据我所知,GC 引擎和引用计数需要更改,以便它可以从同一个浏览器进程中同时为 JS 和 Dart 虚拟机提供服务。
    【解决方案3】:

    截至 2015 年 3 月 25 日,官方答案是:否。

    来源:Dart for the Entire Web

    Google 放弃了将 Dart VM 集成到 Chrome 中的计划,以支持优化 Javascript 编译。 Dartium 仍可用于开发目的。

    【讨论】:

    • 这太令人失望了。没有什么比通过生成的代码进行调试更令人沮丧的了。这就是让我远离 CoffeeScript 的原因。
    【解决方案4】:

    最终,是的。建议的 MIME 类型 + 用法如下所示:

    <script type="application/dart">
      main() {
        Element element = document.getElementById('message');
        element.innerHTML = 'Hello from Dart';
      }     
    </script>
    

    (该示例看起来像 JavaScript,但不要上当!)

    【讨论】:

    • 我不明白,如果它看起来像 JavaScript,那么发生了什么变化?有什么好的部分?
    猜你喜欢
    • 2014-12-12
    • 2014-04-23
    • 2017-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多