【问题标题】:Best framework for simple UI application with multiple configurations具有多种配置的简单 UI 应用程序的最佳框架
【发布时间】:2010-09-30 09:42:47
【问题描述】:

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

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

到目前为止,我们的首选是 Tapestry 和 JSF(也许还有 Facelets)。我在这里阅读过过去的讨论,例如Best Web applications framework for Java?,但它们似乎并没有解决我的具体问题。有什么建议吗?

【问题讨论】:

    标签: java user-interface frameworks


    【解决方案1】:

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

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

    JSF 是一个不错的选择,但它有相当长的学习曲线。不过我觉得这并不太难,但是人们通常会抱怨很多,而且我看到开发人员并没有很快真正理解这一理念。优点是那里有大量的开发人员。我仍然建议,至少,看看Stripes

    【讨论】:

      【解决方案2】:

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

      更新

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

      【讨论】:

      • 基于 jsp 的解决方案如何易于更改?你能提供更多的见解吗?谢谢!
      【解决方案3】:

      我们也在考虑在 Groovy 上使用 Grails,尽管我对 Web 开发的 RoR 风格的方法不太熟悉。我还研究了 Spring mvc,但我不确定我是否喜欢它的用例。直接的基于 jsp 的解决方案显然是一种选择,但需要我们在其中构建任何智能,并且可能导致难以维护的丑陋的“jsp 页面内的代码”,这就是我犹豫这样做的原因。

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

          试试检票口。你永远不会回头!

          • 基于组件的架构。

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

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

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

          【讨论】:

            【解决方案6】:

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

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2018-04-14
              • 1970-01-01
              • 1970-01-01
              • 2012-01-14
              • 1970-01-01
              • 1970-01-01
              • 2023-03-31
              相关资源
              最近更新 更多