X-develop is written in Java, so expect the usual Java-related issues. I found it to perform fairly well, though that will depend on your system. In terms of development, X-develop uses what are called Solutions. Under a solution, you can have multiple projects (see Figure 1
). For each of these, you create a new project and, if it's a Java project, assign the JDK to which you'd like it to compile. Then you add classes and such and code away. What's cool about this is that a solution can have multiple projects from multiple environmentsa C# project, a Java project, etc. And because they are all together, refactoring can be done across platforms. Additionally, importation is allowed to pull existing projects into your X-develop solutions.
|Figure 1. Picture This: Drawing lines using different Pens.|
That said, the functionality for each language is limited. For example, if you want to create a new Java class, you will have to do all the superclassing and inheritance manually. The dialogue for creating a new class does not prompt for this information (which is a pretty standard IDE function). Issues like this render X-develop more appropriate for hardcore coders. However, what it lacks in bells and whistles, X-develop does make up for in features.
X-develop, in its current version, is a simple, bare-bones IDE for coders. Don't expect to find visual drag-and-drop tools, or database wizards, or any other such accoutrements. X=develop does have a number of tools and features that will help you to write better code faster. The most noteworthy of these include the following:
- Support for new technologies: This includes C# 2.0 and Java 5.
- Great error checking: X-develop actually excels in checking errors. Real-time error checking lets you know what's wrong as you type. Project checking allows you to check an entire project for errors at once.
- Back-in-time analysis: This is a great feature that allows you to step back through your code to find what is causing problems.
- Code completion
- Mono framework support: A number of .NET developers use the Mono framework and X-develop supports it.
- Strong, cross-language refactoring: The refactoring tools are perhaps X-develop's greatest strength. Imagine being able to rename an object across multiple languages. You can also move classes, introduce variables, and a host of other refactorings.
- Intelligent code snippets: Using what Omnicore calls "smart templates," a drop-down menu appears with suggested options of previously used snippets to one-click into your code.
- Strong code moving and finding: X-develop makes it easy to move around in your code by offering hyperlinks to definitions, links to overridden methods, a cool "goto" search, and a usage search.
- Version control integration: Of course any IDE that is going to be used by a team has to offer VCS support. X-develop supports SubVersion, CVS, VisualSourceSafe, and Bitkeeper.
A Promising First Release
The simple ubiquity of multi-language environments highlights the need for a tool like X-develop. Strong code-centric features like error-checking and cross-language refactoring make a great start for this version 1.0. However, if Omnicore wants to have an IDE that will play with the big boys, they are going to need to add features to make creating classes easier and, most importantly, offer documentation. If you are currently drowning in a cross-language application and you hand code everything, X-develop 1.0 may be just the solution you need. For everyone else, X-develop is a product to watch but not deploy.