编译另一种语言到Javascript的实用性?

问题描述 投票:4回答:5

最近发布了一些工具,例如pyjamasScheme2js,它们允许用Python或Scheme等语言编写代码并将其编译为Javascript。

但这样的工具有多实用?

我可以看到调试非常痛苦,因为你必须调试已编译的javascript代码本身,并将该代码中的任何错误与原始python / scheme / etc源代码中的相应行相关联。即使使用智能堆栈跟踪(如睡衣-d选项提供),这仍然显得乏味。

此外,jQuery等库使编写Javascript更加有趣和高效。但对于许多开发人员来说,Javascript仍然是一门需要学习的新语言。

有没有人在生产环境中使用已编译的Javascript?有关编译到Javascript的实用性的任何建议或评论,而不是直接在Javascript中编写代码?

javascript compiler-construction
5个回答
2
投票

我相信基于Java的GWT可能是这种类型中最受欢迎的产品,尽管我不会将其描述为“将Java编译为JS”而是“生成JS代码”。虽然我个人分享了一些疑虑,并且宁愿直接编写JS,但我不得不承认它确实是一个非常实用且流行的工具,完全可以投入生产:我在内部观察到许多富有的Web应用程序并且足够复杂以保证前端/后端拆分越来越多地作为Python后端和Java前端结束 - 后者专门用于允许GWT(当然也有大量的Python)前端,以及大量的Python后端,但我认为这是一个趋势)。

谷歌Wave使用GWT,可能是迄今为止使用它最受关注的网络应用程序;加上大量使用GWT的网络应用程序列出here,我认为它毫无疑问地确定了这种方法是实用的(以及流行的;-)。它是否是最优的(与编写具有良好框架支持的实际javascript相比)是一个更难回答的问题。


2
投票

其中一个使用频率最高的JavaScript编译器是GWT。这将Java编译为JavaScript,并且绝对用于生产。 Google Wave的Web界面是在此系统中编写的。

此外,Skydeck写了Ocamljs,以便他们轻松编写FireFox扩展。这也很有效。

总之,如果你能编写一个好的编译器,就没有showstoppers阻止你编写一个好的JavaScript编译器。


0
投票

Google Web Toolkit做到了(Java到Javascript编译),GWT被谷歌(duh)和其他许多人广泛使用,所以它绝对是实用的。

由于代码是自动生成的,所以debug problems in Java - 假设问题出现在代码中,而不是编译器代码中,99%的情况都是如此。



0
投票

作为另一个例子,可以提到Haxe。 Haxe是一种独立的语言,可编译为Flash 6-10,JavaScript,NekoVM以及c ++ - 源代码。为什么这个实用?

  • 你可以使用语言本身无法提供的功能
  • 在多个平台上重新编译代码(例如:JavaScript和服务器端的表单检查)
  • 有一个用于平台之间通信的远程包和它的天才。
  • 通过编译器自动完成
  • 编译时间类型检查

如果你有兴趣,你可以开始阅读here

© www.soinside.com 2019 - 2024. All rights reserved.