672329 members! Sign up to stay informed.

Sponsored Links


Resources

Enterprise Java
Research Library

Get Java white papers, product information, case studies and webcasts

News News News Messages: 70 Messages: 70 Messages: 70 Printer friendly Printer friendly Printer friendly Post reply Post reply Post reply XML XML XML

Apache Wicket 1.3 released

Posted by: Martijn Dashorst on January 02, 2008 DIGG
Starting the new year with a bang, the Wicket Team has released Apache Wicket 1.3. With this release comes a lot of great successes, but most of all the team wanted to express their wishes to everyone for a happy new year.

Apache Wicket is one of the fastest growing Java open source component based web frameworks, based on mailing-list traffic. With a focus on producing valid html and a logical separation between design and code. Within minutes you can start to enjoy throwing out tag soup, complex components and high maintenance overhead for a simple POJO + html data model.

Take a look at some of the following highlights or skip to the bottom and get started now.
  • Last JDK-1.4 release (next release will be Java 5 based)
  • First Apache release: renamed packages to org.apache.wicket
  • Simplified several core APIs
  • Now works with zero-config behind a proxy server using relative URLs
  • Added Google Guice support
  • Use your Wicket pages directly in a portal without changing a line of code (JSR-168/JSR-286 support)
  • Switched logging API from commons-logging to slf4j
  • Integrate velocity templates as panels in your pages
  • YUI-calendar and Joda time based date picker (wicket-datetime)
  • Adds new javascript dependencies to the page header using an Ajax request - for example, if a component is replaced on the client via Ajax, and the replacement requires script.aculo.us, script.aculo.us and any other required dependencies will be downloaded at need.
  • Improved, more robust header contributions
  • Scale to extremely large numbers of users with stateless pages and components
  • Improved AjaxTree/AjaxTreeTable
  • Hybrid URL encoding to make search engines and your users happy
  • Create form panels and use them anywhere without worrying about the nesting of form tags
  • Minimized session use by storing component hierarchy in file system (DiskPageStore)
Get started today by checking out the following examples or follow the download link directly at the bottom.Best wishes from the Wicket Team and a prosperous 2008!

Threaded replies

·  Apache Wicket 1.3 released by Martijn Dashorst on Wed Jan 02 14:34:28 EST 2008
  ·  Re: Apache Wicket 1.3 released by Burak AKSOY on Wed Jan 02 14:41:15 EST 2008
    ·  Re: What advantages does this framework has over JSF? by Benz Town Citizen on Wed Jan 02 15:33:54 EST 2008
      ·  Re: What advantages does this framework has over JSF? by Jeff Segal on Wed Jan 02 15:48:59 EST 2008
        ·  Re: What advantages does this framework has over JSF? by Patrick Angeles on Wed Jan 02 16:03:44 EST 2008
        ·  Re: What advantages does this framework has over JSF? by Benz Town Citizen on Wed Jan 02 16:22:47 EST 2008
    ·  Wicket versus JSF versus ... by Martijn Dashorst on Wed Jan 02 17:14:04 EST 2008
    ·  diferences and pros...... by joe fouad on Wed Jan 02 18:56:16 EST 2008
      ·  Re: diferences and pros...... by Martijn Dashorst on Wed Jan 02 19:08:03 EST 2008
  ·  Congratulations! by Peter Mularien on Wed Jan 02 15:24:03 EST 2008
  ·  Why YUI and scriptaculous by Ashok Madhavan on Wed Jan 02 16:59:34 EST 2008
    ·  Re: Why YUI and scriptaculous by Martijn Dashorst on Wed Jan 02 18:44:57 EST 2008
  ·  Re: Apache Wicket 1.3 released by Daniel Fernández on Wed Jan 02 18:26:32 EST 2008
  ·  Tutorial - Getting Started - New User by Mauricio Lopez-Soto on Wed Jan 02 19:39:17 EST 2008
    ·  ... getting started by Cemal Bayramoglu on Wed Jan 02 20:19:01 EST 2008
      ·  Re: ... getting started by Mauricio Lopez-Soto on Wed Jan 02 21:34:28 EST 2008
    ·  Re: Tutorial - Getting Started - New User by Kent Tong on Wed Jan 02 20:20:47 EST 2008
      ·  Re: Tutorial - Getting Started - New User by Mauricio Lopez-Soto on Wed Jan 02 21:35:45 EST 2008
  ·  Wicket 1.3 comparison with Tapestry 5 ? by Dominique De Vito on Thu Jan 03 02:15:05 EST 2008
    ·  Re: Wicket 1.3 comparison with Tapestry 5 ? by Massimo Lusetti on Thu Jan 03 10:13:40 EST 2008
  ·  Re: Apache Wicket 1.3 released by Peter Thomas on Thu Jan 03 03:03:33 EST 2008
  ·  Re: Apache Wicket 1.3 released by Jose Maria Arranz on Thu Jan 03 03:38:16 EST 2008
  ·  Re: Apache Wicket 1.3 released by Xavier Hanin on Thu Jan 03 05:06:01 EST 2008
    ·  Congrats by Kalle Widell on Thu Jan 03 06:40:42 EST 2008
      ·  To follow the Book Wicket in Action by Gabriel K. on Thu Jan 03 06:58:23 EST 2008
  ·  IDE Wicket Support by Jacek Furmankiewicz on Thu Jan 03 08:11:31 EST 2008
    ·  Re: IDE Wicket Support by Martijn Dashorst on Thu Jan 03 08:24:46 EST 2008
      ·  WicketBench by Peter Mularien on Thu Jan 03 08:57:19 EST 2008
        ·  Re: WicketBench by Martijn Dashorst on Thu Jan 03 09:19:33 EST 2008
      ·  Wicket Bench 0.5 released by Martijn Dashorst on Sun Jan 06 17:31:51 EST 2008
  ·  Re: Apache Wicket 1.3 released: Why stick to HTML? by Arcadius Ahouansou on Thu Jan 03 08:51:35 EST 2008
    ·  Quite a narrow sweet spot by x y on Thu Jan 03 10:12:08 EST 2008
      ·  Re: Quite a narrow sweet spot by Marc Stock on Thu Jan 03 11:23:05 EST 2008
        ·  Re: Quite a narrow sweet spot by x y on Thu Jan 03 11:56:32 EST 2008
          ·  Re: Quite a narrow sweet spot by Matej Knopp on Thu Jan 03 12:37:54 EST 2008
            ·  Re: Quite a narrow sweet spot by x y on Thu Jan 03 19:02:57 EST 2008
          ·  Re: Quite a narrow sweet spot by Jose Maria Arranz on Fri Jan 04 05:23:06 EST 2008
            ·  Re: Quite a narrow sweet spot by x y on Fri Jan 04 05:55:44 EST 2008
      ·  Re: Quite a narrow sweet spot by Ilya Sterin on Thu Jan 03 12:15:24 EST 2008
        ·  Re: Quite a narrow sweet spot by x y on Thu Jan 03 18:48:52 EST 2008
      ·  Re: Quite a narrow sweet spot by Matej Knopp on Thu Jan 03 12:30:23 EST 2008
        ·  Re: Quite a narrow sweet spot by x y on Thu Jan 03 18:25:37 EST 2008
          ·  Re: Quite a narrow sweet spot by Jose Maria Arranz on Fri Jan 04 05:37:37 EST 2008
            ·  Re: Quite a narrow sweet spot by x y on Fri Jan 04 06:14:42 EST 2008
    ·  Re: Apache Wicket 1.3 released: Why stick to HTML? by Jose Maria Arranz on Fri Jan 04 05:07:13 EST 2008
      ·  Re: Apache Wicket 1.3 released: Why stick to HTML? by Mark Nuttall on Fri Jan 04 23:06:34 EST 2008
        ·  Re: Apache Wicket 1.3 released: Why stick to HTML? by Jose Maria Arranz on Sat Jan 05 04:17:44 EST 2008
          ·  Re: Apache Wicket 1.3 released: Why stick to HTML? by Mark Nuttall on Sat Jan 05 20:31:58 EST 2008
            ·  Re: Apache Wicket 1.3 released: Why stick to HTML? by Eelco Hillenius on Sun Jan 06 00:53:15 EST 2008
              ·  Re: Apache Wicket 1.3 released: Why stick to HTML? by Mark Nuttall on Sun Jan 06 12:25:52 EST 2008
                ·  Re: Apache Wicket 1.3 released: Why stick to HTML? by Patrick Angeles on Sun Jan 06 13:39:04 EST 2008
            ·  Re: Apache Wicket 1.3 released: Why stick to HTML? by Jose Maria Arranz on Sun Jan 06 13:35:55 EST 2008
  ·  Re: Apache Wicket 1.3 released by Andy Leung on Thu Jan 03 10:46:05 EST 2008
  ·  My two cents by Salma Saad on Thu Jan 03 17:16:32 EST 2008
  ·  Wicket 1.3 and Liferay Portal by Anthony Bisong on Thu Jan 03 21:42:01 EST 2008
    ·  No portlet support by Hans Westerbeek on Fri Jan 04 08:02:04 EST 2008
      ·  Re: No portlet support by Eelco Hillenius on Fri Jan 04 11:22:30 EST 2008
        ·  Re: No portlet support by Eelco Hillenius on Fri Jan 04 11:26:19 EST 2008
        ·  Re: No portlet support by Hans Westerbeek on Fri Jan 04 15:04:02 EST 2008
          ·  Re: No portlet support by Hans Westerbeek on Fri Jan 04 15:04:44 EST 2008
          ·  Keep up the good work! by Medhat Saleh on Fri Jan 04 21:50:40 EST 2008
            ·  Re: Keep up the good work! by x y on Sat Jan 05 07:22:53 EST 2008
  ·  wicket:id ? by Gabriel K. on Fri Jan 04 03:08:32 EST 2008
    ·  Re: wicket:id ? by Alex Objelean on Fri Jan 04 03:19:06 EST 2008
    ·  Re: wicket:id ? by x y on Fri Jan 04 04:09:14 EST 2008
      ·  Re: wicket:id ? by Gabriel K. on Sat Jan 05 07:36:59 EST 2008
        ·  Re: wicket:id ? by Martijn Dashorst on Sat Jan 05 08:38:54 EST 2008
        ·  Wicket Web Beans by Martijn Dashorst on Sat Jan 05 08:40:13 EST 2008
    ·  Couple of reasons for wicket:id by Roy van Rijn on Fri Jan 04 04:16:24 EST 2008
  ·  Many Thanks by Florin Gheorghies on Fri Jan 04 12:08:28 EST 2008
  ·  Re: Apache Wicket 1.3 released by Dennis Bekkering on Fri Jan 04 17:14:04 EST 2008
  Message #244369 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Apache Wicket 1.3 released

