哪个是更好的框架Java / GWT或Scala / Lift?

我想开始一个新的Web应用程序项目,我感到困惑的是两个框架,即GWT(Java)或Lift(Scala)。 所以我想要你的意见我选择哪一个? 根据我的项目要求,两者都很好。 那么在框架比较的基础上请告诉我哪个好?

我发现GWT对于客户端来说是一种非常有效的技术,并且在服务器端使用Java和Scala的组合。

GWT很有吸引力,因为它允许您从头到尾用Java编写Web应用程序; 你用Java编写代码; 然后在Eclipse中调试程序,从客户端代码无缝地转到服务器端代码,然后再返回。 这真是一件美妙的事。

Scala是一种美丽的语言,我和其他人一样喜欢它。 如果只有基于Scala的GWT变体! 已经在这方面做了一些工作 。 渐渐地,我将大部分服务器端代码迁移到Scala,令我非常满意。

如果你使用Lift,你需要做多少JavaScript编码? 你觉得JavaScript很舒服吗? 您的应用程序的客户端行为有多复杂? 对于相当直接的客户端逻辑,我确信Lift会令人满意。 如果你想构建一个类似桌面的应用程序,并且/或者你特别担心从你的应用程序中挤出最后一滴速度,请使用GWT。 无论哪种方式,你都不会失望; 他们是投资的伟大技术。

同样考虑到IDE对Scala的支持仍然非常新生。 坦率地说,我认为使用Scala可能会在使用Scala IDE for Eclipse时遭遇各种浪费时间的任何工作效率提升。 在IDEA中,这个故事可能稍微好一些,但不是很多。

也许您可以为自己分配一段固定的时间来探索Lift和GWT,并根据您在那段时间内得出的结论做出自己的决定。 要有纪律,坚持你留出的时间框。

不要忘记你也可以在Scala上使用GWT(Scala上的服务器端代码和Java上的客户端代码)。

这些组合最擅长的还有一些区别。 例如,Lift具有超级彗星支持,GWT对于更富有的客户端更好,并且可以减少服务器请求的数量。

除非你需要真正丰富的客户端或巨大的可扩展性(例如没有会话,大量客户端缓存等),否则我选择了Lift。

它们都生成一个Web应用程序,但本质上是不同的框架,所以我不知道如何比较它们。 当你说“好”时,你有什么标准?

编辑

可伸缩性和性能取决于事务和数据后端的类型,但是在所有条件相同的情况下,您可以更好地使用Lift / Scala。

来自@ dpp的采访 :

  • 与任何其他网络框架相比,Lift对Comet的支持更好……这就是Novell为Pulse前端选择Lift的原因。
  • Lift具有出色的Ajax支持。
  • Lift是持久性不可知的,因此它适用于您现有的Java模型对象和业务逻辑。
  • Lift的REST支持比任何其他JVM Web框架中的REST支持更加灵活和安全。

就个人而言,我建议电梯。 但这是纯粹由人为驱动的推荐,与两个框架的相对技术优点无关。

您甚至知道提出这个问题的事实表明您已经了解Scala,并且可能希望进一步使用该语言。 在这种情况下,如果你受限于然后用Java编写应用程序,我想你会很快感到沮丧。

虽然Scala 可以与GWT一起使用,但你会发现Lift对Scala的一些更好的function(即演员)提供了更好的支持。 因此,我赞成Lift。

您可能还想调查Scalatra和Play作为Scala的替代Web框架。

我即将开始一个Web UI项目,所以我发现这个线程非常有用。 我知道原帖是为了比较GWT和Lift各自的优点,但你可能也有兴趣看看Vaadin(http://vaadin.com/home)。 它使用GWT在浏览器中进行渲染,但大多数UI结构和逻辑都是在服务器端实现的。 服务器端代码可以用任何JVM语言实现(因此您可以使用Scala)。 因此,如果您是Scala粉丝,这可能是适合您的解决方案。