最近发布了一些工具,例如pyjamas和Scheme2js,它们允许用Python或Scheme等语言编写代码并将其编译为Javascript。
但这样的工具有多实用?
我可以看到调试非常痛苦,因为你必须调试已编译的javascript代码本身,并将该代码中的任何错误与原始python / scheme / etc源代码中的相应行相关联。即使使用智能堆栈跟踪(如睡衣-d选项提供),这仍然显得乏味。
此外,jQuery等库使编写Javascript更加有趣和高效。但对于许多开发人员来说,Javascript仍然是一门需要学习的新语言。
有没有人在生产环境中使用已编译的Javascript?有关编译到Javascript的实用性的任何建议或评论,而不是直接在Javascript中编写代码?
我相信基于Java的GWT可能是这种类型中最受欢迎的产品,尽管我不会将其描述为“将Java编译为JS”而是“生成JS代码”。虽然我个人分享了一些疑虑,并且宁愿直接编写JS,但我不得不承认它确实是一个非常实用且流行的工具,完全可以投入生产:我在内部观察到许多富有的Web应用程序并且足够复杂以保证前端/后端拆分越来越多地作为Python后端和Java前端结束 - 后者专门用于允许GWT(当然也有大量的Python)前端,以及大量的Python后端,但我认为这是一个趋势)。
谷歌Wave使用GWT,可能是迄今为止使用它最受关注的网络应用程序;加上大量使用GWT的网络应用程序列出here,我认为它毫无疑问地确定了这种方法是实用的(以及流行的;-)。它是否是最优的(与编写具有良好框架支持的实际javascript相比)是一个更难回答的问题。
Google Web Toolkit做到了(Java到Javascript编译),GWT被谷歌(duh)和其他许多人广泛使用,所以它绝对是实用的。
由于代码是自动生成的,所以debug problems in Java - 假设问题出现在代码中,而不是编译器代码中,99%的情况都是如此。