views:

523

answers:

3

I want to build a web application like a wiki and a forum. There will be much more readers than editors. My favourites to implement it are Grails and Wicket.

Grails: I like the integrated environment with which you can start quickly. I think the classic stateless mvc approach is well suited to a content centric website. Disadvantages are the quality (quite buggy in the past) and that complex user interfaces are not so easy to manage (compared to Wicket).

Wicket: Compared to Grails the developer has to do more configuration with Wicket. But I like the clean, pure Java approach of Wicket and the comfortable Swing-like programming. It is really easy to build reusable GUI components (not splitted in a template and a controller). The quality of Wicket is noticeable better than the quality of Grails. But I wonder whether the model with client UI state on the server really fit in a content centric web application. Then again Wicket performance is good and there are tricks like static pages.

What would you use and why?

+3  A: 

First the good news: Building a wiki or a forum is a task that can be achieved with both Wicket and Grails in a way which will make you smile since both have their strengths (and of course weaknesses as you list) which are useful in the task you described.

I believe that the actual issue in choosing the right framework for this job is highly dependable on the actual design of the system. Off the bat I'd say that Wicket is definitely better choice for forums since they have quite a rigid structure which is perfect for Wicket's component oriented development style while wikis generally require more dynamic content and mix'n'matching of content types together, support for templating etc. etc. and this is where Grails would most likely suit better mostly because it's a lot easier to define dynamic things with a dynamic language.

Now, if you're thinking of combining these two - wiki platform and forums, that is - through some API or maybe want to create one super application that has both and thus really need to choose just one of the frameworks for the job, then the decision is definitely a lot harder. I don't doubt you could'nt make a forum with grails and a wiki with Wicket, however if possible I'd go with this:

  • Forums built with Wicket
  • Wiki built with Grails
  • middle layer built with plain Java that handles data transactions between the two

Of course, if you're thinking of a forums-like wiki or wiki-like forum, then I have no opinion to share.

Esko
+1  A: 

I've built a multi-author news site using grails so I can attest that it is quite up to the challenge. I haven't used wicket itself, but then I'm completely against the notion of writing java code that mimics html concepts. JSF does this too and the whole idea is just, well, unnecessary.

tag libraries in grails are easy to build and wonderful to work with (too bad JSP taglibs weren't so easy), gsp is really nice with a nice set of taglibs to choose from and since you have a mostly-read implementation you can take the GSP output and render it into text and thus save it as a file. i do this on my site, where I generate the html and have essentially a file cache that gets cleared out periodically via a cron job (although the quartz plugin could do it as well)

speaking of quartz, there are tons of good plugins out there for grails to handle just about anything you could want.

Robert
A: 

You can use both worlds with the wicket plugin for grails!

Karussell
The plug-in is outdated and I think the architecture of Wicket doesn't play well with the architecture of Grails. But thanks for the suggestion.
deamon
are you sure? You meant: "This plugin is outdated for Grails 1.1", yes?but in grails 1.2 they introduced the latest groovy which handles annonymous classes better so wicket could be used I think
Karussell