web-apps. I like to use a programming language like Java. With java you have
many benefits (my point of view): a compiler that help you with with the
syntax and errors; aggregate html snippet into poweful objects that have a
view and a behaviour too; relations between page parts; agile developing.
The existing java web framework that meet most of my requirements is gwt.
Google Web Toolkit allow you to program interactive web pages with java. The
gwt framework will then convert java code into optimized - cross browser -
My problem with gwt is that this framework is client side. It means that no
html code is created server side, all client side. This create a problem if
one need to be found by search engines. SEO is very important for website.
When a user search for informations, is very important to be in the list!
This means that one must use one web framework for the server side, and
another (like gwt) for the client side. But page parts/fragment are not so
strict only server side o client side. If you create a page fragment that show
an event, a restaurant, a bus station, it can be used sometime server side,
sometime during ajax actions client side. Why should I double the code?
DMWeb is the response for this problem. Is a java web framwork which
objects works both server and client side. The objects have a dual behaviour:
server side they create html code, client side they create the equivalent
programmer. The programmer simply use by inheritance and composition the
To avoid to reinvent the wheel for some thinks, I have used gwt for the
client part. The DOM Element and events are used as is. The API are "the same"
too. If you already know gwt is very easy to switch to DMWeb. The only think
you have to do is to add the DM prefix to Widget. Methods names and parameters
are the same. I added the DM prefix to avoid confusion is a Button is now of
gwt or dmweb. With the prefix is clear: Button is gwt, DMButton is dmweb. But
on both objects you can for example call the method: setLabel("Hello");