Tip

HTML5, Java and the future of Web development

The new mobile Web may feature a clear separation between the front-end HTML5 UI and the back-end Java applications.

HTML is a living entity. It has been evolving since its creation and will continue to evolve as long as we continue to find new and innovative ways to use the Internet. HTML5 is the latest "standardized" implementation of HTML, CSS, and JavaScript. The standard comes from WHATWG and the W3C and will be a huge influence in Web development.

The new mobile Web may feature a clear separation between the frontend user interface (UI) and the backend applications. Burr Sutter presented multiple sessions at JBoss World 2011, including one called HTML5 for the Java Developer. According to Sutter, new Web-based user interfaces will be built by designers and coded with XML, CSS, and HTML. For all the actual processing, the front-end UI will interact with Java-based Web services on the back end.

Because the front-end architecture is modular by design, it can be relatively easy to remove a stand-alone Java application and replace it with a similar application coded in PHP. It can be useful to think of this architecture as a plug-in architecture. In HTML5, modular items like "text-area" can be converted to a jQuery (or JavaScript) rich text editor plug in.

Text editors aren't the only plug ins that HTML5 takes advantage of. Plain old Java objects (POJOs) can easily be converted into useful objects that can plug directly into the front-end UI. It won't often matter whether the end-user is on a desktop, laptop, tablet, a smart phone, or even a Web-enabled feature phone.

In traditional Web development, you would code everything in Java and throw in a little XML and almost like magic, the HTML would be rendered for you. With HTML5, Java code can be used to create fat clients or applets within Google Web Toolkit (GWT). These applets can then become a part of the greater plug-in architecture. The Java Swing API already works this way and can be very useful to developers right now.

2012 may reveal an emerging RESTful user interface (UI) engine. New design tools are allowing the creation of front-end UI's that can detect a browser's capabilities and adjust display properties accordingly. For example, Modernizr is a JavaScript library that will detect the capabilities of your users' browsers and adjust the design accordingly. Their detection methods seem to be similar to those used by HTML5test.com.

Other HTML5 resource:

  • DiveIntoHTML5.org – A fun and easy-to-read description of HTML5
  • HTML5 Rocks – A collection of open source guides, tutorials, and interactive content designed to get developers into HTML5
  • Chromeexperiments.com – A collection of intriguing experimental uses for HTML5 functionality
  • HTML5 demos – Some simpler demos selected to demonstrate specific HTML5 functions

 

Recommended Titles

Programming Android by Zigurd Mednieks
JavaScript & jQuery: The Missing Manual by David Sawyer McFarland
The Definitive Guide to HTML5 by Adam Freeman
Cracking the Coding Interview: 150 Questions and Solutions by G.L McDowell
The Google Resume: Landing a Job at IBM, Apple, Microsoft or Facebook by  G.L McDowell

 

Dig Deeper on Front-end, back-end and middle-tier frameworks

App Architecture
Software Quality
Cloud Computing
Security
SearchAWS
Close