Scala可以用来编写GWT应用程序吗?

时间:2009-12-23 22:26:31

标签: gwt scala

可以使用Scala编写GWT应用程序吗?

(注意:Java / Scala新手在这里......)

7 个答案:

答案 0 :(得分:18)

正如已经说过的那样...... 还没有! This project应该使GWT能够支持客户端Scala代码。该项目还由Google工程师提供支持。

答案 1 :(得分:11)

简短回答是GWT可以调用使用Scala编写的程序。用Scala编写的最流行的Web框架是Lift - http://liftweb.net/,如果你想要一个纯Scala解决方案,它将是GWT的替代品。

GWT是使用Java编写的Web框架。客户端使用Java语言编写并编译为JavaScript,服务器端使用Java编写,可以使用Java JVM中可用的任何资源。 Scala是一种编译成可在JVM上执行的字节码的语言,也可以与标准Java程序交互。

答案 2 :(得分:5)

GWT编译器使用Java源代码,因为它提供了最大的可见性,允许在编译为Javascript时进行优化。关于使用字节码的问题偶尔会有讨论,但问题总是会导致如果编译器使用字节代码而不是源代码,很多优化都会丢失。

然而,有一个关于supporting Scala的有趣线索。但是,此时GWT团队的优先级似乎更侧重于Java语言编译器。

答案 3 :(得分:3)

如果您的意思是Google App Engine,托管网络应用程序的服务,answer is yes

如果你的意思是Google Web Toolkit,那就是将Java编译成JavaScript以在浏览器中运行的工具,我很确定答案是否定的。编译为JavaScript时,GWT会进行各种代码分析,这依赖于拥有Java源文件和.class文件。

答案 4 :(得分:3)

我知道有两个项目正在解决这个问题。

Jribble(pronounced dribble)是java的一种特殊形式,它没有java的一些人为约束,因此它可以用于scala字节,并且仍然为GWT提供生成高效javascript所需的信息。他们提到了一个名为scalagwt-sample(http://github.com/rfc2616/scalagwt-sample)的github项目,似乎非常活跃。

我读到的另一篇文章中有一个人使用j2js(GWT的一部分)将scala交叉编译为javascript。他们不会让我放置多个超链接,但这里是网址:

http://www.j2js.com/scala-demo/scala-days-2010-paper.pdf

我还没有时间尝试,但希望很快。

答案 5 :(得分:1)

是的!

它有Scala + GWT项目,scalagwt。 快速状态(我的观点当然): 生产使用前一步

详细状态from scala-lang.org

Scala to Javascript项目是一个研究项目,还不是我们可以称之为产品的东西。你可以玩得开心,但它还不是在你的工作中打赌你的工作。有bug。我们需要在文档和平滑边缘方面进行相当多的工作。

<强> Github上

Scala + GWT项目旨在通过GWT工具链为浏览器编译Scala代码。 您可以在github here

上分叉scalagwt项目

Scala + GWT | Google代码

在Youtube here

上查看精彩的演示文稿和大量说明

答案 6 :(得分:0)

有趣。在这种情况下,如果我想生成javascript用于很好的Web 2.0 w / Ajax,我将转移到python和睡衣,这最初是GWT的python端口。它还有一些其他有趣的属性,如生成代码以作为独立于平台的桌面应用程序运行。我不喜欢写POJO而不是POJO被限制转换为其他东西。