Thanks for that reply Alex! Some remarks below.

> We can only compare the presentation stack of WO vs Wicket. Having worked with
> both frameworks, here are some thoughts :
> - Java code is MUCH cleaner with WO, you keep in code only data pushed in the
> presentation layer and actions. No need to add components and configure them 
> in
> java code.

Only if you consider less the same as cleaner. If you are doing a lot
of inter-component interactions, this would actually be a
disadvantage. What I (and collegues) do a lot is use a component (e.g.
a panel) and a bunch of nested classes in that panel (Panels,
fragments, other) that uses state and methods of the outer component.
For situations where the UI is complex, it saves a lot of effort to
work like this, and imo you end up with very nice encapsulated
components with minimal plumbing. Imo, being able to work like this is
one of the biggest pro's compared to declaratively composing your
component tree.

> - Components are declared in HTML, configured in another file, binding
> (configuring) the component with the java class. This approach need tools, WO
> has some nice tools for this. That's why Tapestry is not even close to WO 
> here.
> - Wicket is statefull. So is WO by default, you can also use it in a stateless
> way, loosing the convenience of component action but keep the need of a 
> session
> to  the last moment. That's a very good point for WO, which can be used to 
> build
> public stateless websites.

1.2.x has a limited availability of stateless pages: pages are
stateless when there are no callbacks to itself (like links or forms).
If you would do everything using bookmarkable pages, your app would be
stateless (though for 1.2.x, an http session object would still be

In 2.0 we are working at dramatically increase the options you have
for working in a stateless fashion. We have deferred session creation
(http session is now only created when really needed/ first time a
stateful page is served or session state is explicitly saves) and more
options to use stateless pages, like StatelessLink and StatelessForm.
This is implemented now (please play with it) and should already cover
enough to create serious stateless applications. I think this feature
is very useful for situations where you have an anonymous, public
facing part of a site which should be stateless and other parts where
the UI gets so complex you really need the stateful model.

> - Wicket has nice URLs (if we want to). WO not really. (keeping an ugly
> cgi-bin/WebObjects in URLs)
> - WO is not multithread by default. (When deployed, you can deploy multiple
> instances of the same app)

I don't really understand what you mean by this. Is WO based on servlets btw?

> - WO's validation is done at the data layer and not really good. Wicket's is
> rather good.
> - WO is very mature (first version in 1996, yes the first component framework
> and ORM tool...), has good documentation and is a little...dead (only
> maintenance versions)

Pretty amazing. I wasn't even programming in Java at that time. Too
bad they didn't open source it before Struts arrived.

> - Wicket is young, active but lacks of solid documentation for the moment.

Well, there is now! :)

> - Both frameworks (i'm not talking about EOF here) are rather easy to learn.
> - Often, you have to do it the WO way... or not doing it.
> - In WO, you don't need to create custom components if you don't need them
> elsewhere. In Wicket if you want keep a simple and maintenable code for a 
> rather
> complex page, you should create Panels, other components... wich are not 
> needed
> in other pages.

Can you expand on where/ why you think that difference comes from? Are
some of the default components of WO better abstracted for the kind of
things you do?

> - Both frameworks make creation of custom components easy (unlike JSF!!!)
> - Wicket custom components can be shared with a simple jar, WO components are
> bundled in "Frameworks" (custom packages).
> - Both frameworks are not using XML for configuration...


Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
Wicket-user mailing list

Reply via email to