java - 各种 Java Web 表示层技术的优缺点

标签 java jakarta-ee presentation-layer

我目前正在开发一个大量使用 JSF 和 IceFaces 的网络应用程序。我们已经就转移到另一个表示层进行了一些讨论,我想我应该将讨论带到 SO 中,看看专家们的想法。

我很好奇是否有人可以权衡各种 Java 表示层技术的优缺点。如果你只和一个人合作过,请说出你喜欢它或讨厌它的原因。如果您曾与几个人合作过,请给出您对他们如何相互比较的印象。

我们正在考虑的技术是:

  • 冰面
  • JSF(没有 IceFaces)
  • GWT(谷歌网络工具包)
  • wicket
  • 挂毯

如果我的列表中遗漏了任何内容,请告诉我。

谢谢!

最佳答案

我的观点非常偏向于 Wicket,因为在被 JSP 地雷绊倒太多次之后,我已经使用了一段时间。

Wicket PRO:

  • 布局和代码的真正分离。
  • 基于组件,这意味着站点元素的高度可重用性;例如,您可以创建带有自动标签和 CSS 样式以及所有内容的美化表单,只需在组件的构造函数中更改它的 DAO 对象,它就可以在另一个项目中完全重用。
  • 对 Ajax、Portlet 和各种框架的出色支持通常直接开箱即用,更重要的是它不依赖于 slf4j/log4j 以外的任何东西来工作,一切都是可选的!

wicket 缺点:

  • 总体上开发有些困惑,Wicket 泛型现在有点乱,尽管它们在 1.4 中已经清理了很多
  • 一些组件(如 Form.onSubmit())需要广泛的子类化或匿名方法重写以便轻松注入(inject)行为。这部分是由于 Wicket 强大的基于事件的设计,但不幸的是,这也意味着很容易使代码与 Wicket 混淆。

随机缺点:(也就是说,我没有用过,但这些是我的意见和/或我听说过的事情)

  • GWT 是基于 JavaScript 的,这对我来说听起来很愚蠢。主要问题是它让我想起太多 JSP:s 及其自动生成的类,这太糟糕了。
  • Tapestry 没有以一种可以在两者之间轻松验证的方式正确分离标记和代码,这会在将来导致问题。

关于java - 各种 Java Web 表示层技术的优缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/538550/

相关文章:

eclipse - 获得了不是 ReferenceType 成员的 RefenceType 的 MethodID

c# - 我应该尝试将 asp 控件事件放入 BLL 中吗?

module - 如何在不单独声明每个元素的情况下使用 Spock 一次验证 Geb 模块的全部内容?

java - 除了 JSF/JSP for Java EE 之外,还有其他强集成的表示层工具吗?

java - 为什么我在线程 "AWT-EventQueue-2"java.lang.NoClassDefFoundError 中遇到异常?

java - 按父顶点过滤 Gremlin 搜索

java - 在 Jersey/hk2 应用程序中配置 EntityManager

java - 创建参数化 Spring bean 配置

soap - 迁移到 Jakarta : ClassNotFoundException: com. sun.xml.internal.ws.spi.ProviderImpl

java - Java Web 应用程序中的嵌入式 Derby