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

时间:2010-10-16 07:42:57

标签: java gwt scala frameworks lift

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

5 个答案:

答案 0 :(得分:18)

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

GWT非常有吸引力,因为它允许您从前到后用Java编写Web应用程序;你用Java编写代码;并在Eclipse中调试程序,从客户端代码无缝地转到服务器端代码,然后再返回。这真是太棒了。

斯卡拉是一种美丽的语言,我和其他人一样爱着它。如果只有基于Scala的GWT变体! Some work has been done in that direction already。渐渐地,我将大部分服务器端代码迁移到Scala,令我非常满意。

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

同时考虑到IDE对Scala的支持仍然非常新生。坦率地说,我认为在使用Scala IDE for Eclipse时,我在使用Scala时可能看到的任何生产力增益都会在各种耗费时间的浪费中丢失。在IDEA中,这个故事可能稍微好一点,但不是很多。

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

答案 1 :(得分:6)

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

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

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

答案 2 :(得分:5)

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

修改

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

来自@dpp's interview

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

答案 3 :(得分:5)

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

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

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

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

答案 4 :(得分:4)

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