不用再找了,你已经提到了GWT!
GWT有非常好的API,许多优秀的应用程序都使用它们。
甚至像http://extjs.com/这样的JavaScript框架也支持GWT。
我最近用它做了一个小型的JavaScript日历。
老实说,我并不是很喜欢JavaScript。大多数情况下,错误很难追踪(特别是对于像我这样不懂JavaScript的人),而解决方法包括一些插件来获取编译器应该执行的内容。要尽早发现愚蠢的错误。
另一方面,我非常熟悉Java编程语言,许多库(如果不是最重要的)如java.lang和java.util已被移植到GWT中。
此外,编写java.util相关部分的人就是GWT背后的同一个人(Google的Joshua Bloch)。
我对Script#(一个已知的问题)的问题是它还不支持jQuery。然而,它带有一个非常轻量级的库与.NET框架相结合,在Nikhil的sscorlib.js文件和ssfx.core.js文件中。并且还支持许多其他JavaScript API(主要是Microsoft,因为他在ASP.NET团队中)。
如果能看到Script#扩展支持jQuery,那将是太好了(如果容易的话,我正在考虑编写它)。目前大多数还没有提供完整的编译,但它们肯定正在接近。
更新:我在几个月前编写了一个小扩展,以使JQuery支持Script#。该项目可以在这里找到。
我不会手写任何用于UI的Javascript。这样做可能导致维护上的灾难。我正在使用jQuery,但我仍然不会使用它来编写完整的UI Javascript代码。如果你打算用Javascript编写,ExtJS也是另一个很好的选择。总的来说,我在这里说的是,在Java/C#中进行维护要比Javascript容易得多。看看cappuccino framework和Atlas。从未使用过GWT。Script#类似于GWT,但适用于ASP.NET框架。还取决于需求,如果你的网站面向公众,则RIA不是一个好的选择。这完全取决于你追求的极端(手写和Web标准,或者RAD或像jQuery/ExtJS这样的库作为中间选项)。
看看Axial,这是一个在ASP.NET中运行良好的.NET到JavaScript转换器。它支持WebForms、jQuery和canvas。虽然它还不是很成熟,但值得一试。