In-Depth

Pay Attention to Eclipse

The technologies being developed under the eclipse umbrella have implications far beyond Java development.

Pay Attention to Eclipse
The technologies being developed under the Eclipse umbrella have implications far beyond Java development.

On the eve of EclipseCon, the conference surrounding the development and use of the open source Eclipse platform and tools, Microsoft developers should take note. In just a few years (Eclipse celebrated its five-year birthday last November), Eclipse has become the primary IDE for those not developing .NET apps for Windows platforms.

But it's more than a Visual Studio alternative for other languages. If you thought Eclipse was just for building Java applications, you were wrong. While a lot of developers are using the Eclipse platform as an IDE, it goes well beyond that. Eclipse consists of a platform with features that support the underlying needs of many different applications, and a variety of active projects producing tools that support all aspects of the application life cycle. The Eclipse Foundation (eclipse.org) includes more than 150 member companies, a large number of individual contributors and several associate members (one of which is 1105 Media, the company that owns Redmond Media Group).

What Does It Mean?
Why is Eclipse and its open source model important to Visual Studio developers? Two reasons. First, even if the Eclipse platform serves Java developers for actually writing code, it serves all platforms with tools across the application life-cycle. Many Eclipse-based tools help with communication across teams, assessing code quality and managing the change process. Granted, these tools are built in a variety of languages — mostly Java — so it may seem unusual to use them in .NET projects. But if they don't relate directly to writing or compiling code, the languages behind the tools don't matter.

Second, Eclipse is a source of a great deal of innovation in application life-cycle tools, brought on by the unique competition among the member companies. A good set of examples is the Application Lifecycle Management (ALM) project, headed by Borland Software Corp., and Project Corona, headed by Compuware Corp. ALM seeks to streamline processes from architecture and design through development and test to deployment. Corona tackles a complementary need — the ability to share artifacts across different life-cycle tools. In an era of siloed development processes and vendor lock-in, these two projects represent fresh thinking and new solutions in building software.

In particular, Eclipse represents a unique model for cooperation and competition among application life-cycle tools vendors. Vendors work together on foundation technologies in areas such as performance analysis, quality assurance, change management, data management and reporting. Once the foundational technologies have been built, the vendors compete on value-added features. This enables users to ensure that their investments in application life-cycle tools are not locked in to one particular vendor. Vendors have to be sharp about adding relevant value to open source technologies, and users have a choice of tools, all of which are based on the same underlying frameworks.

The Eclipse platform and all foundational technologies developed as Eclipse projects are available under the Eclipse Public License, one of the more commercial-friendly open source licenses. Even risk-averse enterprise legal departments should be able to accept the Eclipse license over other open source licenses.

Plug Away
Now comes the kicker — it's ridiculously easy to customize Eclipse with features for your unique needs. The platform has a plug-in model that makes it possible to simply put a piece of code with a new set of features into the appropriate directory and have those features immediately available as first-class citizens. This plug-in model has inspired thousands of different plug-ins for different application development needs. Many of these plug-ins are free, while many others are available commercially from established vendors. In many cases, commercial vendors offer a full-featured free version of a tool and sell the accompanying service and support.

Eclipse is not an alternative to Visual Studio for .NET development — yet. But it's only a matter of time before some enterprising vendor takes the .NET Framework (either licensed from Microsoft or through the use of the open source Mono project) and C# language specification and builds a new .NET IDE on the Eclipse framework. Suicide? Perhaps, but not if it's done right. Competing head to head with Visual Studio makes no sense, but targeting a specific vertical market — such as healthcare software — with a unique set of features might.

Don't be fooled by the association between Eclipse and Java. The technologies being developed under the Eclipse umbrella have implications far beyond Java. If you're developing in a multiplatform environment, Eclipse tools can help bridge the gap between Visual Studio and the deployment platform. Even if you do purely .NET development, it's likely that you can find useful tools for change management, testing and other areas. It will pay dividends to see what Eclipse can do for you.

About the Author

Peter Varhol is a principal at Technology Strategy Research LLC, an industry analysis and consulting firm.