n today’s heterogeneous environments, it’s not uncommon to have to switch between environments?say VB.NET and Java?and that usually requires having two robust IDEs (especially considering that VisualStudio.NET is not just an IDE, but also an interface designer and can be a bit unwieldy). However, I recently discovered an IDE that will work not only with Java, but also the languages of the .NET suite. Omnicore, a small German company, has developed an IDE called CodeGuide, which is currently being used by a lot of different, large companies worldwide. Now, they have released X-develop, a multi-language, cross-platform IDE.
The strength of X-develop is not so much in what it can do, but what it can do in multiple languages. X-develop has a lot of features that you wouldn’t expect in a 1.0 version. This may be due to the fact that they were able to capitalize on the codebase of CodeGuide, Omnicore’s previous IDE offering (for Java only). This includes things like refactoring, error-checking (real time), and JSP/Tomcat integration.
X-develop currently supports the following languages:
- Java (and JSP)
- Visual Basic (VB.NET)
Setup and Installation
X-develop can be installed on the following OS’s:
- Windows ME/NT/2000/XP/2003
- MacOS X Tiger (10.4)
- Linux x86
Installation is straightforward on Windows XP (SP2), though I did have one minor issue initially which I suspect was due to a corruption that happened when downloading?because a second download eliminated the issue. When you first open X-develop, you will be prompted as to what format you wish to store your project information in. I selected X-develop, but later thought it would be good to use Eclipse. However, I couldn’t find where to change this option, so choose wisely.
This brings up another crucial point: the documentation for X-develop is all but non-existent. They have a few how-to’s online and an online forum, but there is literally no inline help and what help does exist is not extremely helpful?especially for new users of the IDE. Hopefully, given that their help is all online, this will be changed soon. The fact remains that at this point, documentation appears to be a complete afterthought. That major disappointment aside, if you have used other IDEs, getting up and running is not exactly rocket science.
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 environments?a 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.