Java ApacheWicket的优势是什么?

Java ApacheWicket的优势是什么?,java,model-view-controller,spring,wicket,Java,Model View Controller,Spring,Wicket,我不是Java开发人员,所以我可能会弄错一些术语。。。但是 我集成的一个应用程序正在从Spring迁移到Wicket。虽然它不应该影响我与it的集成,但我开始想知道他们为什么会这样做 据我所知,Spring是更受欢迎的框架。我对它一无所知,只知道它很受欢迎。我确实读过Wicket页面,Wicket看起来非常简单和直接 Wicket有哪些优点 在我看来,更改整个框架需要一些工作,所以我想知道Wicket是否提供了Spring所没有的功能?Spring比Wicket更全面 Wicket是一个Java

我不是Java开发人员,所以我可能会弄错一些术语。。。但是

我集成的一个应用程序正在从Spring迁移到Wicket。虽然它不应该影响我与it的集成,但我开始想知道他们为什么会这样做

据我所知,Spring是更受欢迎的框架。我对它一无所知,只知道它很受欢迎。我确实读过Wicket页面,Wicket看起来非常简单和直接

Wicket有哪些优点


在我看来,更改整个框架需要一些工作,所以我想知道Wicket是否提供了Spring所没有的功能?

Spring比Wicket更全面

Wicket是一个JavaWebUI框架。Spring也有一个,以及用于持久性、远程处理、安全性、消息传递等的模块


Spring基于依赖注入和AOP构建。维克特两者都没有

我没有用过,但它应该很简单。我说不出春天是容易还是难


除了web应用程序之外,您还可以在许多情况下充分利用Spring。

我经常在圈子里吹捧的优势包括:

  • 您的html可以完全兼容xhtml—在表示和逻辑上有一个很好的分离,您的表示/html层只需要知道wicket的标准html标记中的wicketid属性。这对于您团队中的html/css/javascript客户端人员来说是非常棒的,他们几乎不做任何实际的java工作。afaik,没有其他基于java的web框架可以宣称这一点
  • 没有任何wicket特定的xml配置-一切都可以在源代码中完成,只需对.war的标准web.xml执行很少的操作
  • 基于组件的开发非常容易摸索——特别是如果您没有web背景(例如swing程序员)。imo说,它比mvc更鼓励重用

  • Spring不仅仅是SpringMVC。您可以(也可能应该)将Spring与Wicket一起使用。

    您可以在Wicket in Action的免费第一章中阅读使用Wicket的优势:

    简而言之,当您正在开发的应用程序相对复杂时,Wicket是一个很好的框架,您希望它是可维护的,能够扩展团队并利用重用。面向对象编程被证明是UI编程的一个非常有用的范例,但不幸的是,大多数用于开发web应用程序的Java框架,包括Spring MVC,只支持一个非常程序化的编程模型,在该模型中,它们标记MVC一词,使其听起来很酷(但事实上,由于它们支持的粒度是请求/响应往返,而不是自包含的小部件,因此MVC确实具有误导性)

    春天的DI部分很棒,可以很容易地与Wicket一起使用。

    Wicket rocks

    Spring(其UI部分被称为SpringMVC)似乎是一个巨型框架,“无所不能,包括厨房水槽”,当我开始评估Spring(以及SpringMVC)时,它让我觉得它庞大而笨拙今天的Spring在我看来并没有专注于任何一件事。起初我认为它只是一个依赖注入框架,但它很快就发展成为所有人都能使用的东西,简单性也随之消失

    我在Spring上读到的书中有一些例子包含了太多的XML配置。XML配置文件中的错误比java代码中的错误更难调试和修复,而java代码中的错误可以通过调试器一步完成

    用Java代码而不是XML声明东西有什么不对?从什么时候开始,有人下令一切都应该用XML声明?如果你喜欢在复杂的XML配置文件的海洋中游泳,那么就用Spring。如果你喜欢完成工作并提高效率,那么就用Wicket

    Wicket非常专注于成为web应用程序开发的最佳基于Java的UI框架。它不会试图将您锁定在任何特定的依赖注入框架或任何特定的持久性框架中(与JDO/JPA、DataNucleus、Hibernate等一起使用)


    它的重点显然是UI,但您可以使用任何您喜欢的依赖注入框架(您不必使用Spring的DI,但如果您愿意,您可以使用)。我们甚至在Wicket上使用我们自己的DI(),一切都很时髦。

    Wicket的一些优点我喜欢:

  • 简单-学习曲线很小,尤其是如果你来自Swing学校
  • 关注点的清晰分离-Web设计师不需要对代码了解太多
  • 易于部署


  • 我同意到目前为止提供的答案。没有提到的是以下几点,这是Wicket专注于Java代码的web应用程序开发方法的结果:-

    • Wicket开发不涉及编写JSP
    • AJAX组件的开发不需要编写Javascript
    我没有遇到任何其他采用这种以Java为中心的方法的框架,我使用的所有其他框架(Struts、Spring)都涉及JSP开发


    对我来说,Wicket的一大优势是它专注于Java,并且可以使用Eclipse等丰富的开发环境工具。另外,它还可以非常清晰地将业务逻辑与应用程序的表示方面分离开来。

    Spring只在页面级别为您提供MVC设计模式——实际上是一种非常粗糙的粒度级别ontrast为您提供了单个组件级别的MVC设计模式(就像Swing为胖客户端编程提供的一样)。使用Spring MVC,表单的所有数据对于整个前端servlet都是全局的,因此信息隐藏、松耦合或紧密内聚的机会不多。使用Wicket,您的显示逻辑可以更加模块化——componentA管理的数据不必对componentB的代码可见

    粒度级别越小,这就越容易实现ea