A key functionality for any platform is the set of tools and environment for developing its programs. For Curl, the Curl IDE, the Curl Visual Layout Editor, the code coverage tool, the performance profiler, and a few other tools, have been faithfully serving this purpose for some time. These tools are very popular and widely used by Curl programmers.
Recently, as we were considering the future directions for key areas of the Curl platform, we decided to take a rather radical approach for the next phase in this area. We decided to start a-new and use Eclipse as the framework for the Curl development tools. This note is a very brief description of the direction, content, and road map for this new phase.
Requirements
We recognize that a Curl program is usually only a part of an application being built. Curl applets get their data from other tiers. A tier could be a server serving a database, a Web Service container, a server providing some business logic, a local file, etc. Also, Curl developers deal with more than just Curl source files. They read and write XML, HTML, SQL commands, etc. Hence, they need an environment (smart editors, debuggers, formatters, etc.) that supports a variety of artifacts, including any of the above.
Also, programming and debugging is just one activity involved in delivery software products. Requirement tracking and testing, for example, are closely related activities. The notion of a software factory that programmatically connects phases of delivering software is a fast growing and exciting area in our industry.
Furthermore, today’s programmers expect to do much of their work in an integrated development environment that lets them do their work without jumping around to unrelated and disconnected tools. They want an eco-system of tools with a common interface and behavior.
Given these requirements we settled on basing the next phase of the Curl development tools on the Eclipse framework, and started work on a set of plugins for Eclipse that over time will replace all the current Curl development tools and much more.
Curl Development Environment for Eclipse – Phase one
The Curl Development Environment for Eclipse (CDE for short) is a set of plugins that can be installed into any Eclipse based IDE.
The phase goal was to get what we already have in the Curl IDE on to Eclipse. These include:
Curl projects,
Curl editor,
debugger,
the Manifest View, outline view, and the definitions view,
language sensitive search,
deployment capabilities,
and a few other functionalities.
In phase one we will reuse many of the current IDE views inside Eclipse panes. This is a clever approach that lets us get the product out in customer’s hands quicker, without compromises in usability and human factors.
In phase one we plan to ship the current Curl IDE, to be called the Curl Classic IDE, along with the CDE.
Curl Development Environment for Eclipse – Beyond phase one
The phase two is focused on improving programming productivity features such as:
Error highlighting in the editor (a la the JDT in Eclipse or Jetbrain’s IDEA IDE)
Refactoring features
Code assistance features
The next phases will include deeper integration of our tools into Eclipse, including a Design Perspective (which will replace the current Visual Layout Editor), and perhaps UML to Curl code generation, etc.
By the time we reach equilibrium, we expect to reach or exceed any existing platform’s IDE’s set of programmer productivity tools!
Let us know what you think.
