Eclipse casts shadows
Tutorial Details:
Eclipse casts shadows
Eclipse casts shadows
By: By Jon Udell, InfoWorld Test Center
IBM-led consortium poses a challenge to Sun's stewardship of Java
onspiracy theorists love the Eclipse project. When the IBM-led consortium launched its open source tools framework last fall, tongues began to wag. Not only does Eclipse shun Java's standard AWT (Abstract Window Toolkit) and Swing libraries, replacing these with SWT (Standard Widget Toolkit) for basic widgetry and JFace for advanced effects, but the Eclipse's very existence challenges the Sun-backed open source tools framework, NetBeans. Recent Eclipse announcements from IBM make it clear that Eclipse will host IBM's middleware tools as comprehensively as NetBeans does Sun's. Does Eclipse represent a two-front assault on Sun's Java stewardship? Yes and no.
What almost nobody disputes is that Eclipse is hot stuff. The Version 2.0 build we tested shows that Java can indeed produce a major-league application that is comparable to Visual Studio .Net and that is both speedy and faithful to the Windows GUI (graphical user interface), which even most J2EE (Java 2 Platform, Enterprise Edition) developers prefer. The SWT/JFace underpinnings partly explain why. AWT's encapsulation of native operating system widgets is opaque, says Chris Grindstaff, a senior member at Overland, Kan.-based Applied Reasoning and a former VisualAge developer. In other words, the code that interacts directly with the native widgets is written in C and is not directly available to Swing. Eclipse's SWT, by contrast, encapsulates the native OS transparently, using a one-to-one mapping from Java to C. That means Eclipse's JFace layer can more flexibly exploit the native widgets.
SWT detractors argue that this approach trades away Swing's universality. By painting its own widgetry on a handful of core primitives, Swing can be the same everywhere. It's an old debate, but Java's failure to thrive on the Windows desktop underscores just how much the market cares about native look and feel. It's true that SWT is not yet available everywhere. But Eclipse 2.0 works with Windows, Motif, and GTK+ (Gimp Toolkit) 2, and operability on Mac OS X seems imminent. Unlike Swing-based software, Eclipse works immediately with native features such as Windows XP skinning. "Microsoft has lots of programmers and so does Gnome/GTK," Grindstaff says. "So why not leverage that?"
Eclipse, however, owes its strength to more than just SWT/JFace technology. The primary developer of Eclipse, Object Technology International (OTI), has for many years been refining the arts of the componentized IDE (integrated development environment)?Smalltalk/Envy, VisualAge for Java?and the portable GUI. The current AWT/Swing vs. SWT/JFace debate recapitulates an earlier tug-of-war between the ParcPlace (emulated GUI) and DigiTalk (native GUI) flavors of Smalltalk. OTI favored the latter approach, which prevailed. Should Sun have done likewise with Java, as by several accounts OTI proposed to Sun years ago? A growing number of voices are now saying so.
Such hindsight is, of course, useless to vendors heavily invested in Swing. "Eclipse clearly does nice things, especially for Windows," says Steve Benfield, CTO of SilverStream in Billerica, Mass. But his products' use of Swing precludes support for Eclipse. Does that matter? Perhaps not much, Benfield suggests, because SilverStream's tools target business application developers more than hard-core J2EE coders. It's a good point. Seamless tool integration?the hallmark of both Eclipse and NetBeans?is a sexy feature, but a common UI alone can't bridge different cultures.
But vendors whose products align more closely with the core development life cycle can't avoid the issue. Consider Merant. From the perspective of its version control system, PCVS, there are three platforms at which to target plug-ins: Visual Studio .Net, Eclipse, and NetBeans. The .Net plug-in was a given. In the J2EE space, Merant chose Eclipse?and joined the Eclipse consortium?because that's what customers ask for, according to Patrick Merrit, senior product manager at Merant in Hillsboro, Ore.
Notably absent from the Eclipse bandwagon is BEA Systems. "If you're going to break a standard, you have to be 10 times better," says George Snelling, director of engineering at BEA in San Jose, Calif. He contends that success with Swing merely requires brainpower and talent that have not often been used to crack the nut of the Java GUI. Marc Loy, coauthor of O'Reilly's Java Swing, concurs. "If Swing could be built on top of an improved AWT [that is, SWT], we'd have our gold standard," Loy adds.
BEA's WebLogic Workshop is a Swing application built neither on Eclipse nor on NetBeans. Would an SWT-based Swing be attractive? BEA's Snelling doesn't much care. "If Sun decides to make their development life easier by switching to SWT, that's up to them," he says. In broader terms, Snelling questions Eclipse's premise: to be, as the project's FAQ puts it, "an extensible IDE for anything and yet nothing in particular." Tools such as Visual Studio .Net succeed, he argues, by delivering core functionality, not by merely hosting best-of-breed plug-ins.
An IDE framework for J2EE plug-in tools is clearly a good idea. "It's no surprise that IBM came along and copied our [NetBeans] approach since it's the correct one," says Drew Engstrom, product line manager for Sun ONE (Open Net Environment) Studio at Sun Microsystems in Palo Alto, Calif. IBM's Scott Hebner, director of WebSphere marketing, says that "Eclipse had nothing to do with Sun" but that the competitive target was Microsoft. In any case, both are open source projects in which Sun and IBM represent themselves as minority interests. "It's beyond us," says Armonk, N.Y.-based IBM's Skip McGaughey, the Eclipse chairperson, who adds that the community of programmers "will vote with their keyboards to solve the problems that are important for them to solve."
Regardless of the degree of control Sun and IBM exercise in those communities, it's not clear that either Eclipse or NetBeans solves a first-order problem. IDEs come and go. The ultimate tool framework always was, and may still remain, emacs. Of greater importance is the viability of Java on the Windows desktop and on smaller devices that simply can't push Swing's many layers.
Whether by accident or intent, IBM's involvement with Eclipse and SWT is an assertion of Java leadership. Many welcome this but would prefer that IBM acknowledge the reality and submit SWT to the JCP (Java Community Process). "If it's good for Java, let's get it out in the open," Sun's Engstrom says.
"We could work out a collaborative arrangement with the Sun process," IBM's McGaughey says. In other words, it's a standoff. This will inconvenience some vendors needing to integrate with both Sun's and IBM's product lines, but it won't matter in broader terms. What matters more is the underlying SWT/AWT issue. If IBM and Sun can find common ground, within the JCP and otherwise, by all means hurry up and do so. Time flies.
The Bottom Line
Eclipse and the future of Java
Executive Summary
The IBM-led Eclipse consortium has built a strong Java-based IDE framework that works especially well on Windows, and Eclipse is attracting substantial third-party support. But Eclipse's support for the (nonstandard) SWT, an alternative to Java's low-level AWT, may matter most to the future of Java.
Test Center Perspective
Java's failure to thrive on the Windows desktop is a giant missed opportunity, and the SWT technology at the core of the Eclipse framework could help rectify this. If SWT can help to improve Swing, IBM and Sun should pool resources and make it happen.
This page formated for crawlers and browsers that don't support scripts and tables.
Home
EZone
Read
Tutorial at: Click here to view the tutorial
Rate Tutorial: Eclipse casts shadows
View Tutorial: Eclipse casts shadows
Related
Tutorials:
Will Big Blue
eclipse the Java
tools market?
Will Big Blue
eclipse the Java
tools market? |
Eclipse casts shadows
Eclipse casts shadows |
Quite poor
testing
Quite poor
testing |
ULC - J2EE Rich
Clients now on Eclipse
ULC - J2EE Rich Clients now on Eclipse
it is porting ULC Visual Editor to the new Eclipse visual GUI construction and editor platform. The company has been invited to participate in the Eclipse Visual Editor project. Following its decision to contribute |
Ganymede
A log4j plugin to Eclipse that works similar to chainsaw (SocketServer). Includes color, filtering, detailed information, and saves settings. |
Eclipse - XML / XSLT Plugin
Eclipse - XML / XSLT Plugin
A plugin for the eclipse IDE adding XML / XSLT editing facilities |
Software Testing Website - Eclipse JIRA Plugin
Software Testing Website - Eclipse JIRA Plugin
The Eclipse JIRA Plugin Release 1.0.1 is now available. We have fixed a few minor bugs, many thanks to all who have helped with testing and debugging.
You can download it here: Eclipse JIRA Plugin 1.0. |
Java Development on Eclipse, Part 1
Java Development on Eclipse, Part 1
Author\'s note: In part one of a two-part series of excerpts from Eclipse\'s Chapter 2, we\'ll get down to the business of developing Java using Eclipse. We\'re going to take a look at using Eclipse for Java developm |
Java Development on Eclipse, Part 2
Java Development on Eclipse, Part 2
Editor's note: In part one of this two-part series of excerpts from Eclipse, author Steve Holzner provided examples of how Eclipse makes it easier to create Java code from scratch. Continuing in that vein, in this we |
Doclipse, a Javadoc tag plug-in for Eclipse
Doclipse
A JavaDoc Tag Plug-in for Eclipse |
Eclipse plugin
eva/3 Application Builder
for visual development and database management
Eclipse plugin eva/3 Application Builder for visual development and database management. |
Working with Hibernate in Eclipse
Working with Hibernate in Eclipse
Eclipse is a great example of the power of an open, extensible environment in which people all around the world can contribute. |
Eclipse 3.0 is out
Eclipse 3.0 is out
Welcome to eclipse.org
Eclipse is a kind of universal tool platform - an open extensible IDE for anything and nothing in particular. |
Copy FQN
Introducing CopyFQN
"Copy FQN" is a plugin for the Eclipse platform which adds an option to the context-menu of java-classes which copies the fully-qualified classname (com.mycompany.MyClass) to the clipboard. This is extremely useful when editing confi |
Develop Your Own Plugins for Eclipse, Part 1
This article series is intended provide you the basic information necessary to quickly code your first plugin. The resources section will point to all of the necessary introductory materials. |
ServerEclipse - Web Eclipse Plug-in
ServerEclipse - Web Eclipse Plug-in |
Develop aspect-oriented Java applications with Eclipse and AJDT
AspectJ is an aspect-oriented extension of the Javaâ„¢ language that enables a modular implementation of crosscutting concerns. This crosscutting behavior, which can be static or dynamic, presents an extra challenge to tools that support AspectJ. The AJDT |
Flexdoc
Flexdoc
Description
The goal of this project is to provide a production quality windowing and docking framework similar to what is currently found in the Nebeans and Eclipse IDE's.
|
Getting Tidy with Eclipse
In my last article, "Extending Eclipse with Helpful Views," I explained how easy it was to create new functionality in Eclipse. This article continues in the same vein by also creating a new view. However, instead of focusing on the mechanics of writing a |
SDE for Eclipse
[[http://www.visual-paradigm.com/sdeec.php][The SDE 2.0 for Eclipse (SDE-EC)]] is a powerful, yet the most easy-to-use UML Modelling plugin for Eclipse. |
|
|
|