Posted by: Burak AKSOY on January 02, 2008 in response to Message #244368
Hi,

What differences or advantages does this framework has over JSF?

  Message #244372 Post reply Post reply Post reply Go to top Go to top Go to top

Congratulations!

Posted by: Peter Mularien on January 02, 2008 in response to Message #244368
Congratulations Eelco, Al, and team! Now hurry up and get that book finished ;)

  Message #244374 Post reply Post reply Post reply Go to top Go to top Go to top

Re: What advantages does this framework has over JSF?

Posted by: Benz Town Citizen on January 02, 2008 in response to Message #244369
What differences or advantages does this framework has over JSF?

JSF is based on JSR 127. Wicket is written by some smart developers...

  Message #244376 Post reply Post reply Post reply Go to top Go to top Go to top

Re: What advantages does this framework has over JSF?

Posted by: Jeff Segal on January 02, 2008 in response to Message #244374
Non snarky response please.

  Message #244377 Post reply Post reply Post reply Go to top Go to top Go to top

Re: What advantages does this framework has over JSF?

Posted by: Patrick Angeles on January 02, 2008 in response to Message #244376
Non snarky response please.


http://www.google.com/search?q=wicket%20vs%20jsf

Congratz to the Wicket team. Wicket is truly an inspiring Java web framework.

  Message #244380 Post reply Post reply Post reply Go to top Go to top Go to top

Re: What advantages does this framework has over JSF?

Posted by: Benz Town Citizen on January 02, 2008 in response to Message #244376
Non snarky response please.

What's snarky about my comment?

  Message #244384 Post reply Post reply Post reply Go to top Go to top Go to top

Why YUI and scriptaculous

Posted by: Ashok Madhavan on January 02, 2008 in response to Message #244368
The date picker is based on YUI and i see the mention about scriptaculous. Does Wicket need more than one javascript library ?

regards
Ashok

  Message #244390 Post reply Post reply Post reply Go to top Go to top Go to top

Wicket versus JSF versus ...

Posted by: Martijn Dashorst on January 02, 2008 in response to Message #244369
This is such a broad question that you can make a study out of it. I suggest looking at the Comparing Web Frameworks presentation done by Matt Raible at JavaZone'07.

Other links:

There is enough material out there in old TSS threads comparing Wicket versus JSF.

But could google for those links yourself. As TSS is a forum, some discussion is also needed. I'll take the bait :)

As for differences (opinionated, so assume some bias), I think the biggest differences are: the configuration requirements, the templating language and in the ability to create and reuse custom components.

Configuration of Wicket is done in Java or using a single property for sensible defaults. Navigation between pages is done in Java. JSF requires quite some XML to glue things together (faces-config.xml), navigation is done using strings that need to be configured in faces-config.xml).

Wicket uses plain HTML as the templating language (with additional components that allow the inclusion of Velocity or WebMacro templates in your pages), whereas JSF is a mix/match of JSP, JSF tags and JSF EL. Support for plain HTML templates in JSF needs an additional library.

Creating custom components using JSF is something that requires a special role (just as the EJB composer, deployer, etc): it is not for the faint of heart. Creating custom components in Wicket is not rocket science: use the extends keyword (public class MyComponent extends Label). Using the component is as simple as adding a new instance of the component: add(new MyComponent("someid")); Packaging the custom components for reuse in a different project? Put all necessary resources (html, javascript, css, images) in a JAR file and place it on the classpath of the other project. Then use as you would normally do.

Less dramatic, but still noteworthy is the ability to test your GUI. WicketTester provides a really good way to unit test your Wicket application and test all your components in isolation. Unit test support for JSF is just starting to develop (in my understanding).

There are more differences, but these are the biggest that come to my mind.

But there are also similarities: both are component based, both provide the means to build Ajax applications without having to learn JavaScript, and both have passionate developers and teams working to further the technology.

In my opinion Wicket delivers a development experience right now that JSF has promised for a long time, and still hasn't delivered.

  Message #244387 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Apache Wicket 1.3 released

Posted by: Daniel Fernández on January 02, 2008 in response to Message #244368
Thank you very much for your work on one of the finest Java web frameworks ever. Once "Wicket in Action" is released, this will be, no doubt, Wicket's year.

Regards,
Daniel.

  Message #244391 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Why YUI and scriptaculous

Posted by: Martijn Dashorst on January 02, 2008 in response to Message #244384
The date picker is based on YUI and i see the mention about scriptaculous. Does Wicket need more than one javascript library?

In principle Wicket doesn't need any library other than what is in core.

Instead of creating our own DatePicker component, we looked in the open source marketplace, looked at the various licenses of the JavaScript DatePickers and picked the YUI DatePicker as the best option. So if you use the date picker, it will use the YUI javascript libraries necessary to support the javascript control.

But that is all we use from the YUI libraries (currently).

There are lots of really good javascript libraries available: mootools, scriptaculous, YUI, jquery, rico, prototype, dojo toolkit, etc. Instead of inventing our own library, and instead of prescribing our preferences (not that we are in alignment about that, mind you), we allow people that have a preference to add supporting component libraries for these excellent JavaScript libraries.

