DMWeb - Java Web Framework
I don't like to use HTML and Javascript to program complex web-sites and 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 - javascript code. Many google web products are developed with gwt.
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 javascript code: the result is the same. But this is all transparent to the programmer. The programmer simply use by inheritance and composition the objects.
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");
My projects
DM Eclipse Build/Save Plugin
code is run each time the source code is changed
DM XML-JSON Binding
converting data to java objects and vice versa
DM Web Framework
HTML5 interactive web pages