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

Java 具有多种配置的简单UI应用程序的最佳框架,java,user-interface,frameworks,Java,User Interface,Frameworks,我希望为UI开发选择一个(基于Java的)框架,具有以下约束: 该应用程序需要非常简单的UI(带有1或2个按钮的表单会生成一个图像、文本等列表),但实际呈现的UI元素类型很多 我们已经按照我们想要的方式实现了后端逻辑(以web服务的形式) 组件化很重要 我们希望(将来)有扩展点,允许外部开发人员更改UI的外观和感觉,而无需构建、编译和准备整个应用程序,甚至整个前端 UI层的性能和可伸缩性很重要,但我们不希望每台机器100 TPS,而且后端很可能成为瓶颈 易于维护是至关重要的 支持轻松国际化 (这

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

  • 该应用程序需要非常简单的UI(带有1或2个按钮的表单会生成一个图像、文本等列表),但实际呈现的UI元素类型很多
  • 我们已经按照我们想要的方式实现了后端逻辑(以web服务的形式)
  • 组件化很重要
  • 我们希望(将来)有扩展点,允许外部开发人员更改UI的外观和感觉,而无需构建、编译和准备整个应用程序,甚至整个前端
  • UI层的性能和可伸缩性很重要,但我们不希望每台机器100 TPS,而且后端很可能成为瓶颈
  • 易于维护是至关重要的
  • 支持轻松国际化
  • (这有点独特)我们可能希望某些UI组件根据浏览器功能、浏览器版本等进行不同的呈现。但是,我们希望对构建任何特定屏幕的开发人员隐藏这一事实(尽可能)

  • 到目前为止,我们的首选是Tapestry和JSF(可能是Facelets)。我在这里阅读了过去的讨论,例如,但它们似乎没有解决我的具体问题。有什么建议吗?

    我们也在考虑Groovy上的Grails,尽管我不太熟悉RoR风格的web开发方法。我也研究了SpringMVC,但我不确定我是否喜欢它作为我的用例。基于jsp的直接解决方案显然是一种选择,但这需要我们在中构建任何智能,并可能导致无法维护的丑陋的“jsp页面内的代码”,这就是为什么我对此犹豫不决。

    需要考虑的一件大事是您期望的更改。如果它是一个基于web的应用程序,您通常会选择一个围绕JSP构建的应用程序,因为它很容易更改,并且可以由设计者更改

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

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

    Spring MVC、Seam、Struts不适合在这里使用


    JSF是一个不错的选择,但它有一个相当好的学习曲线。虽然我不觉得这太难,但人们通常对此抱怨很多,我也看到开发人员并没有很快真正理解这一理念。优点是有很多开发人员。我仍然建议您至少浏览一下。

    因为您有web服务,GWT和Flex是可行的选择。特别是Flex,它被设计为使用Web服务作为服务层。

    试试Wicket。你永远不会回头

    • 基于组件的体系结构

    • 使用纯Java开发-wicket担心所有AJAX/Javascript

    • 标记继承与类继承密切相关—您习惯于在类级别继续使用—准备好在HTML级别重复使用

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

    尝试(µ)微米:。它是开源的,代码可以在


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

    基于jsp的解决方案如何易于更改?你能提供更多的见解吗?谢谢