Looking for a KISS webapp framework
The landscape of java frameworks for Web Applications is one of most various and controversial ever seen in any technical context.
If you look into the internet you will find a ton of frameworks, less or more known by the big community. And if you ask into newsgroups or mailing lists you will find a big variety of different opinions about them. There are also several philosophies: some frameworks (most of them, honestly) rely on the MVC pattern; some others mix application code with html/xml code. There are component based frameworks, action based ones; with declarative and iterative approach; ajax versus standard html and so on.
The life is not simple for the Java* KISS web programmer.
First of all here’s what I need. Or better, how in my opinion a KISS web application framework should be.
- HTML and Java. HTML must be true HTML (no tags, no scriptlets etc., or anything else can be troubling for your preferred web designer (also known, as in the Web 1.0 age, as HTMLlist, and in most cases also known as yourself :-P), and Java should be just my usual programming language. I must not be forced to write code in a different way; or even to think in a different way. I am the programmer, I want to drive my application. It’s not the framework which should drive me.
- No configurations, or minimal (of course at least web.xml has to be configured).
- Flexible. Really flexible: a new image added to the page MUST NOT require re-deploy. A full redesign of the page-layout must be possible without disturbing the great Java man from reading its new book (which is part of the save the world mission, of course :-))
I am currently investigating about two (in my opinion) promising frameworks: Wicket and ItsNat.I know Wicket because a lot of Ammentos users wrote me they’re using it in conjunction with my persistence layer. Being now an Apache project, Wicket’s popularity is increasing day by day. All documentation is available here.
I found instead ItsNat some days ago by googling.What sounds very interesting to me about this one is its innovative approach called TBITS (The Browser Is The Server). Quoted from the web site: “ItsNat simulates a Universal W3C Java Browser at the server, with ItsNat the server mimics the behavior of a web browser, containing a W3C DOM Level 2 node tree and receiving W3C DOM Events.”. In practice, the whole web application runs around the DOM of the pages, which is shared from the clients and the server and is observed by both of them, allowing real event-driven programming, in a web 2.0 way. A look to the online demo is very talkative.
I have not yet decided if ItsNat is KISS. By sure it sounds exciting to me. I’ll write more about it in the future.* Notice that I am talking about Java. I know there are a lot of RAILS, SCALA etc. etc. enthusiastic people, but I am trying to find a solution for Java Web development. That does not mean I am not interested about these alternatives too, but that will be another story 😉