我问这个问题是因为我在选择一个框架(或选择技术)方面遇到了一些困难,我可以学习并用它来为小型Java应用程序开发基于Web的UI:
有关我正在开发的应用程序的背景信息,请阅读this question:
因此,开发Java应用程序是正常的,现在我处于一个我想为它开发基于Web的UI的位置。
应用程序和数据库(MySQL)目前在Debian Linux机器上运行,因此我决定使用Tomcat来运行Web App。 Web App旨在实现以下目的:
1.通过CRUDing来自MYSQL数据库的数据来管理应用程序的执行
2.显示有关应用程序的状态信息(即,它的订单是什么,待处理的订单等等)
3.根据运行损益,历史和实时价格以及定价分析等方式生成按需报告
到目前为止,现在这里的问题很好:
关于如何开发UI有一些令人眼花缭乱的选择,仅举几例我看过:
JSPs + Spring MVC
JSPs + Sping WebFlow
JSPs + JSF + Facelets
Wicket
JSPs + JSTL
谢谢和亲切的问候
答案 0 :(得分:2)
Personaly,我更喜欢另一种方法, 我当然会选择Eclipse,Spring(或其他IOC容器),Hibernate / JPA + JAX-RS或用于服务器层的JAX-WS,但不是用于UI的nessecarily JSF / JSP。
对于表示层,我宁愿采用SOUI方法使用Flex,GWT或JQuery。 (服务层以XML或JSON的形式返回增量更新,我发誓不要说AJAX这个术语)
您的服务层将按要求从表示层序列化部分对象图,该表将充当被删除的客户端(处理“离线”数据集,并根据需要更新脏)
但这只是我的梦想,在我目前的项目中,我坚持使用Spring MVC和JSP + JSTL
我会给Jboss SEAM一个试驾,只是因为Gavin King支持它,但我认为它基于JSF。
我不知道为什么我没有看到JSF作为SOFEA / SOUI方法,因为JSF和AJAX很好地结合在一起,但由于某种原因,JSF并没有像上述建议那样赢得我的热情(Flex作为最爱)
答案 1 :(得分:1)
使用Java相关技术开发基于Web的UI是否有明确的行业标准?
那么,Sun的Java EE标准是Java Server Faces(JSF),但JSF的1.x版本是IMHO的一种失败。这就解释了为什么他们有很多替代品。但是没有,没有明显的赢家。
理想情况下,我想学习一个框架,我可以在大多数现实世界的工作中使用(最好是可以从Eclipse中使用的工作)。
实际上,Matt Raible已经在Comparing JVM Web Frameworks Presentation中找到了关于演示框架的非常着名的演示文稿(最新版本仅限于Java框架)。真的,看看他们两个,这是非常非常好的材料(有现实生活指标)。
就个人而言,我是一个JSF 1.x怀疑论者,所以我不会朝着这个方向前进(无论如何我的国家对JSF的需求不大),而是选择另一种选择。我认为Struts 2,Spring MVC,Stripes(这是我的首选),Wicket(这个越来越受到关注)都是不错的选择,他们都会完成工作,第一个就是我相信在就业市场上会有更多的问题(但不是最聪明的)。对于最终选择,我会遵循马特的建议:消除,不包括。如果就业市场上的受欢迎程度是一个重要标准,那么我猜Stripes和Wicket将会被淘汰。如果配置详细程度是一个问题,Stripes将获胜。如果你正在寻找一种Swing体验,Wicket就是你的朋友。
现在,我需要提一下,新发布的JSF 2和CDI(JSR 299)应该是一个很大的进步(根据工作人员的说法)。正如我所说,我是一个JSF怀疑论者,我需要再看看(因为Gavin says so)。但我仍然没有这样做我现在不能说什么,我不会对这个新版本的采用和未来市场需求做出任何赌注。但值得注意的是,带有CDI的JSF 2应该是一种全新的不同体验。