To address this problem, there two very good technologies available in the industry. Google's GWT framework, and Adobe's Flex. GWT uses the Java language, and flex uses actionScript which is almost similar to java. Especially for java developers, adapting to these two technologies becomes a cakewalk!
Google Web Toolkit(GWT)
Flex is a developer toolkit for building Rich Internet Applications. Its almost similar in principle to java applets which needs JRE plugin(Java virtual machine which executes the bytecode(.class)) to be installed in browser to run them. A Flex application runs in the Flash Player which is typically installed as a browser plug-in. A major piece of Flash Player is the ActionScript Virtual Machine that executes the Flash bytecodes(.swf) to which a Flex application is compiled.
The Flex programming model includes:
- ActionScript - an ECMAScript-compliant, object-oriented programming language. With some syntactical differences, ActionScript looks and feels similar to Java, and supports the same object-oriented constructs: packages, classes, inheritance, interfaces, strong (but also dynamic) typing, and so on.
- MXML - MXML is an XML markup language that you use to lay out user interface components. Like HTML, MXML provides tags that define user interfaces. MXML will seem very familiar if you have worked with HTML. However, MXML is more structured than HTML, and it provides a much richer tag set. MXML includes tags for visual components such as data grids, trees, tab navigators, accordions, and menus, as well as nonvisual components that provide web service connections, data binding, and animation effects. You can also extend MXML with custom components that you reference as MXML tags.
Flex enables the developers to develop simple, rich and interactive user interfaces very easily without much development effort.