You are on page 1of 14

Apache Wicket

Introduction
 A lightweight component-based web
application framework for the Java
programming language.
 Make developing web-apps simple and
enjoyable with proper mark-up/logic
separation, a POJO data model and a
refreshing lack of XML(configuration).
 Powerful, reusable components written with
plain Java and HTML.
History
 Originally written by Jonathan Locke in Spring
of 2005.
 Version 1.0 was released in June 2005.
 An Apache top-level project in June 2007.
 Current version is 1.4.5.
Current Status
 A comprehensive, mature product being used by
startups, mid-size companies and large
companies (IBM, Amazon, Tom-Tom, Nikon,
VeriSign and others).
 Core team is active and global: 16 active core
committers, 3 retired core developers and 50
additional contributors. The community is very
active and helpful.
 Two books in circulation and a third to be
published.
Feature List
 Swing-like OO Component Model
Pages and Components in Wicket are real Java
objects that support encapsulation, inheritance
and events.
 Ease of Development
Use everything about Java and HTML.
 Separation of Concerns
Does not mix mark-up with Java code. The
world of HTML and Java are parallel, so UI
designers and Java codes can work
independently.
Feature List (cont’d)
 Secure
Secure by default. URLs do not expose
sensitive info and all component paths are
session-relative.
 Transparent, Scalable Clustering Support
All Wicket applications will work on cluster
automatically. Provide an effective framework
to easily scale up new and existing
applications.
 Transparent Back Button Support
Supports configurable page version mgmt.
Feature List (cont’d)
 Reusable Components and Units
Extend existing components with the Java
extends keyword.
 Simple, Flexible, Localization Form
Validation
 Typesafe Sessions
Eliminate the need to manage HttpSession
attributes by hand.
 Detachable Models
Model objects can be very light weighted in
terms of memory and network use.
Feature List (cont’d)
 Border Components
Useful for inheritance of common navigational
structures or layouts.
 Programmatic Manipulation of HTML Tag
Attributes
 Automatic Conversions
Once a Form validates, the model can be
updated using Wicket converters.
 Tree Components
Out of box tree components for navigating and
selecting nodes.
Pros of Wicket
 Get the benefits of a first class component
model and a non-intrusive approach to HTML. A
significant development advantage.
 Most other web frameworks provide non-
existent support in managing server-side state.
 Designed to work with POJO persistent
framework such as JDO or Hibernate. Make
database driven web applications easy to write.
 Most other frameworks require special HTML
code. JSP is by far the worst offender allowing
Java code directly in web pages.
Pros of Wicket (cont’d)
 Ajax (Dojo and Script.aculo.us) in Wicket is
incredibly easy.
 Great for Java developers.
Cons of Wicket
 Virtually unknown.
 Steep learning curve.
 Not well documented.
Pros and Cons of Spring
MVC
Pros
 Lifecycle for overriding binding, validation, etc.
 Integrate with many view options seamlessly.
 Inversion of Control makes it easy to test.

Cons
 Configurations intensive – lots of XML.
 Almost too flexible.
 Bare bones: just a MVC framework. No libraries
for Ajax. Have to build infrastructure for Ajax,
redirect after post, popups by yourself.
Pros and Cons of Struts 2
Pros
 Simple architecture – easy to extend.
 Controller-based or page-based navigation.
 Ajax support: Dojo built-in. Plug-in for GWT,
JSON.
Cons
 Struts 1 is still in high-demand and widely used.
Struts 2 is gaining ground.
 Documentation is poorly organized. Google
results in struts 1.x documentation.
Questions?

You might also like