Wicket's header contributions enable the use of these tools remarkably well: adding a TinyMCE panel using Ajax to an already rendered page works automatically.

The javascript support libraries are available from our sibling project, Wicket Stuff. So there is scriptaculous support, YUI support, dojo support, mootools support, etc.

So, no Wicket doesn't need more than one JavaScript library, but provides support for lots and lots of libraries. It is just what your application needs that is needed. If you want, you can write a whole application without ever hand coding one single line of javascript, and still have it do Ajax calls.

  Message #244393 Post reply Post reply Post reply Go to top Go to top Go to top

diferences and pros......

Posted by: joe fouad on January 02, 2008 in response to Message #244369
there r a lot of differences,some of them r
1-True component model with no exposure to the servlet api
2-Wicket development is all in java ,no xml descriptors(java developer friendly) with all the refactoring capabilities empowering u to enhance ur design
3-There is no logic in the view markup,u even cannot put it there
4-U can develop the view using any WYSIWYG html editor and the result is the final valid wicket markup(designer friendly)
5-True event model very similar to swing's
6-The easiest framework to develop custom component with(the framework encourage u to do much every thing as a custom component and it is VERY EASY)
7-out of the box ajax support with several built in components to use and to subclass
8-Wicket use the new java keyword to instanciate pages(unmanaged framework)very natural to developers, no dependency on a factory or ioc container(the tapestry way)although naturally integrated with other frameworks and ioc containers
9- Page composition is superb and built in (no external lib as facelets) and really is very powerfull,with at least thre techniqus(inheritance,borders,fragments)
10-Pages and views can b statless or statfull
11-built to scale as it is really cluster ready with builtin terracotta support or custom solution can be easily developed
12-Easy and bookmarkable url with the mounted page
13-REST solutions can be easily developed(read above point)
14-Table ,tree and other data aware components use java model similar to swing or jface
15-these models r statfull with proxy backing to reduce to a huge extent the memory consumed by each session

there ra lot of amazing other features,although i focused on diferences from JSF BUT u cannot realise the real power of wicket unless u use it and see how pleasure it is

  Message #244394 Post reply Post reply Post reply Go to top Go to top Go to top

Re: diferences and pros......

Posted by: Martijn Dashorst on January 02, 2008 in response to Message #244393
u cannot realise the real power of wicket unless u use it and see how pleasure it is


And how easy it is to forget all the benefits you get from using a framework you truly enjoy.

I still remember the day when I had to go back to a Maverick based MVC application and do some maintenance on the pages. It is only then that you appreciate the benefits of Wicket (in this particular case: making a change required updates to 4 files).

Thanks for your list!

  Message #244397 Post reply Post reply Post reply Go to top Go to top Go to top

Tutorial - Getting Started - New User

Posted by: Mauricio Lopez-Soto on January 02, 2008 in response to Message #244368
Hi,

Congratulations on the new release.

I am looking for a good and simple tutorial to get started with Wicket 1.3. I checked the Wiki and there is a New User's/Getting Started Guide, but it reads "A little dated/incomplete...".

I am looking for a document that explains the basics to get you going with Wicket 1.3. I have seem some examples but they are for older versions.

Thanks.

  Message #244399 Post reply Post reply Post reply Go to top Go to top Go to top

... getting started

Posted by: Cemal Bayramoglu on January 02, 2008 in response to Message #244397
for a document that explains the basics to get you going with Wicket 1.3.
Thanks.


