Wicket Presentation

Embed Size (px)

Citation preview

  • 8/8/2019 Wicket Presentation

    1/14

    Apache WicketApache Wicket

  • 8/8/2019 Wicket Presentation

    2/14

    IntroductionIntroduction A lightweight component-based web

    application framework for the Java

    programming language. Make developing web-apps simple and

    enjoyable with proper mark-up/logicseparation, a POJO data model and arefreshing lack of XML(configuration).

    Powerful, reusable components written withplain Java and HTML.

  • 8/8/2019 Wicket Presentation

    3/14

    HistoryHistory 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.

  • 8/8/2019 Wicket Presentation

    4/14

    Current StatusCurrent 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 corecommitters, 3 retired core developers and 50additional contributors. The community is veryactive and helpful.

    Two books in circulation and a third to bepublished.

  • 8/8/2019 Wicket Presentation

    5/14

    Feature ListFeature List Swing-like OO Component Model

    Pages and Components in Wicket are real Java

    objects that support encapsulation, inheritanceand events.

    Ease of Development

    Use everything about Java and HTML.

    Separation ofConcerns

    Does not mix mark-up with Java code. Theworld of HTML and Java are parallel, so UIdesigners and Java codes can workindependently.

  • 8/8/2019 Wicket Presentation

    6/14

    Feature List (contd)Feature List (contd) Secure

    Secure by default. URLs do not expose

    sensitive info and all component paths aresession-relative.

    Transparent, Scalable Clustering Support

    All Wicket applications will work on cluster

    automatically. Provide an effective frameworkto easily scale up new and existingapplications.

    Transparent Back Button Support

    Supports configurable page version mgmt.

  • 8/8/2019 Wicket Presentation

    7/14

    Feature List (contd)Feature List (contd) Reusable Components and Units

    Extend existing components with the Java

    extends keyword. Simple, Flexible, LocalizationForm

    Validation

    Typesafe Sessions

    Eliminate the need to manage HttpSessionattributes by hand.

    Detachable Models

    Model objects can be very light weighted interms of memory and network use.

  • 8/8/2019 Wicket Presentation

    8/14

    Feature List (contd)Feature List (contd) Border Components

    Useful for inheritance of common navigational

    structures or layouts. Programmatic Manipulation ofHTML Tag

    Attributes

    Automatic Conversions

    Once a Form validates, the model can beupdated using Wicket converters.

    Tree Components

    Out of box tree components for navigating andselecting nodes.

  • 8/8/2019 Wicket Presentation

    9/14

    Pros of WicketPros 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 persistentframework such as JDO or Hibernate. Makedatabase driven web applications easy to write.

    Most other frameworks require special HTMLcode. JSP is by far the worst offender allowingJava code directly in web pages.

  • 8/8/2019 Wicket Presentation

    10/14

    Pros of Wicket (contd)Pros of Wicket (contd) Ajax (Dojo and Script.aculo.us) in Wicket is

    incredibly easy.

    Great for Java developers.

  • 8/8/2019 Wicket Presentation

    11/14

    Cons of WicketCons of Wicket Virtually unknown.

    Steep learning curve.

    Not well documented.

  • 8/8/2019 Wicket Presentation

    12/14

    Pros and Cons of SpringPros and Cons of Spring

    MVCMVCPros

    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 librariesfor Ajax. Have to build infrastructure for Ajax,redirect after post, popups by yourself.

  • 8/8/2019 Wicket Presentation

    13/14

    Pros and Cons of Struts 2Pros and Cons of Struts 2Pros

    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. Googleresults in struts 1.x documentation.

  • 8/8/2019 Wicket Presentation

    14/14

    Questions?Questions?