Component-oriented UI development has been popular for over twenty years, with the introduction of Visual Basic. The promise is simple: packaged reusable code that makes powerful widgets like grids, toolbars, menus, smart input controls, panels, media players, charts, graphs, trees, image viewers, and so on, easy to integrate into applications.
On the web, frameworks such as ASP.NET, JSF, Tapestry, Wicket, GWT, and Vaadin take advantage of component architectures, and there is no shortage of JavaScript/HTML5 widget libraries such as YUI, KendoUI, jQuery UI, Bootstrap, ExtJS, and so on. Each of these frameworks allows developers to build their own custom components, but those components won’t work outside of the framework. Wouldn’t it be nice if there were a standard way to build a UI component that runs in a browser? A component model that is part of the open web?
Finally, there is: Web Components, an emerging standard from the Web Applications Working Group (WAWG). Web Components consists of five different standards: Templates, Decorators,
Custom Elements, Shadow DOM, and Imports. Together, these standards allow you to build custom widgets with HTML5, JavaScript, and CSS that can be used just like native HTML elements.
Since the standards are not fully supported in all browsers, you need a library to support them in non-compliant browsers. Google’s Polymer does just this, and more.
Come to this workshop to learn about these exciting new technologies hands-on.
Kito D. Mann is the Principal Consultant at Virtua, Inc. (http://virtua.tech), specializing in enterprise application architecture, training, development, and mentoring with JavaServer Faces, HTML5 Web Components, Polymer, portlets, Liferay, and Java EE technologies. He is also the editor-in-chief of JSFCentral.com (www.jsfcentral.com), co-host of the Enterprise Java Newscast (http://www.enterprisejavanews.com), and the author of JavaServer Faces in Action (Manning). Mann has participated in several Java Community Process expert groups (including CDI, JSF and Portlets) and is also an internationally recognized speaker. He holds a BA in Computer Science from Johns Hopkins University.