Good question ... there is a lot of good documentation available, and it is gradually getting better organised.
I would suggest you start off by downloading chapter 1 of Wicket In Action (http://www.manning.com/dashorst/) which is free.
The four links under "Getting Started" at http://wicket.apache.org/ are very useful - "QuickStart" describes an easy (and good) way to set up a working, mini-Wicket application to get you coding in a few minutes. The "Components" and "Examples" sections are generally very instructive and clear.
Then you probably go back to the wiki, for reference, at http://cwiki.apache.org/WICKET/reference-library.html .
If you're anywhere near London, you can also come to our Wicket events where there are usually presentations on a broad range of subjects at all levels (http://www.jweekend.co.uk/dev/LWUGReg/).
Another great strength of Wicket is the extraordinarily helpful mailing list - see for yourself here: http://www.nabble.com/Wicket---User-f25133.html .

That should get you started.

Regards - Cemal
http://jWeekend.co.uk

  Message #244398 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Tutorial - Getting Started - New User

Posted by: Kent Tong on January 02, 2008 in response to Message #244397
Try my tutorial at http://www.agileskills2.org/EWDW/chapters1-3.pdf

There are more documentation links at http://cwiki.apache.org/WICKET/documentation-index.html

  Message #244400 Post reply Post reply Post reply Go to top Go to top Go to top

Re: ... getting started

Posted by: Mauricio Lopez-Soto on January 02, 2008 in response to Message #244399
Hi Cemal, that is really good info. Thanks.

  Message #244401 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Tutorial - Getting Started - New User

Posted by: Mauricio Lopez-Soto on January 02, 2008 in response to Message #244398
Hi Kent. I will get those free chapters. Thanks a lot.

  Message #244404 Post reply Post reply Post reply Go to top Go to top Go to top

Wicket 1.3 comparison with Tapestry 5 ?

Posted by: Dominique De Vito on January 03, 2008 in response to Message #244368
At first sight, Wicket 1.3 and Tapestry 5 are both
- component-based
- targets a HTML-based template.

While Tapestry 5 use JDK 1.5 annotations, and Wicket 1.3 not, I am sure they share other points.

Has any developper an experience to get a Tapestry/Wicket comparison ?

Thanks.

  Message #244406 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Apache Wicket 1.3 released

Posted by: Peter Thomas on January 03, 2008 in response to Message #244368
Congratulations to the entire Wicket team on a superb framework. I migrated an application to Wicket exactly a year back and totally enjoyed it. It is running in production where I work - as well as in lots of places all over the world. I must say the Wicket mailing list support is awesome as well.

Here's Looking forward to 2008: The Year Of Wicket :)

  Message #244408 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Apache Wicket 1.3 released

Posted by: Jose Maria Arranz on January 03, 2008 in response to Message #244368
Congratulations, sincerely!

Wicket is a nice alternative to the JSF mammoth and the first framework introducing the pure HTML template approach.

I learned with Wicket some key rules of how to develop a developer-friendly web framework (not a tool-oriented framework ).

Jose M. Arranz
Developer of ItsNat, Natural AJAX

  Message #244412 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Apache Wicket 1.3 released

Posted by: Xavier Hanin on January 03, 2008 in response to Message #244368
Congratulations to the Wicket team and community!

Wicket is the first java web framework that made me enjoy doing web development again. Having the feeling to do clean object oriented code to develop a web app is a pleasure, and developing custom components (like I did for a jquery tab panel for example) is so easy that you can really decompose your application and encourage code reuse over the team.

Thank you so much for such a great framework!

  Message #244414 Post reply Post reply Post reply Go to top Go to top Go to top

Congrats

Posted by: Kalle Widell on January 03, 2008 in response to Message #244412
Last 8 months ive done 2 months SEAM (gave up because of dissapointment) and the rest has been wicket. Implemented a small application. I must say im mighty impressed with what these fellows have done (not the docs though). Theres a reason why there are 1000s of web frameworks. Because none have been good enough. But everytime I've felt this "-Damn, another crippled framework", it ends up Im wrong. Wicket hasnt dissapointet me once in these months. Beeing consistent, structured and simple enough for me to reason myself to solutions to every problem. I dont wanna be a framework fanboy or start talking about a revolution - but I cannot really understand how a web framework could be that much better. I add a little but, because I havent seen it in production and under load yet.

Thanx and good luck.

  Message #244415 Post reply Post reply Post reply Go to top Go to top Go to top

To follow the Book Wicket in Action

Posted by: Gabriel K. on January 03, 2008 in response to Message #244414
It is true that documentation is not the best part of Wicket.
But the creators are writing "Wicket in action" for Manning.

I am reading it in Early Access Program and this book explains everything. Now i can say I understand Wicket.
This book will be a must-have for all developpers using Wicket. This book is the best news-to-come for Wicket .

  Message #244421 Post reply Post reply Post reply Go to top Go to top Go to top

IDE Wicket Support

Posted by: Jacek Furmankiewicz on January 03, 2008 in response to Message #244368
None for Eclipse as far as I know, but I believe there is a reasonably mature plugin for NetBeans:
https://nbwicketsupport.dev.java.net/

  Message #244425 Post reply Post reply Post reply Go to top Go to top Go to top

Re: IDE Wicket Support

Posted by: Martijn Dashorst on January 03, 2008 in response to Message #244421


  Message #244428 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Apache Wicket 1.3 released: Why stick to HTML?

Posted by: Arcadius Ahouansou on January 03, 2008 in response to Message #244368
Congrats to the Wicket team!

Though, from time to time, I ask myself: Why are we still sticking to HTML?

As a Java Developer, I see the future in frameworks such as ECHO2, ThinWire, JSeamless, GWT, etc. because I could do my work using 100% Java without worrying about the HTML/JavaScript/Flex code.
Moreover, some of these frameworks could allow deploying the very same code as a desktopApp or webApp.

  Message #244429 Post reply Post reply Post reply Go to top Go to top Go to top

WicketBench

Posted by: Peter Mularien on January 03, 2008 in response to Message #244425
Unless it's changed significantly since I tried it a few months ago, IMHO WicketBench really wasn't helpful at all.

In fact, since Wicket uses 99% straight HTML, I ended up using Dreamweaver and/or plain text editor to edit the pages for our Wicket project. Since almost everything in Wicket is done in Java, Eclipse code completion is pretty much all you need to get going.

  Message #244432 Post reply Post reply Post reply Go to top Go to top Go to top

Re: WicketBench

Posted by: Martijn Dashorst on January 03, 2008 in response to Message #244429
Wicket Bench opens all the related files together in one tabbed editor. This saves quite some extra editors. So you have in one editor the HTML, Java and resource bundles, and possibly even related javascript and css files.

Furthermore it provides quick fixes for creating a Page and Panel class, which will create Java and HTML files directly, which is a (minor) timesaver.

Finally it hooks into the refactorings for rename and move (iirc) so not only your class will be renamed or moved, but all related resources as well.

If you get compile errors using the current version when creating a new page or panel, you should edit the templates (Preferences -> Wicket -> templates). It is only the default package name that is borked.

  Message #244434 Post reply Post reply Post reply Go to top Go to top Go to top

Quite a narrow sweet spot

Posted by: x y on January 03, 2008 in response to Message #244428
I think Wicket is great for a low traffic HTML heavy website and/or you need to support low end browsers (without JS).

However for Ajax style application it is not really suitable. Requests are synchronised on the page object so it is Sjax not Ajax and the dual HTML/component thing becomes a pain when you just want to throw panels, buttons around.

I've also found that because they have gone for many large components rather than composing things of a few small building blocks it is a bit inconsistent and inflexible to work with.

Wicket has a very helpful community so a good choice if you match their sweet spot.

  Message #244435 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Wicket 1.3 comparison with Tapestry 5 ?

Posted by: Massimo Lusetti on January 03, 2008 in response to Message #244404
At first sight, Wicket 1.3 and Tapestry 5 are both
- component-based
- targets a HTML-based template.


Well latest T5 snapshots aren't coupled with HTML, you could serve more generic XML content just fine as it was HTML.

Have a nice day.

  Message #244439 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Apache Wicket 1.3 released

Posted by: Andy Leung on January 03, 2008 in response to Message #244368
Is it a bit too old when 1.3 is only based on JDK 1.4 and next release is still based on 1.5 only?

  Message #244442 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Quite a narrow sweet spot

Posted by: Marc Stock on January 03, 2008 in response to Message #244434
Just curious x y, what's your framework of choice?

I don't understand what you're talking about when you say it's a pain to throw panels and buttons around. I haven't found this to be difficult.

  Message #244444 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Quite a narrow sweet spot

Posted by: x y on January 03, 2008 in response to Message #244442
For web based applications I like GWT. Obviously it falls down if you need to support low end clients.

Almost all the styling we do is in CSS so having to maintain the component tree in HTML _and_ in Java component tree is an overhead with little reward. So if I just want a div full of buttons I have to have an HTML fragment lying around rather than just setting the correct CSS style name that I was given by the HTML/CSS monkey.

Talking of him he hates that Wicket needs to take over HTML ids (when using Ajax partial updates) as it makes his JavaScript slower only using class.

Sorry about the x y thing. I tried to set my real name but after filling out lots of other stuff the update didn't work.

  Message #244449 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Quite a narrow sweet spot

Posted by: Ilya Sterin on January 03, 2008 in response to Message #244434
I think Wicket is great for a low traffic HTML heavy website and/or you need to support low end browsers (without JS).


I've only used wicket a year ago for a very small proof of concept, so I'm not that versed, but I think the above quote is just something you throw around without any proof. Are you saying that wicket is not scalable?

However for Ajax style application it is not really suitable. Requests are synchronised on the page object so it is Sjax not Ajax and the dual HTML/component thing becomes a pain when you just want to throw panels, buttons around.


That's complete BS. Just like in JSF and any other component based frameworks, there are components that are AJAX enabled and some that are not. It's relatively simple to put together a wicket component that will not synchronize the whole page, so again, you have no clue what you're talking about.

Ilya

  Message #244450 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Quite a narrow sweet spot

Posted by: Matej Knopp on January 03, 2008 in response to Message #244434
I think Wicket is great for a low traffic HTML heavy website and/or you need to support low end browsers (without JS).

However for Ajax style application it is not really suitable. Requests are synchronised on the page object so it is Sjax not Ajax and the dual HTML/component thing becomes a pain when you just want to throw panels, buttons around.

Actually, Wicket is pretty scalable. Throwing around claims about Wicket not being able to handle high traffic without any actual numbers isn't very helpful. Not to mention that in real world the web framework is rarely the bottleneck.

Ajax is asynchronous in Wicket, having it locked on page instance doesn't change this fact. The requests are asynchronous and the client is not blocked, although the ajax requests are ordered on client and put to queue(s). They have to be in order to ensure deterministic behavior.

The serverside lock on page instance makes good sense, otherwise it would become a nightmare of concurrency bugs. In most of the model 2 applications I've seen noone even bothers to lock things in session...

I've never had problem working with panel or other components, would you mind explaining where the pain is? Preferably on mailing list.

Thanks.

  Message #244451 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Quite a narrow sweet spot

Posted by: Matej Knopp on January 03, 2008 in response to Message #244444
For web based applications I like GWT. Obviously it falls down if you need to support low end clients.

Almost all the styling we do is in CSS so having to maintain the component tree in HTML _and_ in Java component tree is an overhead with little reward. So if I just want a div full of buttons I have to have an HTML fragment lying around rather than just setting the correct CSS style name that I was given by the HTML/CSS monkey.

Talking of him he hates that Wicket needs to take over HTML ids (when using Ajax partial updates) as it makes his JavaScript slower only using class.

Sorry about the x y thing. I tried to set my real name but after filling out lots of other stuff the update didn't work.

Just because wicket sets element id for ajax updated elements (which is kinda necessary :), it doesn't mean it's impossible to use the element id to get to the element. You can either pass the generated id to javascript or even set your own (Component#setMarkupId).

  Message #244458 Post reply Post reply Post reply Go to top Go to top Go to top

My two cents

Posted by: Salma Saad on January 03, 2008 in response to Message #244368
I've been using Wicket for a project at work and I have used struts/JSP in the past and here are my comments.

1. Overall, I like the approach and most of the design decisions. Since I am an OO programmer Wicket translates HTML and Javascript into something I am more comfortable with and I like that.
2. I love the uncluttered HTML and lack of XML configuration. This is one of the best things about Wicket.
3. I found it hard to program some of the things in Wicket. My application has a very complex UI. It was hard enough to get some of that stuff to work in HTML and then having to 'translate' it to Java/Wicket was frustrating at times. To be fair a lot of the frustrations were because HTML sucks and really not due to Wicket. What the Wicket team is doing is really difficult work as HTML/Javascript are so ill defined. However, I did manage to uncover some bugs in Wicket and working around them took some time. Many of these issues are fixed in 1.3 but it did not help me as I am still using 1.2
4. The support for Wicket on the forums is fantastic. The documentation is not too great but the team is very helpful
5. Wicket is a moving target at this time. It's not easy to upgrade from one version to another since there are many, many changes. I think that in the future Wicket will become more stable and easier to work with. It is possible to build production applications in Wicket now but it's still a little on the 'bleeding edge'
6. Overall I think with Wicket you have to write much more code more than with Struts/JSP. However, the Wicket code is much more maintainable and understandable. If you consider that an application usually spends only 10% of it's life cycle in development and 90% in maintainance then it's a fair trade off.
7. The AJAX support in Wicket is really nice. For example, it's fairly simple to update a button title without reloading the page.

I believe that my experience with Wicket would have been smoother if I had started with 1.3 instead of 1.2. As a small example a small bug in 1.2 makes it impossible for me to reload a single cell in a table using AJAX. However, this has been fixed in 1.3.
Congratulations to the Wicket team for a fine framework!

  Message #244462 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Quite a narrow sweet spot

Posted by: x y on January 03, 2008 in response to Message #244450
Actually, Wicket is pretty scalable. Throwing around claims about Wicket not being able to handle high traffic without any actual numbers isn't very helpful. Not to mention that in real world the web framework is rarely the bottleneck.

I don't think I said that. I just said I thought its sweet spot is in a particular area.

Ajax is asynchronous in Wicket, having it locked on page instance doesn't change this fact. The requests are asynchronous and the client is not blocked, although the ajax requests are ordered on client and put to queue(s). They have to be in order to ensure deterministic behavior.

The serverside lock on page instance makes good sense, otherwise it would become a nightmare of concurrency bugs.

Sorry if I was not precise in my original statement. I was thinking of the queue on the client and the lock on the server side that you mention. I can totally see why it was done but it does seem like a serious limitation to me.

I've never had problem working with panel or other components, would you mind explaining where the pain is?

Ive found in HTML light web applications maintaining the HTML fragments seems redundant. I'd rather just manipulate components in Java and set the appopriate css class names.

Cheers

Sam

  Message #244465 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Quite a narrow sweet spot

Posted by: x y on January 03, 2008 in response to Message #244449
I've only used wicket a year ago for a very small proof of concept, so I'm not that versed, but I think the above quote is just something you throw around without any proof. Are you saying that wicket is not scalable?

No. I'm saying I think this is where its greatest strength lies. I'm sure it can scale however for my money I'd rather try and get something simpler to scale if it was a high traffic site. But as you say I'm clueless ;)

It's relatively simple to put together a wicket component that will not synchronize the whole page, so again, you have no clue what you're talking about.

As I said in my reply to Matej I'm sorry if my language was inaccurate I was thinking of the queue on the client side and the server side page lock. If you have a way around these it would be very helpful for my current project.

Cheers

Sam

  Message #244466 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Quite a narrow sweet spot

Posted by: x y on January 03, 2008 in response to Message #244451
Just because wicket sets element id for ajax updated elements (which is kinda necessary :), it doesn't mean it's impossible to use the element id to get to the element. You can either pass the generated id to javascript or even set your own (Component#setMarkupId).

All true. We looked at these but in the end decided it was simpler (code and division of work) to either use a css class name or have a non-wicket div or span. The HTML monkey is just sulking about extra spans and divs ;)

Cheers

Sam

  Message #244469 Post reply Post reply Post reply Go to top Go to top Go to top

Wicket 1.3 and Liferay Portal

Posted by: Anthony Bisong on January 03, 2008 in response to Message #244368
How easy is it to use Wicket 1.3 application as a portlet in Liferay Portal 4.xx? As anyone tried it yet?

  Message #244477 Post reply Post reply Post reply Go to top Go to top Go to top

wicket:id ?

Posted by: Gabriel K. on January 04, 2008 in response to Message #244368
Why do you need to add everywhere in the HTML templates the wicket:id parameters?
Wouldn't it be easier to maintain - for Html guys - to use the normal html "id"? Just like GWT ?
(To me GWT and Tapestry are the closest framework to Wicket)

  Message #244478 Post reply Post reply Post reply Go to top Go to top Go to top

Re: wicket:id ?

Posted by: Alex Objelean on January 04, 2008 in response to Message #244477
It's the only way to bind the markup component with it's associated java component. Something similar to "bind" from jsf.

  Message #244479 Post reply Post reply Post reply Go to top Go to top Go to top

Re: wicket:id ?

Posted by: x y on January 04, 2008 in response to Message #244477
Why do you need to add everywhere in the HTML templates the wicket:id parameters?
Wouldn't it be easier to maintain - for Html guys - to use the normal html "id"?

The semantics are slightly different as wicket:id only has to be unique relative to its parent. This means you can re-use HTML fragments without having to worry about ids clashing. Having said that it would be nice if an absolute id could be specified in the HTML to override the default behaviour.


Just like GWT ?
(To me GWT and Tapestry are the closest framework to Wicket)

Obviously one of the big differences between GWT and Wicket is that in Wicket the component tree is held on the server side. Lots of pros and cons to this difference. One less obvious difference is that to improve scaling, I think, the components (and any other page state) is serialised. Needing to support serialisation is a bit of a pain but they provide some classes to support attaching/detaching the model etc.

I think Wicket in full Ajax (partial updates) "mode" is very much like Echo.

Cheers

Sam

  Message #244480 Post reply Post reply Post reply Go to top Go to top Go to top

Couple of reasons for wicket:id

Posted by: Roy van Rijn on January 04, 2008 in response to Message #244477
Hi,

I think when Wicket started they also used normal id instead of wicket:id (not really sure about this). But there are a couple of pro's for using wicket:id.

1. Seperation. Designers like to have control over the ID for CSS etc. Then the developers have their own ID for developing.

2. Wicket:id allows duplicate names in the markup, normal id needs to be unique on a page (according to the standard). On a page with multible tables you might use the wicket:id="row" multiple times.

3. Working together with different frameworks the wicket:id also helps. I think some AJAX frameworks (like prototype/dojo etc?) use the id's, so its better to have wicket use something else so they don't collide.

I hope this will help you understand the choice they made. It looked weird to me too at first, but you get accustomed to it pretty fast.

  Message #244481 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Apache Wicket 1.3 released: Why stick to HTML?

Posted by: Jose Maria Arranz on January 04, 2008 in response to Message #244428
As a Java Developer, I see the future in frameworks such as ECHO2, ThinWire, JSeamless, GWT, etc. because I could do my work using 100% Java without worrying about the HTML/JavaScript/Flex code.


Fine, but it breaks the *web development culture*: the web developer/designer usually wants *full control* of the HTML layout.

I invite you to read this article (disclaimer: is written by me, Wicket approach fits well with my thinking).

Moreover, some of these frameworks could allow deploying the very same code as a desktopApp or webApp.


Do you really need this strong feature? I think >90% of web applications have no code shared with desktop app, do you agree?

  Message #244483 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Quite a narrow sweet spot

Posted by: Jose Maria Arranz on January 04, 2008 in response to Message #244444
For web based applications I like GWT. Obviously it falls down if you need to support low end clients.

Almost all the styling we do is in CSS so having to maintain the component tree in HTML _and_ in Java component tree is an overhead with little reward.


Do you know what is "separation of concerns"? and decoupling?

Independent concepts should be independently represented and should be combined only when needed B. Stroustrup about C++ templates.

The reason that data structures and algorithms can work together seamlessly is ... that they do not know anything about each other. Alex Stepanov about Generic Programming.

Replace:
data structures => HTML layout
algorithms => data model

  Message #244484 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Quite a narrow sweet spot

Posted by: Jose Maria Arranz on January 04, 2008 in response to Message #244462
I was thinking of the queue on the client and the lock on the server side that you mention. I can totally see why it was done but it does seem like a serious limitation to me.


Do you like multithread code? do you like coding locks by hand?

Do you know the HTTP 1.1 only allows two concurrent (AJAX or not AJAX) requests per browser-server? No very much concurrency is allowed.

Do you know a processor/core only can dispatch very very few threads concurrently? we are talking about web applications with several concurrent users, every user needs two or more threads? sure?

Do you know servlet containers usually manage a pool of threads? if all threads are used your request must wait.

Of course if you want to run a new concurrent task you can create a new thread.

  Message #244486 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Quite a narrow sweet spot

Posted by: x y on January 04, 2008 in response to Message #244483
Do you know what is "separation of concerns"? and decoupling?

Have you seen http://www.csszengarden.com/ ? Ive found the seperation of concerns works very well with HTML/CSS developers and me if I produce a nice DOM tree with semantic CSS names and other meta data that the front end developer can work with. Obviously if IE6 implemented CSS properly it would be much nicer.

As I said originally where the application is more HTML heavy then Wicket looks a lot better. I still find that having to match hierarchy between HTML and components is an overhead I could live without. It gets worse when using partial updates as Wicket takes over the id.

data structures => HTML layout
algorithms => data model

Not sure I buy this analogy. I'm just working on a different split. I spit out a semantic HTML DOM tree (concern A) and another deleloper makes it pretty with CSS (concern B).

I thought when CSS arrived we were all excitied because we could get rid of font tags etc. Then we were all pushing to avoid tables for layout etc so that we produced nice clean semantic HTML for screen readers etc...

For what it is worth I find I can work well with just semantic CSS names and the guy that sits next to me being busy with JQuery and CSS.

Cheers

Sam

  Message #244489 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Quite a narrow sweet spot

Posted by: x y on January 04, 2008 in response to Message #244484
Do you like multithread code? do you like coding locks by hand?

Nope. It is a nightmare. Why can't a server handle more than one request per client without application specific multi-threading? Surely I can have a slow task be performed in one thread and do something for the user in another without hand coding any MT code?

Do you know the HTTP 1.1 only allows two concurrent (AJAX or not AJAX) requests per browser-server?

I thought it was a suggestion rather than a hard rule but still seems very handy to allow the user to use the UI incase another action is being slow.

Do you know a processor/core only can dispatch very very few threads concurrently? we are talking about web applications with several concurrent users, every user needs two or more threads? sure?

My main concern (about our large Wicket application) is now having the need to make sure all requests are handled very promptly. Obviously I would want to avoid this no matter what the architecture but now it is even more damaging as the whole UI is blocked meaning the user will probably start clicking more as they find everything "seems to have stopped working".

Do you know servlet containers usually manage a pool of threads? if all threads are used your request must wait.

also if I have a 100 free my poor Wicket user still can't use one.

Cheers

Sam

  Message #244501 Post reply Post reply Post reply Go to top Go to top Go to top

No portlet support

Posted by: Hans Westerbeek on January 04, 2008 in response to Message #244469
I believe wicket does not have portlet support, so not usable in any Portal server.

Maybe the wicket team is waiting for JCR-268 (next generation portlet spec) to be completed?

  Message #244573 Post reply Post reply Post reply Go to top Go to top Go to top

Re: No portlet support

Posted by: Eelco Hillenius on January 04, 2008 in response to Message #244501
I believe wicket does not have portlet support, so not usable in any Portal server.

Maybe the wicket team is waiting for JCR-268 (next generation portlet spec) to be completed?


Wicket does support portlets out of the box. In fact, one of the core developers (Ate) is also involved in various portlet initiatives and JSRs. See for instance http://www.slideshare.net/ate.douma/wicket-portlet-primer/

  Message #244575 Post reply Post reply Post reply Go to top Go to top Go to top

Re: No portlet support

Posted by: Eelco Hillenius on January 04, 2008 in response to Message #244573
I believe wicket does not have portlet support, so not usable in any Portal server.

Maybe the wicket team is waiting for JCR-268 (next generation portlet spec) to be completed?


Wicket does support portlets out of the box. In fact, one of the core developers (Ate) is also involved in various portlet initiatives and JSRs. See for instance http://www.slideshare.net/ate.douma/wicket-portlet-primer/


Do however check out the various discussions on the mailing list (or ask if you run into trouble). On some portlet containers it should run smoothly, but others might require more work (Liferay for instance).

  Message #244578 Post reply Post reply Post reply Go to top Go to top Go to top

Many Thanks

Posted by: Florin Gheorghies on January 04, 2008 in response to Message #244368
No doubt, Wicket is the most sensible, most enjoyable and most friendly web framework.

I only wish the core developers to stay humble and listen to the needs voiced out in the user land. We've all seen pride of success distroy people, work and future hopes. Pride damages the brain in a way the patient is not aware of.

Thanks for the hard work.

  Message #244586 Post reply Post reply Post reply Go to top Go to top Go to top

Re: No portlet support

Posted by: Hans Westerbeek on January 04, 2008 in response to Message #244573
I stand corrected.

This just does goes to show I can never trust anything my colleagues tell me.

  Message #244587 Post reply Post reply Post reply Go to top Go to top Go to top

Re: No portlet support

Posted by: Hans Westerbeek on January 04, 2008 in response to Message #244586
well, almost anything :)

  Message #244591 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Apache Wicket 1.3 released

