Developer's Toolbox: Eclipse
Novell Cool Solutions: Feature
By Richard Smith
Digg This -
Posted: 31 Mar 2004
Development Environment Basics
This month in the Developer's Toolbox we'll take a look at the Eclipse Development Platform. When you think of developer tools quite often what comes to mind is the IDE or Integrated Development Environment. IDEs allow developers to concentrate on development and not have to worry about the coordination of source code to compiler to linker. Modern IDEs handle these tasks for the developer by reducing these steps to a series of menu options.
Some examples of IDEs are Borland's JBuilder for developing Java applications, Microsoft's Visual Studio for developing .NET applications and KDevelop for the development of desktop applications for the KDE environment. These and other tools like them are easy to use, graphical interfaces to editors, debuggers and compilers that developers need to create, build and deliver applications; and in most cases much more. Many IDEs now provide features for project management, source code control, installations creation and deployment of programs.
The way most IDEs work is to take the source code written in the editor and interface with the command line compiler, passing to it the parameters it requires in order for the application to be built. The IDE in most cases then also completes the process by passing any additional required build tools that they need to complete their tasks. The developer is somewhat shielded from building what are often very complex parameter lists in order to complete the build process.
In addition most IDEs will also allow integrated debugging within their environment. Better IDEs will catch errors and launch the appropriate debugging tool to help the developer find and correct the errors. Also as part of the integrated environment, many IDEs will allow the setting of breakpoints with the source code to allow the developer to easily step through the application, one instruction at a time.
It's these additional features that often make one IDE a better selection for a developer than another. Most will feature syntax highlighting, error marking and various advanced editing features to enhance the development process. Most, though, are very focused on development around a single programming language or related languages, as in the case of Visual Studio which support multiple language development for the Windows platforms. So what sets Eclipse apart from all of the others?
A Development Platform, not just an IDE
As an IDE, Eclipse supports just basic functionality. Eclipse really shines in the area of extendibility. In fact Eclipse is really designed to be built upon. The Eclipse Platform allows plugin providers to build extensions to Eclipse that add functionality for the development content type of choice. While Eclipse is built on the Java runtime, the programming language supported by a plugin can be of any type. Another significant advantage of Eclipse is that the identical development environment is available on a wide selection of operating system platforms including Linux and Windows.
Eclipse plugins are developed in Java, so an in-depth knowledge of Java is required if you wish to create your own custom plugin, but there are already plugins for most current development languages. From HTML to C#, you can download and install these additional plugins into the Eclipse environment. There are also mechanisms within Eclipse to allow you to update plugins within the environment and to install new plugins.
Plugins can be designed to provide whatever functionality the plugin builder would like. Plugins typically include an outline view, a to-do list and the source code workspace where the user enters the code for their application. Plugins can also be extended by other plugins via exposed interfaces that can be built in a plugin.
Below are some screen shots of the various parts of the CodeRally plugin used as part of a Java-based programming game that is based on the Eclipse platform. You can get further information on CodeRally at http://www.alphaworks.ibm.com/tech/coderally.
The first graphic illustrates the Navigator and Outline windows of the CodeRally plugin. These views allow you easy access to the various parts of your project and allow you to easily navigate and load whatever part of the project you need in the code editor. These views are part of the customization available for plugin builders and illustrate how to make development easier within the plugin.
This next graphic shows an example of the source code window. Syntax highlighting and error marking are aspects of the editing window that help developers spot problems before compiling and building the project.
This next screenshot shows the Task or To Do list. Errors and warnings will appear in this window to alert you to any problems with your code.
This is a very high level look at Eclipse and some of what it offers developers as a tools platform. For more detailed information visit Eclipse.org at http://www.eclipse.org.
So what does this all mean to you as a Novell developer? Actually quite a lot!
Novell and Eclipse
At Linux World in New York in January, Novell announced the company's involvement in Eclipse.org. Here is the first paragraph of the press release for this announcement.
Marking another step in its support of the open source development model, Novell will join Eclipse, an open source initiative dedicated to providing a commercial-quality platform for the creation of highly integrated software development tools. In adopting Eclipse technology, Novell will for the first time provide a common tooling strategy for developers who build on Novell technologies, significantly reducing complexity by providing a unified environment for building, testing and debugging solutions across the entire Novell technology portfolio. Novell's membership in Eclipse will reinforce Novell's commitment to the developer community and contribute to driving development on Linux in that community.
The entire press release can be found at http://www.novell.com/news/press/archive/2004/01/pr04011.html. To clarify and expand on the content of the press release we'd like to explain in more detail the benefits and advantages of this relationship for the Novell developer base.
The advantages of Novell providing a cohesive, standards-based development environment are significant and this brings to the Novell development community for the first time a widely accepted and versatile development tool. As Novell expands into the Linux/Open Source arena, the need for tools to assist developers in following the move expands. In the past Novell has typically focused on a single development environment and all developers had to adhere to that in order to support Novell products and technologies.
From the early days of developing applications in assembly language to the radical (at the time) development paradigm of AppWare to Java web services, developers have had to make changes in their environment to keep up. Development to Novell products and technologies today is based on open industry standards such as J2EE, XML and Mono (.NET) which are supported by a variety of tools and environments. These and many other development technologies are supported within Eclipse via plugins, allowing the developer to focus on the development and leaving the environment to Eclipse.
Plugins to integrate development of applications that extend Novell technologies and products will be built and integrated with the Novell Developer Kits. Eclipse allows a variety of content types to be integrated into the environment so help and sample code could easily be provided as part of the development process. Developers can create their own extensions and share them with other Novell developers via Novell Forge. Many Novell products are investigating the use of Eclipse as the framework for building and delivering the interfaces and management of the products through Eclipse.
Eclipse fills the current void of easy to use, flexible development tools on the Linux platform. As Linux becomes more popular and the need for applications on Linux increases, developers will need the tools to build the applications that cover a variety of development bases. The support for Eclipse though new plugins grows almost daily and as more developers use the platform, and it will grow even more.
We'll cover the progress of the Eclipse efforts within Novell here in Cool Solutions for Developers, so check with us every month for more information. Next month, Developer's Toolbox will focus on the recently release exteNd 5 suite of development and deployment products.
Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com