我想开发一个Web应用程序,就像在线调度程序一样。 (是的,我知道已经完成了一百万次。) 我的大部分经验都是Java,所以我想在考虑技术时利用它。
我主要是一个很少接触过UI编程的系统开发人员,所以我认为这是我需要完成大部分学习的地方。
您对我应该关注的技术有什么建议吗?我想专注于有市场且易于学习的技术。
到目前为止,这是我认为我需要的3层架构(从头开始):
我听说过“富互联网应用程序”开发工具,如Flex和Silverlight,但我不确定这些技术的市场。
编辑:似乎有很多关于Spring / Hibernate的提及,所以我会调查一下。我很感激反馈。
答案 0 :(得分:3)
我认为你的基础很好。
您可能希望查看一些框架/库,以便于您使用。
Web框架 - Wicket / Stripes / JSF / Tapestry(组件与基于请求的框架)
Javascript库 - JQuery / YUI / Dojo
至于您的模板语言,您可以使用JSP / Velocity / Freemarker。
只需研究一下框架和工具,可以尝试一些,看看哪种方法最适合你。
我正在使用的仅供参考。
答案 1 :(得分:3)
我个人将Spring添加到此列表中。依赖注入绝对是一项很好的学习技术,根据我的经验,Spring可以让你根据自己的喜好尽可能多地使用它。
你没有明确提到单元测试,但这肯定应该是混合的一部分 - 我在JUnit之外没有太多经验作为一个实际的测试框架,但是还有EasyMock和JMock(以及其他)用于模拟依赖关系。
这些都不是网络特定的,但仍然是重要的东西IMO:)
答案 2 :(得分:3)
我不得不反对Rich Internet Application没有市场。实际上,作为RIA的企业规模应用程序正在发展。 RIA优于普通Web应用程序的优势在于可用性。您可以获得Web应用程序的所有优势,但仍然能够保持类似桌面的用户界面。
您说您来自Java背景,并且对Web技术没有太多经验。好吧,我必须说你真的听起来像GWT或IT Mill Toolkit(基于GWT)的理想用户候选人。两者都是允许您纯粹用Java创建富Internet应用程序的框架!无需HTML或JavaScript技能。您将不得不学习CSS来为应用程序创建自己的主题。
这两个框架都是开源的,非常适合商业用途。 IT Mill Toolkit与GWT的区别在于它是服务器驱动的,这意味着业务逻辑在服务器上实现并运行,而不是在客户端浏览器中运行(GWT就是这种情况)。从软件安全的角度来看,这种服务器驱动的架构使应用程序更加安全。 GWT优于IT Mill Toolkit的优势在于更大的用户社区。 p>
对于ORM框架来说,Hibernate非常受欢迎。但是,我不是很喜欢它,因为即使它在技术上实现了Java Persistence API,它并不总是按预期运行,你将不得不使用大量的hibernate特定注释,这很难将你的应用程序联系起来。休眠(坏事!)如果你愿意,你不能轻易地转向另一个JPA提供商。实现JPA的Antoher ORM框架是EclipseLink。我没有亲自在企业规模的应用程序中使用EclipseLink(因为我还没有机会),但我正在将它用于一个较小的项目,它看起来相当不错。 EclipseLink是开源的,它的lisencing对商业用途很友好。 EclipseLink是由Oracle不断开发的,因此它的背景非常扎实。它实际上基于TopLink,这是Oracle的闭源JPA实现。
希望这会有所帮助:)
答案 3 :(得分:2)
前一段时间问到基本相同的问题,有一些非常有用的答案:
答案 4 :(得分:1)
如果您使用Java后端,我会建议您使用Hibernate作为JPA,JSF使用RichFaces(AJAX / skinning)和Facelets(查看渲染/模板) )为你的前端,Seam把它们放在一起。这是一个很棒的组合。
答案 5 :(得分:1)
如果你选择Spring,那么你可以使用Hibernate转到mysql,你可以拥有你需要的一切。
在你编写它之后,你想要开始改进它,然后可能开始考虑在浏览器端做更多的事情,但是,最初,你可能想让它没有ajax调用。
Spring Framework文档可能会有所帮助,因为Spring可以使用很多部分,例如Spring MVC,Spring Framework,Spring Webflow和Spring Security,如果需要的话。