Posted by: Dennis Bekkering on January 04, 2008 in response to Message #244368
wicket is more complex and verbose than necessary

  Message #244606 Post reply Post reply Post reply Go to top Go to top Go to top

Keep up the good work!

Posted by: Medhat Saleh on January 04, 2008 in response to Message #244586
I second hoping that the core team remains humble and focused on developers feedback and not engage in excessive vanity (as tragically happened with some in Rails community --- I love Rails though). However, I also agree with their firmly responding to some of non-sensical and amaturish critiques.

Thanks Wicket team for a truely elegant and sensible framework.

  Message #244608 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Apache Wicket 1.3 released: Why stick to HTML?

Posted by: Mark Nuttall on January 04, 2008 in response to Message #244481
Do you really need this strong feature? I think >90% of web applications have no code shared with desktop app, do you agree?

Don't or shouldn't?

I don't write web applictions. I write applications that might have as one of their UI's a browser UI.

  Message #244613 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Apache Wicket 1.3 released: Why stick to HTML?

Posted by: Jose Maria Arranz on January 05, 2008 in response to Message #244608
Do you really need this strong feature? I think >90% of web applications have no code shared with desktop app, do you agree?

Don't or shouldn't?

I don't write web applictions. I write applications that might have as one of their UI's a browser UI.


