.NET和Java到JavaScript编译器

10
我想要使用JavaScript、HTML和CSS创建一个拖放布局设计器。这个设计器将允许用户将页面元素从一个地方拖动到另一个地方(类似于Blogger的布局设计器),以创建网站布局。但我不想手动编写所有JavaScript代码,我更喜欢用.NET(最好是)或Java编写我的应用程序,并依赖编译器将其编译为JavaScript和HTML。
你用过并且可以推荐哪些.NET或Java转JavaScript编译器?对于Java转JavaScript,我知道GWT可用。那.NET转JavaScript呢?微软推出了Volta,但该项目似乎已不再可用。

建议将其作为Google Summer of Code项目? - Gabriel Chung
9个回答

9

不用再找了,你已经提到了GWT!

GWT有非常好的API,许多优秀的应用程序都使用它们。

甚至像http://extjs.com/这样的JavaScript框架也支持GWT。

我最近用它做了一个小型的JavaScript日历。

老实说,我并不是很喜欢JavaScript。大多数情况下,错误很难追踪(特别是对于像我这样不懂JavaScript的人),而解决方法包括一些插件来获取编译器应该执行的内容。要尽早发现愚蠢的错误。

另一方面,我非常熟悉Java编程语言,许多库(如果不是最重要的)如java.lang和java.util已被移植到GWT中。

此外,编写java.util相关部分的人就是GWT背后的同一个人(Google的Joshua Bloch)。


GWT在服务器端的实现方式取决于它是否会让人感到痛苦。但是在当前版本中,它变得更加出色了。 - Chii
ExtGWT是一个独立于ExtJS的项目,但它非常糟糕。首先,这个人在泛型方面绝对没有任何头绪。建议远离。 - cletus

4

看看Nikhil Khotari的Script#项目。它允许你编写C#代码并将其编译为JavaScript。


真的吗?恶意降低评分? - Franci Penov

4

我对Script#(一个已知的问题)的问题是它还不支持jQuery。然而,它带有一个非常轻量级的库与.NET框架相结合,在Nikhil的sscorlib.js文件和ssfx.core.js文件中。并且还支持许多其他JavaScript API(主要是Microsoft,因为他在ASP.NET团队中)。

如果能看到Script#扩展支持jQuery,那将是太好了(如果容易的话,我正在考虑编写它)。目前大多数还没有提供完整的编译,但它们肯定正在接近。

更新:我在几个月前编写了一个小扩展,以使JQuery支持Script#。该项目可以在这里找到。


上次我访问 Script# 网站时,看到 jQuery 已经列入了下一个版本的 Script# 路线图中(预计在 2009 年发布)。 - Nosredna

3

我赞成使用GWT。我已经在几个项目中使用它,当与现代编辑器(如EclipseIDEA)结合使用时,它确实使mess变得易于管理。

需要注意的是,它不仅允许您编写Java代码并将其转换为经过优化和混淆的JavaScript,而且还附带了Java API核心的大量子集合。除此之外,它们还提供了许多其他类以执行诸如解析和处理JSONXML以及通过异步HTTP与服务器通信等操作。您可以查看文档以了解他们还提供了哪些内容。

另一个可能对您实现拖放功能特别有兴趣的功能是它与JavaScript库(如Extscriptaculous)的集成。可以通过预构建的界面或通过JSNI进行集成。


2
对于Java也有J2S
Java2Script(J2S)Pacemaker提供了Eclipse Java到JavaScript编译器插件和JavaScript版本的Eclipse Standard Widget Toolkit(SWT)实现,以及其他常见的工具,如java.lang.*和java.util.*。您可以通过Java2Script Pacemaker将基于SWT的Rich Client Platform(RCP)转换为Rich Internet Application(RIA)。
这意味着,如果您使用SWT IDE(拖放),则可以将生成的代码转换为JS + HTML。

1

我不会手写任何用于UI的Javascript。这样做可能导致维护上的灾难。我正在使用jQuery,但我仍然不会使用它来编写完整的UI Javascript代码。如果你打算用Javascript编写,ExtJS也是另一个很好的选择。总的来说,我在这里说的是,在Java/C#中进行维护要比Javascript容易得多。看看cappuccino frameworkAtlas。从未使用过GWT。Script#类似于GWT,但适用于ASP.NET框架。还取决于需求,如果你的网站面向公众,则RIA不是一个好的选择。这完全取决于你追求的极端(手写和Web标准,或者RAD或像jQuery/ExtJS这样的库作为中间选项)。


1

看看Axial,这是一个在ASP.NET中运行良好的.NET到JavaScript转换器。它支持WebForms、jQuery和canvas。虽然它还不是很成熟,但值得一试。


1

0
JscriptSuite提供了另一个免费的.NET到Javascript编译器。与Saltarelle(jsc,SharpKit#等)相比有很大的区别。开发人员只需编写和调试C#代码(或任何其他.NET语言),就像在GWT中一样。Javascript仅用于部署时生成。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接