With components, Google agitates for a revolution in Web development

At Google I/O, the company urged developers to rethink Web pages in a componentized, composable programming model

At the Google I/O conference this week, the company vigorously lobbied developers to adopt a new programming model, one that could, the company asserted, make it radically easier to build Web applications.

In multiple sessions through the conference, Google engineers spoke about Web Components, an evolving World Wide Web Consortium (W3C) standard designed to help organize complex Web pages by providing a mechanism to assemble them using small single-function components.

"Web Components utterly change the Web platform. This isn't hyperbole. This actually changes everything," said Matthew McNulty, a Google engineering manager, during a presentation at the conference, which was held in San Francisco.

The standard could be important because "it introduces a new world where components from different vendors can live together on the same page. Apps can be crafted from parts found on a massive shelf," McNulty. "It's about composability. It gives you just enough of a container that the Web becomes composable."

Google has been working on its own library, called Polymer, that makes it easier to use and extend Web Components. "Polymer does all the hard work to make [Web Components] a cohesive system," McNulty said.

"The idea behind Polymer is to leverage the Web Components standard," said Al Hilwa, an IDC research program director for software development.

Hilwa noted that Polymer is an attempt to bring advanced extensibility to the Web platform, in much the same way that the Java Enterprise Edition and Microsoft .Net allows developers to share components and rapidly build applications using the work of others.

Although work on Web Components has been going on since 2010, the technology now seems to be picking up momentum.

Google's Chrome 36, which will ship in a few weeks and is ready in the beta channel now, will support Web Components. It is the first browser to do so.

"This is a milestone in Web development," said Eric Bildeman, a Google engineer working on the Chrome team, during another presentation on the technology.

In many ways, Web Components finally delivers the advanced coding tools and techniques that developers in other languages have long enjoyed, such as objects, templates and data binding (though the data binding is offered by Polymer, not Web Components itself).

Despite its almost universal use over the past decade, HTML, which provides the basic mark-up format for building Web pages, hasn't been advanced much in terms of helping developers build complex Web applications, Bildeman said.

For instance, there is no one standardized way in HTML to load additional elements into a Web page without help from external technologies such as PHP or Apache modules. Both JavaScript and CSS (Cascading Style Sheets) have long offered the ability to call in external files when a browser renders a Web page.

The recent emergence of HTML5 has provided a lot of support for advanced technology, such as local storage, geolocation and semantic tagging. But Web components are designed specifically help to make developers more productive, Bildeman said.

However, Web Components does require a different way of thinking about how to build Web apps, Bildeman said.

Web Components is actually an umbrella term, covering four different specifications that, when used together, provides the foundation for building a componentized Web pages.

Perhaps the core technology for Web Components is an import tag for HTML. While it sounds simple, the HTML import tag can save developers from what is known as dependency hell, in which they must declare, in the body of a page, all the libraries that will be needed to execute the code.

Instead, developers can embed that information within a component, and have the page call the component. The component can then be used by other pages as well.

The import tag allows developers to define their own elements, which can then be called by the browser.

Users can write their own elements, use those written by others, or even extend the elements that others have created with new features. Elements can also contain connections to other resources on the Web by wrapping around external APIs (application programming interface calls).

"There is logical separation now. It's about compartmentalizing the problem, so it's no longer just a bunch of JavaScript, HTML and CSS that you are hoping will work together," Bildeman said.

Beyond Google, other browsers makers seem to be taking a hard look at the technology.

Mozilla has already included a number of functions to support Web Components, and Apple and Microsoft appear to be investigating the possibility of including support in their browsers. Opera, because it uses Google Chrome Blink layout engine, will support Web Components by default.

Google has been testing Web Components in its own operations. The Polymer site uses components. Google's site for documenting the progress of Chrome development also uses components to fetch data from a database and render it on screen.

The ChromeOS operating system, used in Google Chromebooks, uses Web Components to power its virtual keyboard and media player.

Interest in Web Components seems to be growing elsewhere as well. A number of component registries where developers can use and contribute their own components have popped up, including Custom Elements, Component Kitchen, and WebComponents.org.

"This ecosystem is just getting started," McNulty said.

Joab Jackson covers enterprise software and general technology breaking news for The IDG News Service. Follow Joab on Twitter at @Joab_Jackson. Joab's e-mail address is Joab_Jackson@idg.com

Join the PC World newsletter!

Error: Please check your email address.
Rocket to Success - Your 10 Tips for Smarter ERP System Selection

Tags Development toolsapplication developmentWeb services developmentGoogleGoogle I/Osoftware

Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.

Joab Jackson

IDG News Service
Show Comments

Most Popular Reviews

Latest Articles

Resources

PCW Evaluation Team

Matthew Stivala

HP OfficeJet 250 Mobile Printer

The HP OfficeJet 250 Mobile Printer is a great device that fits perfectly into my fast paced and mobile lifestyle. My first impression of the printer itself was how incredibly compact and sleek the device was.

Armand Abogado

HP OfficeJet 250 Mobile Printer

Wireless printing from my iPhone was also a handy feature, the whole experience was quick and seamless with no setup requirements - accessed through the default iOS printing menu options.

Azadeh Williams

HP OfficeJet Pro 8730

A smarter way to print for busy small business owners, combining speedy printing with scanning and copying, making it easier to produce high quality documents and images at a touch of a button.

Andrew Grant

HP OfficeJet Pro 8730

I've had a multifunction printer in the office going on 10 years now. It was a neat bit of kit back in the day -- print, copy, scan, fax -- when printing over WiFi felt a bit like magic. It’s seen better days though and an upgrade’s well overdue. This HP OfficeJet Pro 8730 looks like it ticks all the same boxes: print, copy, scan, and fax. (Really? Does anyone fax anything any more? I guess it's good to know the facility’s there, just in case.) Printing over WiFi is more-or- less standard these days.

Ed Dawson

HP OfficeJet Pro 8730

As a freelance writer who is always on the go, I like my technology to be both efficient and effective so I can do my job well. The HP OfficeJet Pro 8730 Inkjet Printer ticks all the boxes in terms of form factor, performance and user interface.

Michael Hargreaves

Windows 10 for Business / Dell XPS 13

I’d happily recommend this touchscreen laptop and Windows 10 as a great way to get serious work done at a desk or on the road.

Featured Content

Latest Jobs

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?