Of course, almost any desktop application managing "business" data may have a browser GUI (I'm not talking about intensive graphics applications), before the web most of applications where fat client connected to databases, these days those applications have been *replaced* to web applications to avoid maintenance problems. Of course now we have Java Web Start etc but the web approach won.

This "history" is a generalization many applications have two versions, desktop to internal use, web based for clients but to convert semi-automatically a desktop application UI part to the web (using a like-Swing web framework) is not a recommended approach if your user wants a "like a web site" application.

  Message #244615 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Keep up the good work!

Posted by: x y on January 05, 2008 in response to Message #244606
I second hoping that the core team remains humble and focused on developers feedback and not engage in excessive vanity (as tragically happened with some in Rails community --- I love Rails though). However, I also agree with their firmly responding to some of non-sensical and amaturish critiques.

Thanks Wicket team for a truely elegant and sensible framework.

I imagine I come under the category of "non-sensical and amaturish critiques". Strangely the most venom came from people who admitted to "used wicket a year ago for a very small proof of concept" while Matej Knopp, who I think is a core Wicket developer, was very polite, well reasoned and informative.

I've been coding web applications for about 10 years and using Wicket full time for about 5 months so thought I had something to contribute to the discussion. I like robust geeky discussion but I've not really enjoyed the response to my first post on theserverside.

Anyway I honestly wish the Wicket team all the success in the world. I've found them all very polite and helpful.

Cheers

Sam

  Message #244616 Post reply Post reply Post reply Go to top Go to top Go to top

Re: wicket:id ?

Posted by: Gabriel K. on January 05, 2008 in response to Message #244479
Thank you for these answers. I did not think about the possible multiple wicket:id-s. But I definitively think this would be nice not to change anything on the HTML pages. So these pages can change easily and the java developper simply decorates the given work of the web guy. "the web developer/designer usually wants *full control* of the HTML layout.". Separation of concerns and Configuration over convention. Which is one of the mantra of wicket (and this is why i think Wicket is better than the other frameworks).
Maybe adding a new signature to the Component where the String wicket:id is replaced by something like that object: new WicketId(String htmlId) (or a static factory WicketId.getHtmlId(String htmlId) ) - where the wicketId represents/creates a wicket:id.
Moreover, most of the time the multiple wicket:id happens in components, not in the pages. In tr/td not in divs... And when you have multiple components with same wicketIds, you will certainly not have access to an html id.
This could lead to java developpers not changing html pages at all. (There is other tags like wicket:remove but still I think one can find a workaround). Anyway maybe this is not the best place to continue the conversation?

But this wicket:id-s somehow shows the other pain with wicket (sorry, guys): one have to code more. As said before, this code is easy to maintain so it may worth the price. But still..Binding the fields of an objet is a long and (most of all) uninteresting work. What about some more configuration over convention where you bind an object to an entire component (and its ids)?

  Message #244617 Post reply Post reply Post reply Go to top Go to top Go to top

Re: wicket:id ?

Posted by: Martijn Dashorst on January 05, 2008 in response to Message #244616
What about some more configuration over convention where you bind an object to an entire component (and its ids)?


One word: CompoundPropertyModel.

It allows you to bind bean properties based on component identifiers.

Form form = new Form("form", new CompoundPropertyModel(person));
form.add(new TextField("name"));
form.add(new TextField("address.street"));
form.add(new TextField("address.zip"));
form.add(new TextField("address.city"));


There is one caveat: when you rename a property, for instance zip to zipcode, then you end up having to rename the textfield's id in both the Java code and markup. Convention over configuration does have its price.

This is why framework builders really want to have a typesafe way to bind to bean properties.

  Message #244618 Post reply Post reply Post reply Go to top Go to top Go to top

Wicket Web Beans

Posted by: Martijn Dashorst on January 05, 2008 in response to Message #244616
Another option is to use the Wicket Web Beans components.

  Message #244629 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Apache Wicket 1.3 released: Why stick to HTML?

Posted by: Mark Nuttall on January 05, 2008 in response to Message #244613
Do you really need this strong feature? I think >90% of web applications have no code shared with desktop app, do you agree?

Don't or shouldn't?

I don't write web applictions. I write applications that might have as one of their UI's a browser UI.


Of course, almost any desktop application managing "business" data may have a browser GUI (I'm not talking about intensive graphics applications), before the web most of applications where fat client connected to databases, these days those applications have been *replaced* to web applications to avoid maintenance problems. Of course now we have Java Web Start etc but the web approach won.

This "history" is a generalization many applications have two versions, desktop to internal use, web based for clients but to convert semi-automatically a desktop application UI part to the web (using a like-Swing web framework) is not a recommended approach if your user wants a "like a web site" application.


So are you now saying they do share code? :)

Anyway, the "ease" of "web apps" is not maintenance. It is their deployment (which is not always easy). The majority of people have chosen html based browser UIs not for maintenance or deployment issues. They did it because they have the herd mentality. One of the factors in this is that people think you have to do web apps to do enterprise applications. Of course, this is not true.

I highly doubt the web approach has "won". Most users don't like web applications. I have seen the tide turning back to more "desktop" applications.

Those on the bandwagon dumped their desktop apps and went web without understanding what actually was good about them both and figuring out how meet both needs with both. They usually didn't keep both. And if they did, they didn't share anything, sadly. This is why i asked you the question. I think the "applications" could share a lot code and should.

The main application I am currently involved in is a combination of a web enabled Eclipse RCP (for daily users), a Web UI (soon to be 3) for occasional users, and a non-ui-interface for system processes.

I agree with your assessment about web sites and Swing like frameworks, for the most part. I suggest you go look at what Yoxos is doing. With "Web 2.0" the line is becoming more blurred.

http://eclipsediscovery.yoxos.com/discovery/rap


Anyway, apologies to the Wicket people for hijacking their thread.

  Message #244631 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Apache Wicket 1.3 released: Why stick to HTML?

Posted by: Eelco Hillenius on January 06, 2008 in response to Message #244629
The majority of people have chosen html based browser UIs not for maintenance or deployment issues. They did it because they have the herd mentality.


I disagree. Most developers I know would prefer to work on desktop(-like) applications rather than web applications. But companies often do prefer the easier (cheaper) maintenance/ deployment of web applications. For just about every project I've done the last few years a serious evaluation of desktop alternatives was done before going for a browser based solution. The latter always won because customers preferred it and techs like Java Webstart failed to be robust enought (there was always at least one test client with installation problems). Also, I think it is an urban myth that desktop applications are always cheaper to develop.

Maybe something like Adobe Air will change this preference. Believe me, even though I've invested plenty of blood, sweat and tears into Wicket, I'd love to have a good alternative to web applications as they are today.

My 2c

  Message #244642 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Apache Wicket 1.3 released: Why stick to HTML?

Posted by: Mark Nuttall on January 06, 2008 in response to Message #244631
I disagree. Most developers I know would prefer to work on desktop(-like) applications rather than web applications.
Why is that? Also, when I said "herd mentality", i was talking more about "companies" and management, like you mention in you next statement.

But companies often do prefer the easier (cheaper) maintenance/ deployment of web applications.
This is a perceived value. And thus why i said "herd mentality". I am NOT saying that if you do web apps you are part of the "herd mentality". There are valid reasons for doing it and for using products like Wicket.


For just about every project I've done the last few years a serious evaluation of desktop alternatives was done before going for a browser based solution.
So, then how is the web app easier to maintain ?


The latter always won because customers preferred it and techs like Java Webstart failed to be robust enought (there was always at least one test client with installation problems).

Well, I have had the opposite experience. Web Start has it issues, but so do web apps and those are more difficult to solve.


Also, I think it is an urban myth that desktop applications are always cheaper to develop.

I would have to agree. If I said "always" then I retract that.

The problem is that people say that about web apps. And that, definitely is a myth.

There is way too much that goes into figuring out cost and ease. And what is true today might not be tomorrow.

Maybe something like Adobe Air will change this preference. Believe me, even though I've invested plenty of blood, sweat and tears into Wicket, I'd love to have a good alternative to web applications as they are today.
If you develop desktop apps that sometimes need to be web apps or the opposite, check out RAP.

For web sites with application like functionality, I'll give Wicket a deeper look. We are about move to the next phase of our "solution" and this is the type of UI we will be adding.

  Message #244645 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Apache Wicket 1.3 released: Why stick to HTML?

Posted by: Jose Maria Arranz on January 06, 2008 in response to Message #244629
So are you now saying they do share code? :)


