2009-10-22 48 views
4

最近已经发布了几个工具,例如pyjamasScheme2js,它们允许用Python或Scheme等语言编写代码并将其编译为Javascript。编译另一种语言到Javascript的实用性?

但是这种工具有多实用?

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

此外,诸如jQuery之类的库使得写入Javascript变得更加有趣和富有成效。但对于许多开发人员来说,Javascript仍然是一门要学习的新语言。

有没有人在生产环境中使用编译的Javascript?任何关于编译为Javascript的实用性的建议或意见,而不是直接在JavaScript中编写代码?

回答

2

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

Google Wave使用GWT,可能是迄今为止使用它最受关注的Web应用程序;再加上大量的GWT使用网络应用程序列出here,我认为它确定无疑,该方法是实际(以及流行的;-)。无论是最佳(与编写实际的JavaScript与支持良好的框架)是一个更难回答的问题。

+2

不知道为什么你不称它为汇编; GWT编译器是一个完整的Java编译器,它在生成(优化的)Javascript之前进行语法和语义分析。编译器不需要定位“低级”语言。如果只是“翻译”,我们不会期望它进行这样的分析。 – 2009-10-22 15:41:04

+0

(那些不是吓人的引号或者他们所称的任何东西,如果遇到这种情况,很遗憾!) – 2009-10-22 15:42:06

2

其中一个比较常用的JavaScript编译器是GWT。这将Java编译为JavaScript,并且绝对用于生产。 Google Wave的网络界面写在这个系统中。

此外,Skydeck写道Ocamljs,以便他们编写FireFox扩展。这也工作得很好。总之,如果你可以编写一个好的编译器,没有showstoppers让你不用编写一个好的JavaScript编译器。

0

Google Web Toolkit这样做(Java to Javascript编译),GWT被Google(duh)和其他许多人广泛使用,所以它绝对实用。

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

0

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

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

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

相关问题