具有多种配置的简单UI应用程序的最佳框架

时间:2009-01-08 23:52:46

标签: java user-interface frameworks

我希望为UI开发选择一个(基于Java的)框架,具有以下约束:

  1. 应用程序需要非常简单的UI(带有1或2个按钮的表单会生成图像,文本等列表),但呈现的UI元素的实际类型很多。
  2. 我们已经按照我们想要的方式实现了后端逻辑(以Web服务的形式)。
  3. 组件化很重要
  4. 我们希望拥有可扩展点(将来),以允许外部开发人员更改UI的外观,而无需构建,编译和分阶段整个应用程序甚至整个前端。 / LI>
  5. UI层的性能和可扩展性很重要,但我们并不期望每台机器100tps,后端很可能成为瓶颈无论如何
  6. 易于维护至关重要
  7. 支持轻松国际化
  8. (这有点独特)我们可能希望根据浏览器功能,浏览器版本等不同地呈现一些UI组件。但是,我们希望从构建任何特定屏幕的开发人员中隐藏这一事实(目前为止)尽可能)。
  9. 到目前为止,我们的首选是Tapestry和JSF(可能还有Facelets)。我已经阅读了过去的讨论,例如Best Web applications framework for Java?,但它们似乎没有解决我的具体问题。有什么建议吗?

6 个答案:

答案 0 :(得分:1)

要考虑的一件大事是您期望的变化。如果它是一个基于Web的应用程序,你通常会选择围绕JSP构建的选项,因为它易于更改,并且可以由设计人员进行更改。

更新

“改变怎么容易?”我问过。基本上,JSP有两个方面可以让它更容易更改:它是一个丰富的平台,在某种意义上说,你可以编写相对较少的JSP,比如编写自己的servlet并编写servlet以生成样式化的一致HTML;第二,由于大多数JSP看起来更像模板化HTML而不是Java代码,因此您可以让设计人员直接使用它。这意味着所有繁琐的设计决策都可以由设计师做出,而不是让设计师去做,向编码员展示,让编码器重新编码,然后将结果显示给设计师。

答案 1 :(得分:1)

IMO,Stripes也是一个可行的选择。 Stripes是一个使用最新Java技术构建Web应用程序的表示框架。因为,正如您所提到的,您已经拥有了所有后端,并且只需要一个UI框架。

Spring MVC,Seam,Struts不适合这里。

JSF是一个不错的选择,但它有很多学习曲线。我不觉得这太难了,但人们通常会抱怨这个很多,我看到开发人员很快就不太了解这个哲学。优点是那里有很多开发人员。我仍然建议至少看一眼Stripes

答案 2 :(得分:0)

我们也在考虑Grails on Groovy,尽管我对Web开发的RoR风格方法不太熟悉。我也看过Spring mvc,但我不确定我喜欢它用于我的用例。一个直接的基于jsp的解决方案显然是一个选项,但需要我们构建任何智能,并可能导致丑陋的“jsp页面内的代码”,这是不可维护的,这就是为什么我犹豫不决。

答案 3 :(得分:0)

由于您拥有Web服务,GWT和Flex是可行的选择。特别是,Flex旨在将Web服务用作服务层。

答案 4 :(得分:0)

尝试Wicket。你永远不会回头!

  • 基于组件的架构。

  • 开发纯Java - wicket对所有AJAX / Javascript的担忧

  • 标记继承与类继承密切相关 - 您习惯在类级别重用 - 准备在HTML级别重用。

  • 完美分离关注点。 HTML是有效的HTML,因此可以在任何HTML编辑器中进行编辑。允许Web设计人员在HTML / CSS中构建外观,同时开发人员使用Java编写代码。与JSP不同,Java永远无法进入表示层 - 这很棒!

答案 5 :(得分:0)

尝试(μ)Micro:http://micro-docs.simplegames.ca/。它是开源的,代码可在Github

获得

如果您有任何问题,请告诉我,我是作者。