我的问题基于以下问题:Choosing a Java Web Framework now? 一年后。
我的问题的原因是在一年内发生了很多事情,游戏框架已经成熟等等,我想知道今天最热门的事情。今天框架的优点和缺点是什么。
答案 0 :(得分:3)
JSP是一种传统技术,JSF就像一只恐龙,它是有状态的,基于组件的。如果您想开发可以扩展数十,数百,数千个节点的高流量分布式应用程序,那么更喜欢无状态框架而不是基于组件的有状态框架。无状态框架可以轻松扩展。 Wicket,Tapestry和Lift也是有状态的。有Click框架,但它没有创新和速度。 Struts很好,但现在它是一个旧框架,Spring mvc 3比struts更好。是的,Spring mvc很好,但现在玩得更好了! Spring变得像Java EE一样,另一方面Play是一个很好的社区和文档的简单框架。它的未来是光明的。它在核心中具有许多功能(并且非常轻便),并且还有许多用于播放的模块(如rails gems)。在上一个版本中,它获得了websockets,依赖管理,db版本管理,更好的scala模块,......
特别是,新的游戏scala模板很容易,类型安全,具有最先进的语法(如asp.net mvc razor),具有很好的性能,你可以在测试http://www.jtict.com/blog/rails-wicket-grails-play-lift-jsp/中看到(游戏速度最快)测试)
你可以同时使用java和scala,但在我看来,scala是一种比java更好的语言,并与C#,Ruby,Python竞争新一代功能(java不能),所以我更喜欢scala和play。 Lift也是一个scala框架,但它比播放和高度有状态更复杂。
此外,您的平台和语言选择非常棒。作为一名经验丰富的.net开发人员,我不推荐asp.net webforms或asp.net mvc,总是更喜欢独立于平台的开源技术。 Python / Django和Ruby / Rails很慢而且不是类型安全的。 PHP和Perl是传统技术。今天最好的平台是jvm(.net只适用于windows和单声道被附件杀死),所以你走的是正确的道路。
答案 1 :(得分:3)
专注于Java框架,它取决于您的目标(就像IT中的所有内容一样!)
对于大公司的产品,您要么使用Java EE,要么使用标准的Struts / Spring / Hibernate。它们是经过验证的堆栈,该环境中的可扩展性需求由这些堆栈满足,并且在该环境中具有状态可能是相关的。此外,他们使用应用程序(Play,Scala,那是什么?)应用了新版本的“没有人被IBM收购”。
对于您的个人项目,没有任何商业目的,公正或有趣,任何您喜欢的框架。举起,玩,无论如何。
对于初创公司,我建议使用Lift或Play。我个人更喜欢Play,但是YMMV。两者都是敏捷框架,可简化开发并快速实现转变。完美匹配创业公司。差异(无状态与有状态等)是您在决定之前应该检查的内容。
在Scala vs Java上,它又取决于它。除非您很幸运,否则您将不被允许在企业环境中使用Scala(尽管会慢慢传播)。对于您自己的项目,没关系。对于初创公司,请选择您最了解的那个。我知道,学习很有吸引力,但如果你有6个月的Scala业余经验和5年的商业Java经验,那么在Scala中创建项目的时间和痛苦将是不值得的。