选择JavaWebFramework 2011

选择JavaWebFramework 2011,java,web-services,web-applications,web-frameworks,Java,Web Services,Web Applications,Web Frameworks,我的问题基于以下问题: 一年后 我提出这个问题的原因是一年内发生了很多事情,游戏框架已经成熟,等等,我想知道今天最热门的事情是什么。当今框架的优点和缺点是什么。JSP是一种遗留技术,JSF就像恐龙一样,它是有状态的、基于组件的。如果您想开发能够扩展数十个、数百个、数千个节点的高流量分布式应用程序,那么与基于组件的有状态框架相比,您更喜欢无状态框架。无状态框架可以轻松扩展。Wicket、Tapestry和Lift也很有状态。有点击框架,但它既没有创新,也没有速度。Struts很好,但它现在是一个旧

我的问题基于以下问题: 一年后


我提出这个问题的原因是一年内发生了很多事情,游戏框架已经成熟,等等,我想知道今天最热门的事情是什么。当今框架的优点和缺点是什么。

JSP是一种遗留技术,JSF就像恐龙一样,它是有状态的、基于组件的。如果您想开发能够扩展数十个、数百个、数千个节点的高流量分布式应用程序,那么与基于组件的有状态框架相比,您更喜欢无状态框架。无状态框架可以轻松扩展。Wicket、Tapestry和Lift也很有状态。有点击框架,但它既没有创新,也没有速度。Struts很好,但它现在是一个旧框架,SpringMVC3比Struts好。是的,春季mvc很好,但现在有更多更好的发挥!Spring在时间上变得像JavaEE,另一方面,Play是一个非常简单的框架,具有强大的社区和文档化功能。它的未来是光明的。它的核心有很多特性(而且非常轻),还有很多为游戏编写的模块(比如rails gems)。在上一个版本中,它得到了WebSocket、依赖性管理、db版本管理、更好的scala模块

特别是,新的play scala模板非常简单,类型安全,具有最先进的语法(如asp.net mvc razor),性能非常好,正如您在测试中看到的(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上工作,被attachmate扼杀),因此您走的是正确的道路。

专注于Java框架,这取决于您的目标(以及其中的一切!)

  • 对于大公司的产品,您可以选择JavaEE或标准Struts/Spring/Hibernate。它们是经过验证的堆栈,这些堆栈可以满足该环境中的可伸缩性需求,并且有状态在该环境中是相关的。此外,他们在应用程序(Play,Scala,那是什么?)中应用了新版本的“没有人因为购买IBM而被解雇”

  • 对于你的个人项目,没有商业目标,只是或有趣,任何你喜欢的框架。举,玩,随便什么

  • 对于一家初创公司,我建议你要么玩,要么玩。我个人更喜欢玩,但我不喜欢。两者都是敏捷框架,简化了开发,并提供了快速的周转。非常适合创业公司。区别(无状态与有状态等)是您在决定之前应该检查的


在Scala和Java之间,这同样取决于。除非你运气好,否则你将不被允许在公司环境中使用Scala(尽管正在慢慢推广)。对于你自己的项目,这并不重要。对于初创企业,选择你最了解的一家。我知道,学习很有吸引力,但如果你有6个月的Scala爱好者经验和5年的商业Java经验,那么在Scala中创建项目的时间和痛苦将是不值得的。

请通过拼写检查。在更透彻地阅读了《mono上个月去世》之后,支持它,它太固执己见了。ASP.NET MVC是可靠的。Python、Ruby和PHP都很好。Perl CGI脚本是传统的,但也有现代的(不太流行的)Perl框架。我确实同意Play是可靠的,但它不是“最好的”。再次感谢,从语言的角度来看,php很难看,但是python和ruby很好。PythonRuby和php的问题在于它们没有像jvm或.NETCLR这样的可靠平台。jvm有一些实现,但它们远没有比java或scala更好。在asp.net mvc中,你必须使用windows,这不是大多数初创公司的首选操作系统,也不是谷歌、ebay、亚马逊、facebook等顶级网站的首选操作系统,“scala模板制作非常简单”-它如何比旧的velocity更好,更不用说HybridJava了。。。商业技术和品味遗产我不明白你的意思。-1我猜你的参考问题出于历史目的被保留了下来,但它不应该被用作一个好问题的例子。这里没有正确的答案,这实际上只是开始讨论。我会投票决定关闭(如果我有足够的代表的话)。投票决定转移到程序员StackExchange为什么企业不使用Play或Scala,这是有效的选择?@Raynos大多数公司(特别是咨询公司)更喜欢使用“经验证和传播”的技术,因为它更容易向客户销售(他们落后于知识曲线)此外,更容易找到有知识的廉价员工(尖端技术通常更昂贵)。至少在Java世界:)不过我喜欢处于技术浪潮的早期。它更有趣。我可以很容易地向客户销售Play和Scala。@Raynos你也可以销售HybridJava吗?@Dima那个网站看起来像是1992年的。我拒绝将web框架用于狗屎网站,因为web框架必须是狗屎:)