The Eclipse Foundation last week announced the launch of the 3.0 version of its open-source development platform -- the first major release since the nonprofit group assumed oversight of the IBM-created technology.
One key new feature is a rich-client framework that will further transform Eclipse "from a platform for doing tools integration to a platform for doing application construction and integration," according to Mike Milinkovich, the former Oracle Corp. vice president who became the Eclipse Foundation's executive director on June 1.
Another much anticipated addition is the integration, for Windows and Linux, of Eclipse's Standard Widget Toolkit and the Swing components endorsed by the Java Community Process that Sun Microsystems Inc. created to evolve Java. SWT and Swing are used to build graphical user interfaces, and some vendors cried foul when IBM broke ranks from the JCP with its SWT.
Also this week, Eclipse is releasing new versions of its C and C++ development tools and its Hyades project for application optimization and verification. "Many people have the misperception that Eclipse is a Java IDE and that's all," said Milinkovich.
The new executive director last week discussed Eclipse 3.0 and future projects with Computerworld. Excerpts follow:
What's new in Eclipse 3.0? We have addressed over 10,000 issues that have been reported to us from the community. I like to gather the feature enhancements into two major themes: developer productivity and improving the user experience. Under developer productivity, I like to point out things like improved tools for doing code refactoring, improved code editors, including support for code folding, which allows the developers to basically hide code that they don't need to see at a particular point in time as they're doing their job. ... But the major one is that we've made the user interface multithreaded. In previous releases of Eclipse, if a developer started a long-running task, that would be running in the foreground and the user interface would basically be locked until that task was finished. With Eclipse 3.0, there's support for starting these tasks in the background, and while maintaining the user interface (allows) access to the user interface so they can keep working in parallel.
Under the user experience topic, one of the key things we've done is make it easier to learn Eclipse and reduce the learning curve. ... Now when you start Eclipse for the first time, you are brought to a welcome page and you have four different ways you can go about learning the Eclipse platform. The first is the ability to jump into some tutorials. The second is the ability to go and take a look at the documentation. The third is to go and take a look at the implementation of Eclipse itself and understand it through its code. And the fourth is to actually just jump in and start using the workbench.
The other thing we've done is spent a fair bit of time thinking about how to scale the user interface. In previous releases, the design point for Eclipse was the ability to support environments with, say, hundreds of plug-ins. The new design threshold is in the thousands of plug-ins. As you can imagine, if you start building an Eclipse environment with thousands of plug-ins, if you tried to structure the user interface by just naively putting in additions to the existing menus, the user interface will quickly become unusable. So a lot of work has gone into thinking about how to structure the user interface. ...
Can you provide more details about the rich-client platform? We've done a lot of work to refactor some of the basic frameworks within Eclipse to make them more generic so they can support any application, not just an IDE. In doing so, they've created a platform which developers working in, for example, enterprise IT shops can take these frameworks and build rich, highly functional desktop applications in Java which conform to the native platform look and feel. ... This is something which is quite different for Eclipse because previously we were focused entirely on providing tools for developers to use during development. And with the rich-client platform, we are now providing ... frameworks which application developers can use at runtime for doing application construction.
How is the relationship between Eclipse and the JCP? I'm planning on meeting a number of people from Sun (Microsystems Inc.) at JavaOne. I can also say that I've spoken to some people at Sun since I've taken on my new role. The conversations have been very constructive and very cordial. Eclipse and Sun are representing two very large and passionate communities in the software industry, and I have every intention of having a long-term cooperative relationship with Sun and the JCP.
What's the next major area of focus for Eclipse? The top-level project is called Web tools. The two initial subprojects under that top-level project are called Web tooling and J2EE tooling. Web tooling is really addressing areas like HTML-based Web application development, XML, Web services and service-oriented architectures. The J2EE tooling is for doing server deployments and application construction in support of both servlet (Java Server Page)-style development and (Enterprise JavaBean) development as well.
Will the new tools go head-to-head with commercial tools? Yeah, I certainly think that for people that are building commercial J2EE tools there's going to be some overlap. I mean, we're an open-source community building a project. We're certainly not consciously out there thinking of targeting any particular competitor. ... So I wouldn't necessarily want to characterize it that way.
When do you expect the first release? In 2005, but there are going to be interim releases and milestone builds. This is going to be developed in an open-source way so that people are going to have early access to the tools as we go through the development process.
Several major vendors are not involved in Eclipse. Is it your goal to try to get them involved? I am by nature an optimist. I think there is actually interest. I've spoken to all of them -- Sun, BEA (Systems Inc.) and Oracle. And I think the best way to put it at this point in time is there is some guarded interest -- absolutely no commitment. But I think to a certain degree the independence of Eclipse from IBM and the fact that it's starting to come into being as a separate organization means that some of the key players in the industry are looking at Eclipse in a new light. But these are important business decisions for those companies and they will happen if and when they decide that it's in their business interests to participate. Oracle actually is a member of Eclipse as an add-in provider. But I'm hoping they'll participate more actively in Eclipse than they are currently.
What about Microsoft Corp.? I haven't spoken to people at Microsoft since I started in my position. But my door is always open and I think having Microsoft participating in Eclipse, there could be some interesting technology areas that we could work on. ...
Microsoft and other vendors have been invited to join in the past, haven't they? Absolutely. Eclipse is an open community and there is basically a standing invitation for anybody who wants to join. We would be happy to talk to them about it.
What's Eclipse's long-term hope and vision? Will everyone be using open-source tools? The idea that everyone is just using open-source tools, that's not the vision of Eclipse. We're consciously trying to support and build an ecosystem around Eclipse and provide opportunities for people to build commercial products around Eclipse because we think that there's an interesting business model there that is, I think currently, somewhat unique to Eclipse. We do anticipate that there are going to be commercial products for professional and other software developers for the foreseeable future.