如果您今天开始新的web Java项目,您会使用什么堆栈?
如果您今天要开始一个全新的Java项目,需要满足以下要求:如果您今天开始新的web Java项目,您会使用什么堆栈?,java,model-view-controller,frameworks,stack,Java,Model View Controller,Frameworks,Stack,如果您今天要开始一个全新的Java项目,需要满足以下要求: 高规模(20k+用户) 你想使用相当成熟的技术(不会有太大的变化)&三年内不会死掉的技术 您需要一些非常高效的东西(无需在dev中重新启动服务器、保存代码及其自动编译和部署),生产力和上市时间是关键 前端有一些AJAX 没有脚本语言(JRuby、Groovy、PHP等),它必须是Java 必须支持i18n 你会使用什么堆栈&为什么?(当我说stack时,我的意思是,一切都是胡说八道,所以应用程序服务器、mvc框架、bean框架、OR
- 高规模(20k+用户)
- 你想使用相当成熟的技术(不会有太大的变化)&三年内不会死掉的技术
- 您需要一些非常高效的东西(无需在dev中重新启动服务器、保存代码及其自动编译和部署),生产力和上市时间是关键
- 前端有一些AJAX
- 没有脚本语言(JRuby、Groovy、PHP等),它必须是Java
- 必须支持i18n
你会使用什么堆栈&为什么?(当我说stack时,我的意思是,一切都是胡说八道,所以应用程序服务器、mvc框架、bean框架、ORM框架、javascript框架等等。)对于传统的java Web应用程序,为了您的目标,我会选择stripes作为mvc框架,因为它非常容易设置和运行,而且它与spring和hibernate配合得很好,并且具有良好的ajax支持 就生产率而言,eclipse动态web项目应该可以解决编译/部署问题。我一直在tomcat中使用它,但它也应该在jBoss中使用
我个人会使用Tomcat、条形码(MVC)、Hibernate(ORM)、Spring(如果需要)、jQuery(JS)和Eclipse进行开发。
< P>我会考虑使用java EE 6栈:- GlassFish v3作为应用服务器:不重,在开发过程中非常高效(将于年底前发布的GlassFish 3.1将具有集中管理/群集和高可用性/状态复制)
- JQuery、JSF2(或Wicket)用于演示
- CDI,EJB3.1(Lite?),JPA2.0(Hibernate3.5+或EclipseLink)
- (1) 嵌入焊接SE和/或玻璃鱼进行测试
- Tapestry 5和JQuery(Tapestry 5的设计是面向未来的,不需要重新启动服务器,而且开发速度非常快—组件非常精简—可扩展性也很好)
- springforbean配置(Tapestry支持基于注释的springbean配置)
- 手工制作的用于关系模型的JDBC(因为我不喜欢为ORM添加另一个代码层,手工制作可以更好地调优)
- Lucene用于不需要以关系方式查询的索引或数据
- Tomcat(或Jetty,如果嵌入式的话)-两者都是可靠且经过良好测试的服务器
- oracle11g数据库
- JPA2.0ORM和EclipseLink
- Glassfish v3(至少在OracleWebLogic与JavaEE6兼容之前),提供任何消息队列、DB连接池或您可能需要的任何JCA资源
- Scala和Spring我会选择:
最后,JQuery将使用一些现成的Javascript小部件,如日历控件、弹出窗口、用户消息和转换 呃。。。阿奎利安到底是什么?它的网页对此并不十分清楚,概览链接将我带回JBoss的主页。@R.Bemrose:这是一个用于集成测试的测试工具。我已经更新了项目站点的链接(并添加了更多链接)。我听说EJB3/JPA2在ORM方面并没有那么糟糕。再说一遍,EJB3/JPA2是接口,不是实现。答案基本相同,不过我肯定会使用Querydsl()进行查询构造。Oracle?预算问题出现了……你能详细说明一下“JSF2.0仍然很糟糕”的评论吗?没有规定预算限制。这个问题更倾向于可靠性和敏捷性。oracle标准版应该做到这一点,而不必过分追求预算和真正的应用程序集群。否则,像Postgresql或Mysql这样的东西就可以了,但它们的集群解决方案并没有那么强大,事实上,如果您想获得适当的支持,仍然需要成本。不过,所有这些都是好的数据库。“JSF2.0仍然很糟糕”,因为:a)JSF对设计师不友好,因为它希望他们学习标签和JSF生命周期。设计师通常使用所见即所得工具,如Dreamweaver和Photoshop。b) 有了JSF,您将任由可用组件摆布。一旦你需要一个稍微不同的行为,它就会变成一场噩梦。c) JSF不支持条件或循环,因为它“违背了它的模型”,这并不总是足够的。JSTL填补了一些空白,但它们各自的生命周期会带来问题(尝试使用JSTL循环来使用字符串数组作为JSF选项卡视图的标题)。