为了账号安全,请及时绑定邮箱和手机立即绑定

现在选择Java Web Framework?

/ 猿问

现在选择Java Web Framework?

白衣非少年 2019-10-23 13:11:01

我们正处于将基于自定义开发的mvc框架构建的大型网站迁移到基于Java的网络框架的计划阶段,该网络框架对ajax,富媒体内容,混搭,基于模板的布局,验证,最大html /提供内置支持java代码分离。Grails看起来是一个不错的选择,但是,我们不想使用脚本语言。我们要继续使用Java。基于模板的布局是首要考虑的问题,因为我们打算将此Web应用程序与功能相似但外观完全不同的多个网站一起使用。


基于门户的解决方案是否非常适合此问题?


有关使用“ Spring Roo”或“ Play”的任何见解都将非常有帮助。


我没有找到类似的职位像这样,但它是一个多岁。同时,情况肯定发生了变化!


编辑1:感谢您的伟大答案!该网站正成为最佳的渠道内程序员信息的单一来源。但是,我期待有关使用Portal-cms二重奏的更多信息。贾伊亚(Jahia)看货。有什么相似之处吗?


查看完整描述

3 回答

?
慕工程0101907

基于门户的解决方案是否非常适合此问题?


就个人而言,我会远离大型门户网站解决方案(它们通常是生产力的杀手ers)。虽然我听说过有关Gatein的好消息,但是我没有任何实际经验。


有关使用“ Spring Roo”或“ Play”的任何见解都将非常有帮助。


关于Spring Roo,我已经在互联网上阅读过诸如Spring Roo Vs(Wicket和Spring)之类的先前答案以及其他内容,但是我仍然不确定(也许我不明白),我不确定它的成熟度,更重要的是,我真的很想知道SpringSource对Grails和Roo所做的事情(不,Grails与Roo –为什么SpringSource推动两种非常相似的技术?不让我相信它们都能生存)。


关于Play,我不能说太多。我和所有人一样都看过该演示,但我想阅读现实生活中的反馈。在那之前,我将等待。


我确实找到了类似的帖子(...)。同时,情况肯定发生了变化!


是的,不是:)但是,让我们进入演示框架吧:您的问题没有一个答案(就像一年前一样),周围有数十个框架,而且没有明确的赢家。仅举几例:


JSF:许多人都对基于组件的框架持怀疑态度,包括我在内,所以我不是谈论它的最佳人,但是...

JSF 2(+ CDI /焊接):(Gavin King鼓励)JSF怀疑论者“重新审视”。确实,我认为JSF 2是一个很大的改进,尤其是对于CDI而言,但是...它仍然是相当新的(理解,它没有费用返还)。如果您想使用Java EE 6,请进行检查。

Wicket:另一个基于组件的框架越来越受到关注。我听到的大部分都是关于它的好处:比JSF简单,好设计,可测试性高,对HTML设计人员友好等。您可能喜欢它。

Tapestry:只是不要(请参阅为什么停止使用Tapestry?)

Struts 2,Spring MVC,Stripes:基于动作的框架。一切都不错,将满足您的需求(个人而言,我喜欢Stripes及其在配置方法上的约定,请参阅Stripes vs. Struts2了解它)。

GWT,Flex,Grails:这些可能不是您想要的。我真的不能谈论Flex和GWT(最新版本),但是我知道Grails确实有 一些 支持者。

实际上,我建议您看一下Matt Raible的演示文稿,他在比较Web框架,显示其优势和劣势,收集事实和数字,显示趋势方面确实做得非常好。我建议:


比较JSF,Spring MVC,Stripes,Struts 2,Tapestry和Wicket(仍然不作废)

未来的Web框架:Flex,GWT,Rails和Grails(只是为了尝试替代方法)

比较Kick-Ass Web框架(这是最新的)

确实,看看这些演示文稿,它们将帮助您找到合适的框架(没有唯一的答案,但是您可以通过消除选择来限制选择),并且可能会改变您的观点。


查看完整回答
反对 回复 2019-10-23
?
忽然笑

我已经使用Spring 3和Jquery一段时间了,但听说了Play并试了一下。我真的很喜欢,Play非常适合PHP之类的东西和诸如Spring之类的重型Java框架。

我最喜欢玩的东西是:

  • 很容易就可以创建一个播放应用程序,您必须在编码和配置上走得很远,才能使用Spring在屏幕上获得一个简单的原始应用程序(尽管Spring 3使其变得更加容易)。

  • Spring Security很棒,但是却以复杂性为代价。Play的安全模块非常简单,可以满足大约90%的应用程序的需求。

  • 您可以进行代码更改,然后在浏览器中单击刷新以查看更改,就像使用PHP一样,而不必使用基于Servlet的框架进行整个重新部署。

  • 错误消息可以很好地显示,并且在大多数情况下不是那么神秘。Play仍需要进行错误处理

  • Play的插件机制非常简单。

  • 对象持久性非常出色,因为内存数据库和JPA随框架一起提供,因此无需配置外部对象持久性工具。从内存数据库到实际的RDBMS是配置文件中的一行更改。

  • MVC设置非常好。您扩展来创建域对象的Model类与JPA实体管理器集成在一起。他们不只是POJO的。

  • 将URL映射到控制器既简单又灵活,并且都在一个“路由”文件中。

  • 每当创建项目时,Play都会处理所有jar依赖项,并且Play具有一个实用工具来对项目进行月食化(或任何您喜欢的IDE),以便将其直接导入到您喜欢的IDE中。

我不喜欢Play的事情

  • 文档还不完整,仍然存在许多未记录的功能。

  • 该框架是服务器,因此您必须为每个应用程序专用一个端口。我认为有人正在开发虚拟主机插件,但我还没有看到它的实际应用。

  • 它还很年轻,项目很棒,技术很棒,但确实需要更多的开发人员。我们将花一些时间来解决这个问题。


查看完整回答
反对 回复 2019-10-23
?
互换的青春

对我来说,前三个选择是(按字母顺序):


JSF

春季MVC

支柱2

他们:


有很好的ajax支持

允许您创建实际的网站,而不是应用程序(例如GWT)

稳定,有据可查,用途广泛

MVC

纯Java

与Spring轻松集成为中间件


查看完整回答
反对 回复 2019-10-23

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信