我知道,那个 dart 仍处于技术预览阶段。 Dart 也可以编译为 JavaScript。
但是将 dart 编译为 javascript 有哪些限制呢? Dart 语言中必须有一些特定的功能或概念,而这些功能或概念不能仅仅翻译为 JavaScript 代码吗?
原因是,一位朋友问我 Dart 是否可以将所有可能的内容编译为 JavaScript 或者例如5% 的语言元素(你知道,非常酷的改进的东西)将无法编译。
我的初创公司已经用 Dart 开发了一个超过 50,000 行的应用程序,到目前为止,在将 Dart 编译为 JavaScript 方面遇到了很少的限制。 Dart 从一开始就被设计为转换为 JavaScript,因此它不会遭受困扰 GWT 的编译问题(分配的 Java 类无法通过 GWT 序列化为 Javascript,导致人们出于其他原因包装内容,除了让 GWT 编译器满意)。
话虽如此,将 Dart 编译为 JavaScript 时确实存在一些限制,但其中大多数与服务器端技术有关,这些技术无法在浏览器中运行,例如套接字和 IO 访问,因此非常合理。在将对象传递给隔离方面也存在一些限制,但我相信这些将在未来版本的dart2js中得到解决。
我可以附上常见问题解答吗? ;)
问。任何有效的 Dart 代码是否会编译为 JavaScript,或者是否存在 限制? 是的,我们打算将任何有效的 Dart 代码编译为 JavaScript。如果我们的编译器之一缺少某些支持, 这是一个错误(在编译器或规范中)。
因此,如果现在情况并非如此,至少 Google 的目标是将任何 Dart 代码编译为 JavaScript。