Skip the navigation

Google works on advanced Web engineering

The Web needs a unified component model, a Google engineer advises

By Joab Jackson
March 27, 2012 04:44 PM ET

IDG News Service - Google is working on a number of advanced programming technologies to ease complex Web application development, a Google engineer revealed at a conference for software developers.

"We're getting to the place where the Web is turning into a run time integration platform for real components," said Alex Russell, speaking at the EclipseCon, being held this week in Reston, Va. At Google, Russell works on the Chrome browser. He is also the creator of the widely used Dojo JavaScript framework.

Despite its popularity, the Web offers only relatively primitive programming capabilities, compared to other platforms for delivering applications -- such as Java or Microsoft Windows. One major shortcoming is that Web technologies don't have a "common component model," which slows code testing and reuse, he said.

Google is working on a number of different projects to bring some advanced software engineering concepts to the Web, Russell said. The idea is to introduce low-level control elements without making the Web stack more confusing for novices. "We're learning from platforms [that] started at a very low-level," he said.

Much of the power of the Web, Russell admitted, comes from its ease of use. Developers can view and reuse source code. Browsers are forgiving of errors, and technologies such as CSS (Cascading Style Sheets) offer simple methods to execute complex tasks, such as formatting text.

But such ease-of-use limits developer expressivity. With CSS, "the fact that you aren't able to poke in and draw your own kind of line is not great," Russell said. "You get the same text layout on all the Web sites. You have the same design because you have the same constraints," Russell said.

Google's efforts include creating a unified component model, adding classes to JavaScript and even creating its own language for large Web applications.

By developing a unified component model for Web technologies, Google is setting the stage for developers to "create new instances of an element and do things with it," he said.

As an example, Russell showed off a new element he created called commenting. For Web pages that allow user comments, the commenting element, rendered as a tag, can automatically format the text submitted by a user and even add an accompanying photo. The tag is actually a program, complete with its own API (application programming interface), Russell said. With the unified component model, HTML can be a sub-class of a larger environment, allowing for more ways to manipulate HTML code.

Google engineers, Russell included, are also developing a proposal to add classes to the next version of JavaScript. A core element of object-oriented programming, classes are blueprints for reusable chunks of data and behaviors. Today, JavaScript does not support classes, so JavaScript programmers tend to use function calls to define many chunks of operational code that aren't actually functions, such as methods and constructors. This practice is time-consuming and makes the code more difficult to reuse.

Reprinted with permission from Story copyright 2014 International Data Group. All rights reserved.
Our Commenting Policies