Sometimes, but not frequently :)

Anyway, the "ease" of "web apps" is not maintenance. It is their deployment (which is not always easy).


Your bank doesn't need to update your browser when their end user bank application changes, it would be nice but they don't want to fix my computer :)

The end user doesn't need to install any software to manage his/her bank accounts.

May be the deployment of a web application is a nightmare but is not the user problem.

The majority of people have chosen html based browser UIs not for maintenance or deployment issues. They did it because they have the herd mentality.


To the end user, web is easy, web is one stop, web is no installations, web is "one click", web is cool, web is "super", web is tons of beautiful (and hot) images... we, software developers, are slave of end users so we must deliver web... :)


I highly doubt the web approach has "won". Most users don't like web applications.


Today the web approach has won, may be someday...

I'm not talking about the web technology is superior to any other. Web development is a hack, but is a hack so cool... and end users love this hack.

I think the "applications" could share a lot code and should.


I agree, this is possible, for instance Wicket's tree uses Swing's tree data model, my web framework, ItsNat, uses *ever* Swing data and selection models. Both frameworks use a component oriented background, this background is "compatible" with desktop development style.

The problem is UI: web UI (technology and culture) is so different to desktop UI ... any attempt to bring the desktop UI to web is interesting but I think is a wrong option unless you are coding a quick port. Is my opinion and of course I'm biased but when I see the source code of a web page of such RIA desktop-like web frameworks I can't breath and my heart stops :)

  Message #244646 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Apache Wicket 1.3 released: Why stick to HTML?

