我的问题基于以下问题:一年后的Choosing a Java Web Framework now? ..only。
我提问的原因是一年内发生了很多事情,play框架已经成熟等等,我想知道今天最热门的事情是什么。今天的框架有什么优点和缺点。
发布于 2011-06-07 10:56:57
专注于Java框架,这取决于您的目标(就像it中的一切!)
对于大公司的产品,您要么使用Java,要么使用标准的/
在Scala和Java上,这同样取决于。除非你够幸运,否则你是不会被允许在企业环境中使用Scala的(尽管它正在慢慢普及)。对于你自己的项目,这并不重要。对于启动,选择一个你最熟悉的。我知道,学习很吸引人,但是如果你有6个月的Scala业余爱好者经验和5年的商业Java经验,那么在Scala中创建项目的时间和痛苦是不值得的。
发布于 2011-06-06 18:30:04
JSP是一项遗留技术,JSF就像一只恐龙,它是有状态的和基于组件的。如果你想开发可以扩展数十、数百、数千个节点的高流量分布式应用程序,则首选无状态框架而不是基于组件的有状态框架。无状态框架可以很容易地扩展。Wicket、Tapestry和Lift也是有状态的。虽然有Click框架,但它既没有创新,也没有速度。struts很好,但现在它是一个旧框架,Spring mvc 3比Struts更好。是的,Spring mvc很好,但现在有更多更好的玩法!Spring在时间上变得像Java EE,另一方面,Play是一个非常简单的框架,有一个很好的社区和文档。它的未来是光明的。它的核心有很多特性(而且非常轻巧),还有很多专门为游戏而写的模块(比如rails的gem)。在上一个版本中,它有websockets,依赖管理,数据库版本管理,更好的scala模块,...
特别是,新的play scala模板非常简单,使用最先进的语法(如asp.net mvc剃刀)确保类型安全,并具有很好的性能,正如您在测试http://www.jtict.com/blog/rails-wicket-grails-play-lift-jsp/中所看到的那样(play在测试中速度最快)
你可以在play中使用java和scala,但在我看来,scala是一种比java更好的语言,在新一代特性上与C#、Ruby、Python竞争(java不能),所以我更喜欢scala和play。Lift也是一个scala框架,但它比play更复杂,而且高度有状态。
另外,你的平台和语言选择也很棒。作为一名经验丰富的.net开发人员,我不推荐asp.net webforms或asp.net mvc,总是更喜欢与平台无关的开源技术。Python/Django和Ruby/Rails都很慢,而且类型不安全。PHP和Perl是遗留技术。现在最好的平台是jvm (.net只能在windows和mono上运行),所以你走对了路。
https://stackoverflow.com/questions/6254728
复制