Google’s Love Affair with IBM’s Offspring
February 9, 2009 Hesh Wiener
Imagine what would happen if Google and IBM wanted to help you build your Web site. Now suppose the Googlers and IBMers created free site development tools that were aggressively open, capable of running on just about any platform, and able to build Webs that could be used by clients as small as a mobile phone or as large as an engineering workstation. Now imagine that all this has been around a few years and you’ve pretty much missed it, or at least not appreciated it. Maybe it’s time to say “Hello, World” to the Google Web Toolkit and Eclipse.
Before you get too excited, I ought to tell you that none of the Webs (I am sick of saying “Web site”) that you are likely to build with the Google Web Toolkit (GWT) and Eclipse (an independent offspring of IBM’s Ottawa lab) will be as lean as well-written, hand-coded Web pages, nor as truly original. On the other hand, the Google and Eclipse development tools can help you build and maintain Web sites with catchy features that are widely talked about as Web 2.0 items. Web 2.0 is an imprecise term but it usually means sites that have a high degree of interaction with visitors, including some features visitors can personalize.
AJAX pages that are in wide use generally have a contemporary look and feel. These days what seems popular is to fill a page with items that have rounded corners and gratuitous shading. For many visitors, AJAX layouts make you wish you were sitting at a screen that’s twice the size of the one you have, no matter what size screen you have. Still, despite their quirks, today’s AJAX Webs are very popular on sites aimed at trendy visitors.
Tomorrow’s popular Web styles may look nothing like the sites that today seem to be at the leading edge. That possibility of change is one reason AJAX is used for Webs that must follow design trends. Changes made once in AJAX designs turn into changes for every version of every page. By contrast, Webs that are coded by hand to match browser quirks may require many updates to implement a single change in appearance. This isn’t a big issue on Web sites that don’t push presentation technology to the limits because all Web browsers can handle common HTML and CSS directives, but sites that strive for unusual effects tend to use technology that is not presented uniformly by every browser and these are the sites where AJAX has appeal.
Lots of less obviously contemporary pages on corporate Web sites use AJAX, too, but do so in a way that makes the technology seem more ordinary, gentle, and inviting to the casual (and generally speaking more traditional) visitor. Some of these corporate sites suffer from the excesses that plague consumer AJAX sites, like the gratuitous use of moving images that are more distracting than informative, but more often than not the mix of Web 2.0 ideas and AJAX technology just makes these Webs easier to navigate and their Web pages easier to read.
A quality Web experience can give any business a boost, and now more than ever businesses want every extra bit of help they can get. Harsh conditions are forcing many companies to rethink how they use their Webs and also how they build and maintain their pages. For some, GWT and Eclipse might be one route to a more effective Web presence.
The technology in the Google Web Toolkit originated within Google or inside firms Google acquired as it built up its Web development capabilities. Google didn’t develop and refine this technology for the general public, not at first. GWT is what Google used to build the visible parts of its Web applications such as Gmail, Google Docs, and other elements of its cloud computing service. Google developed its technology in a way that makes the client machine do a lot of the heavy lifting, thus helping Google serve more visitors to its cloud systems with less server power. That’s a big issue when you work in front of an audience of millions.
The GWT system may at first look like it favors Linux and Windows, but that’s a false impression. There is a Java runtime environment for just about every operating system you can think of, and a Java runtime is about all a system needs to support GWT. That means developers can work on a PC; on an AS/400, iSeries or System i; on a Linux or Unix box; or on a mainframe . . . you name it.
Now it turns out that Java developers don’t just write their code using a text editor, even though they could. Generally speaking, Java coders work with a set of programming tools called an Integrated Development Environment, or IDE. And just as Java is part of the open source world, so, too, is a very good IDE called Eclipse, that is well supported by IBM. (The tools that are part of the Rational development tools that IBM is trying to sell you right now are based on Eclipse.)
Eclipse began life about 10 years ago at an IBM Canada subsidiary called Object Technology International, which IBM bought in 1996 and which is now known as IBM’s Ottawa Lab. Three years later after Eclipse first came to life in 2001, IBM moved the Eclipse project to a group called the Eclipse consortium and made its code public in an effort to rally the open source crowd around it. Unfortunately, the open source community still felt the heavy hand of IBM on Eclipse and basically didn’t pitch in to improve and popularize the software. In 2004, IBM, which wanted Eclipse to become a de facto standard for Java development, set up an independent nonprofit organization called the Eclipse Foundation, moved the software into it and made it clear that Big Blue would let the foundation make its own choices from then on. This was the right move as far as the politics of open source software were concerned.
So, it’s taken a while, but Eclipse has gained a following. Today it not only provides an IDE for Java, but also helps developers working in other languages, such as C and C++ and even RPG and COBOL. IBM is still a big supporter, but IBM’s rivals such as Oracle are behind Eclipse, too, now that it is seen to be guided more by its community than its sponsors. The Eclipse community is quite lively and it likes to share inventions that extend and improve the core Eclipse environment.
Today there are quite a few plug-ins that extend Eclipse, some free, some commercial; there is even a Web site for Eclipse add-ons. There are also companies that, for a fee, provide and support software distributions based on Eclipse, much the way there are outfits like Red Hat that sell Linux distributions and Linux support.
Google Web Toolkit Home: http://code.google.com/webtoolkit/
Getting Started with GWT: http://code.google.com/webtoolkit/gettingstarted.html
GWT Blog: http://googlewebtoolkit.blogspot.com/
GWT Official Group: http://groups.google.com/group/google-web-toolkit
GWT Unofficial Group: http://www.gwtsite.com/
Eclipse Org Web: http://www.eclipse.org/
IBM DeveloperWorks Eclipse Section: http://www.ibm.com/developerworks/opensource/top-projects/eclipse-starthere.html
Eclipse Plugin Central: http://www.eclipseplugincentral.com/