Posted by: Patrick Angeles on January 06, 2008 in response to Message #244642

So, then how is the web app easier to maintain ?
The latter always won because customers preferred it and techs like Java Webstart failed to be robust enought (there was always at least one test client with installation problems).

Well, I have had the opposite experience. Web Start has it issues, but so do web apps and those are more difficult to solve.




Regarding webapps, I'd like to know exactly what these difficulties are, and how a desktop app provides a better solution.

I'll admit, I'm part of the "herd-mentality"... on just about every front I can imagine, webapps are easier:
- Security
- Languages - not just Java, but PHP, Ruby, CGI, .Net, whatever... maybe I'm out of touch, but it seems that desktop apps are limited to Java and M$ technology.
- Portability - just about every major desktop has a browser.
- Versioning

Java Web Start addresses alot of these issues, but that's just for applications written in Java.

I can think of a couple of advantages a desktop-app would have, mainly:
- More responsive UI
- Scalability

AJAX/Web 2.0 has come a long way in addressing the former. Admittedtly, these are hacks, but frameworks like Wicket and GWT provide enough abstraction so Joe Developer won't have to worry about the hacks. Scalability is a real concern, but for most enterprise apps, the majority of processing needs to happen on the server-side anyway, so having a fat client provides marginal benefits.

I'm not trying to undermine your points... I'd seriously like to know what the "pro-" arguments are in going with a thick-client solution (or more specifically, Java Web Start).

  Message #244651 Post reply Post reply Post reply Go to top Go to top Go to top

Wicket Bench 0.5 released

Posted by: Martijn Dashorst on January 06, 2008 in response to Message #244425
Wicket Bench just released version 0.5 of the Eclipse Wicket plugin:

Wicket Bench
List of features
Update site

New content on TheServerSide.comNew content on TheServerSide.comNew content on TheServerSide.com

Dependency Injection in Java EE 6 - Part 2

Reza Rahman continues to explore the features of the proposed JSR 299, Contexts and Dependency Injection for Java EE (CDI). When approved, it promises to be a key feature of Java EE 6. (January 21, Article)

Ted Neward Q&A: What you must know about JavaScript, Scala and more

Ted Neward is an independent consultant specializing in high-scale enterprise systems, and an authority in Java and .NET technologies. He is the author and co-author of several books, including Effective Enterprise Java. At TheServerSide Java Symposium in March, he will be presenting sessions on pragmatic architecture, ECMAScript and Scala. (January 15, Article)

Developers split on open sourcing Java

Now that Oracle is absorbing Sun Microsystems, there mixed views on what should come of the Java Community Process (JCP). While some say Oracle should become the new steward of Java and keep the JCP much as it was, others argue that it may be time to open-source this widespread language. (November 24, Article)

Dependency Injection in Java EE 6 - Part 1

Reza Rahman explores the features of the proposed JSR 299, Contexts and Dependency Injection for Java EE (CDI). When approved, it promises to be a key feature of Java EE 6. (November 2, Article)

SAML: It's Not just for Web services

SAML is an XML-based standard for exchanging authentication and authorization data between security domains. The single most important problem that SAML was created to solve is the Web browser Single Sign-On problem. Many organizations are debating whether to stay with version 1.1 or move to 2.0. This article makes observations about both options. (September 28, Article)

Programming is Also Teaching Your Team

Joe Ottinger takes a look at how people learn, and applies it to the practice of programming. He notes that understanding how people learn is an essential part of working in a programming team. (September 22, Article)

Can Java EE Deliver The Asynchronous Web?

Stephen Maryka gave us an article about the Asynchronous Web and posed a number of questions that get examined like an approach to delivering Asynchronous Web capabilities through extensions to existing Java EE technologies. (July 14, Article)

JSF Flex

JavaServer Faces Flex goal is to provide users capability in creating standard Flex components, part of flexSDK which is open sourced through MPL license, as normal JSF components. This article by Ji Hoon Kim will provide an overview of creating a simple multilingual JSF page consisting of JSF Flex tags. (June 29, Article)

The Rules of SOA - A Road to a Successful SOA Implementation

In this session Jeff explores the key characteristics of successful SOA projects. He covers some of the patterns, and anti-patterns, tool sets, and strategies that he himself learned the hard way. Last, he provides a strategy and blueprint for achieving a high likelihood of success in your SOA project. (June 23, Tech Talk)

Ari Zilka Talks About Terracotta 3.1

Ari Zilka, CTO of Terracotta, Inc., talks about the new features in Terracotta 3.1, announced during JavaOne and available now. (June 15, Tech Talk)

Enterprise Application Integration, and Spring

In this Tech Talk, Josh Long explores an integration challenge using Spring Integration and walks through the implementation, employing and expanding on the basic patterns of Enterprise Application Integration to tie together components into a function integration solution, and then demonstrates how Spring Integration helps address the integration requirements. (June 15, Tech Talk)

Google Web Toolkit: An Introduction

In this Tech Talk, David Geary teaches you: The basics of Google Web Toolkit; How to implement Ajax-enabled applications in Java; Internationalization; Hooking into the browser history mechanism; Remote procedure calls. (June 4, Tech Talk)

Just Enough Early Architecture to Guide Development

Jon Kern discusses the best architecture/technical solutions and ensure that they are repeated by all developers. By tackling the architecture up-front in a serial manner, subsequent parallel development will be much more manageable and predictable. (May 28, Tech Talk)

Productive Programmer: On the Lam from the Furniture Police

This keynote describes the frustrations of modern knowledge workers in their quest to actually get some work done, and solutions for how to guard yourself against all those distractions. Neal Ford talks about environments, coding, acceleration, automation, and avoiding repetition as ways to defeat the misguided attempts to sap your ability to produce good work. (May 26, Tech Talk)

Auto-Scaling Your Existing Web Application

Gil demonstrates how new, aggressive uses of already abundant compute capacity by common applications offer competitive value for application designers. (May 21, Tech Talk)

Automating Hibernate Mapping and Queries For Java Web Development

Chris Keene introduces WaveMaker as a new way to automate the ability to generate Hibernate classes in order to more quickly bring OR mapping into an application. (May 19, Article)

Free Book PDF Download: Mastering EJB Third Edition

Mastering EJB was one of the original and most influential EJB books in the industry. Mastering EJB III now returns with two new expert co-authors, updated for EJB 2.1 and 30% new chapters including security, integration, best practices, open source, and more.
(Book PDF Download)

Application Server Matrix

The Application Server Matrix is a detailed listing of J2EE vendors and their application server products, with information on latest version numbers, J2EE spec support and licensing, pricing, platform support, and links to product downloads and reviews.
(Application Server Comparison Matrix)

News | Blogs | Discussions | Tech talks | Patterns | Reviews | White Papers | Downloads | Articles | Media kit | About
Java Solutions
All Content Copyright ©2007 TheServerSide Privacy Policy
Site Map