我想从头开始一个项目。多年来我一直是一个java开发人员。一段时间前,为了好玩,我甚至写了自己的mvc框架。现在我在一家使用内部框架的公司工作,我认为这完全是时间和金钱的损失。我尊重与不同技术人员合作进行大规模项目的想法。项目的分离是非常重要的;Graphics人员、前端开发人员、软件体系结构、软件开发人员、数据库专家等等。我不能冒险使用像php这样的脚本语言。
最近,我正在为一个大型项目从各个方面研究java技术。我的意思是,在最前面的一层,我遇到了非常著名的技术。
他们中的每一个都说这是最简单、最快、最新的技术。当然,只有一个人能把握住真相。我需要一种前端技术来快速实现ajax、客户/管理员安全性、主题、模板、国际化、缓存静态页面、集群和对ejb的支持。它还应该提供IDE支持、社区支持、丰富的文档和在线教程。不过,我对那些可供选择的框架没有经验。也许还有更好的?最重要的是,我不能冒险启动一项具有开发限制的技术。对这一层有什么建议吗?
对于业务层,我确信EJB和JPA。我甚至考虑为这一层的外观提供web服务,以实现未来扩展的互操作性。但是,我不知道如何保护这个层(它可以应用在它的web服务级别上),这对我来说仍然是个问题。对于应用服务器,我正在考虑GlassFish。
最后一个问题是开发应该选择什么IDE。对于将要使用的所有技术,IDE应该在每一步都帮助我,要么为我做配置,要么帮助我配置它的现成向导。我想IDE会有合适的插件来使用技术。
我知道我想要的太多了,但是我希望能结合一些技术来帮助我在未来的计划中节省时间和金钱。
我会很高兴听到你的回应,更大的经验。
编辑:没有终极答案,我知道。我只是在听取意见。任何回答都是非常感谢的。
发布于 2010-12-14 16:21:02
好吧,我要冒险提出具体的建议,因为我认为这个问题是可以回答的。
我将简单地推荐我的堆栈。
我的堆栈是前端的条形图,后端是Glassfish/Java 5。
条纹是一个简单的动作(或MVC,无论你的船是什么),它有一个小的,但强大的和声音社区。它与JPA (通过插件)紧密集成,这是一本非常好的、最新的关于这个主题的打印机书籍以及优秀的参考文档。它的主要渲染技术是带有JSP标记和EL的JSP。
它不是像JSF/MyFaces这样的组件框架,所以它的实现更简单,它的生命周期也更简单。它在Ajax中运行得很好。
因为它基于HTTP请求周期,所以围绕Stripes的关键因素是它为您完成了大部分的grunge工作,但是它非常轻量级。这是很容易得到和理解的。创建一个基本的条纹应用程序是web.xml中的几行代码和两个jars (其中之一是log4j)。如果您可以在HTTP中进行思考,那么Stripes是很适合您的。
在后端,我只需坚持使用EJB和GlassFish。Java 6和GFv3已经发布了一段时间。它在Java 5上提供了许多新特性,GlassFish提供了您想要使用的大多数web服务技术。Java 6和Spring在一个项目点的基础上几乎是相等的,而且由于您查看的是GF,所以您最好使用EJB,因为它已经存在并集成在框中。如果您使用Tomcat,那么Spring可能是一个不错的选择。
而且,就是这样。这就是你所需要的(我不知道你想要的是什么,如果你愿意的话,你可以随意添加,但我不会在页面上使用它,就我个人而言,现代的JSP是更好的IMHO)。
Glassfish将保护您的web服务,您可以在您的web应用程序中使用Java安全性,您可以在后端EJB与您的web应用程序和web服务之间共享逻辑。所有这一切工作在15分钟的配置,使条纹运行箱外。
我使用NetBeans,但是所有其他IDE都可以工作。NetBeans很不错,因为它与玻璃鱼集成在一起。需要配置的东西少了一件。下载它,启动它,它就能工作了。
有一个NetBeans的条纹插件,我不使用。我不认为有必要。一旦你把你的几行代码添加到你的web.xml中,你就再也看不到斑纹了。从那里开始,所有这些都是简单的注释。
除非您对组件框架的复杂性和学习曲线有很强的需求,否则它不会比Stripes更好,而且GF w/Java 6中包含了您所需要的一切。
因此,概括地说:条纹发行版来自www.stripesframework.org,NetBeans下载自netbeans.org,Stripes则从stripes-stuff.SourceForm.net中持续存在。这是一个坚实的岩石基础,无论你想去哪里都行。
来看看freenode上的Stripes IRC吧,我们会回答您的任何问题(或者点击邮件列表)。
发布于 2010-12-14 15:18:53
首先,你的问题不好。每一项技术都有其光明和黑暗的一面。要选择一些特定的技术--你需要所有这些技术的经验来估计你的项目可能会出现哪些问题。根据您的定义:fast implementation for ajax, customer/administrator security, themes, templates, internationalization, caching static pages, clustering and a support of ejb - 90%的框架支持所有这些,要么直接支持,要么使用一些插件。
此外,对各种技术进行了更好的优化,以满足各种需求。你不可能拥有一个完美无缺、尽力而为的超级框架。由于该框架具有高度的可伸缩性和快速性(例如: Spring和/或Portlet),因此很难为一些小任务进行配置。
因此,我唯一能推荐的是谷歌“比较”,并希望取得最好的效果。
至于IDE,我只能看到两个选择: IntelliJ Idea和Eclipse。再说一遍,没有明确的赢家,所以谷歌再次成为你唯一的信息来源。
补充道:再次谈到了框架,复杂的项目同时使用其中的几个来帮助满足特定的项目需求。但要有效地做到这一点,你需要成为所有混合技术的专家。
发布于 2010-12-14 15:24:04
几乎没有人能真正为你回答这个问题。在前沿技术方面,其中一个框架将对你有效,而其他框架则不会。这取决于你认为哪一个框架是合理的。我的建议是试一试,挑选那些你觉得最舒服的。
话虽如此,我确实有一些建议。首先,不要局限于使用Java。如果是我,我会使用运行在jRuby上的Rails作为前端,因为它是我使用过的开发web应用程序最快的框架。通过在jRuby上运行它,您可以连接到Java,并让java及其库在后端完成所有繁重的工作。我将远离web服务,并使用ReST实现一些东西。
就IDE而言,绝对支持IntelliJ的想法。这可能需要一点时间来适应,但它肯定是市场上最快的IDE。然而,Eclipse和Netbeans对于Java来说也是非常好的,而且价格也比较便宜。
答案又一次是,“视情况而定”。
https://stackoverflow.com/questions/4440496
复制相似问题