我和Dart玩了一点,我认为这很棒。据我所知,它可以输出原生JS,并且谷歌可能会在浏览器中支持VM。由于其他浏览器供应商可能不支持Dart VM,是否可以在客户端计算机上安装Dart VM以便在国外浏览器中使用?
答案 0 :(得分:3)
是否可以在客户端计算机上安装Dart VM以便在国外浏览器中使用?
但是,自己提供Dart VM更容易。
Javascript完全能够:
script
type
虽然这在技术上不是Dart虚拟机,但它会让您的Dart代码全速执行。但是,您必须等待编译完成。通常的方法是在服务器上进行编译(一次),并且只将已编译的javascript发送给客户端。
另一种选择是解释代码。 Dart指令不是编译为javascript,而是逐个执行。 Dart不是机器级语言,因此需要解析,但接下来是解释。缺点是性能下降。这将使您尽可能地拥有一个完整的虚拟机(与Javascript分开)。
通常情况下,你不关心你得到哪一个(也许你甚至会得到一个即时编译器),但它在Dart 虚拟机方面确实有所作为存在(而不是仅仅执行代码)。
Dart编译器需要以某种方式出现在页面上(除非你预先编译)。
最简单的方法就是将<script src="path/to/your/dart-compiler.js"></script>
写入脑袋。
Dartium浏览器本身支持Dart,但它不是为常用而设计的。 Wikipedia says:
在Dartium浏览器中:Dart SDK随附一个Chromium Web浏览器版本,其中包含一个Dart虚拟机。此浏览器可以直接运行Dart代码而无需编译到Javascript。它目前不是用于通用目的,而是用作Dart应用程序的开发工具。[7] 将Dart代码嵌入到Web应用程序中时,当前建议的过程是加载一个引导程序JavaScript文件“dart.js”,它将检测Dart VM是否存在并加载相应的Dart或编译的Javascript代码< / strong>,分别[8]因此保证了浏览器与自定义Dart VM的兼容性。
如果您希望运行Dart的能力取决于客户端计算机而不是页面,那么也有几种方法。
一种方法是将编译器包含为用户脚本。这将适用于 all 这两种现代桌面浏览器。但是,我不确定是否存在向Internet Explorer添加用户脚本支持的现有方法。
一种方法是添加浏览器扩展程序。所有现代桌面浏览器都支持扩展,Internet Explorer has Browser Helper Objects。
所有这些都需要额外的Javascript步骤。如果你想要绕过Javascript的原生解释,你需要一个插件。插件需要运行特定的mime类型(不确定脚本类型是否重要),但您可以安装一个将触发插件使用的扩展。但是,DOM操作仍然需要额外的Javascript步骤。没有其他办法了。
桌面安装程序绝对可以将插件安装到浏览器中。实际上,这就是插件通常安装的方式。也可以从桌面安装程序安装扩展程序,但我现在无法确认或否认此最后一项声明。
答案 1 :(得分:2)
据我所知,没有办法只为Dart安装一个插件(如Flash)。对于Internet Explorer,可以安装Chrome-frame,但我还没有看到类似的Firefox和Safari。