By: Thomas Pletcher
Page 1 of 2
Do you remember the original premise, and promise, of Java? Write once, run anywhere?
Well, some ten years on, that promise is actually coming true. Java-based programs that look and work the same across platforms are now increasingly available, and the JEdit programmer's text editor is one of the best examples of Java's cross-platform prowess I've seen yet.
JEdit's Core Competencies
JEdit is not a full-fledged IDE like Eclipse, another excellent, Java-based open source programming tool, although the two programs do have some similarities, including an extensive range of plugins. At least, JEdit does not function as an IDE "out of the box," although Java programmers can transform the program into a complete integrated development environment by installing plugins to enable compiling, code completion, context-sensitive help, debugging and other added functionality.
Instead, JEdit is a full-featured, highly modular and extensible programmer's text editor. It has much to offer web developers who prefer to write their own code, in any language (JEdit provides syntax highlighting for a very wide range of languages, including ColdFusion and ActionScript). Programmers working with open source languages like PHP, Python and Perl can add extra functionality (such as code parsing) with plugins; there are no ColdFusion or ActionScript plugins at present. There is also no equivalent to Dreamweaver's Design View; JEdit is for coders only.
If you fit this description, JEdit can offer you a lot. You can customize the program in very many ways to suit your style of working — by rearranging dockable panels in the user interface, for example — and add wide-ranging functionality through plugins.
JEdit offers basic HTML code hinting and tag completion and provides extensive version control capabilities through plugins (JEdit can integrate with CVS, ClearCase, MS Visual SourceSafe and other version control systems).
Although JEdit does not integrate seamlessly with Dreamweaver, for example the way HomeSite does, you can still use the two programs side-by-side to take advantage of their complementary strengths. As already noted, JEdit is probably not your best choice if you program exclusively in ColdFusion, but if you focus on PHP or write in a number of different languages, you'll find it is well worth checking out. JEdit works best, though, for cross-platform developers, and that usage will be the primary focus of this review.
JEdit's Cross-Platform Capabilities
JEdit 4.2, the current version of this excellent open source program, is exceptional on quite a few counts, but its cross-platform capabilities are especially noteworthy. Here is a text editor with enough power and flexibility to compete with the best proprietary programs ... an editor that is scriptable and extensible ... that is absolutely free and open source ... and that gives you EXACTLY the same environment and user experience on every platform.
Figure 1 The JEdit splash screen
From the time you launch JEdit, everything from the splash screen forward functions the same, whether you're running Linux, OS X or Windows. Assuming you're using the default Swing interface ("Metal"), only the window controls default to the host OS look-and-feel, as in the OS X screen shot below. This is the only visual cue you have as to the underlying OS environment.
Figure 2 JEdit's interface is absolutely consistent across platforms
The great thing about JEdit's consistent user interface and platform agnosticism is that it provides you, the dual- or tri-platform developer, with a completely portable working environment. You can learn one interface, then use it to best effect for different situations, with different scenarios and on different operating systems — the tools are the same, and they work well everywhere. This is actually a great luxury, and it is only possible because JEdit is so adept at harnessing Java's cross-platform potential.
Some people might claim that such cross-platform consistency comes at a price, namely, that JEdit does not behave like an ideal Mac application on the Mac, an ideal Windows application on Windows, etc. Only you can know if you'll regard this as a problem. For me, it is an enormous benefit. JEdit has a logical, well-ordered layout (which you can customize anyway), and I think the default "Metal" look is tastefully done. As I said, I think it is a luxury to have the same user interface and the same program behavior across platforms, particularly when the application is as stable and well-behaved as this one is.
I run the current version of JEdit on Linux, OS X and Windows, and use it regularly on all three platforms. I'm not saying JEdit is always the best tool to use, or that it's superior in every way to proprietary editors like BBEdit on the Mac or HomeSite on Windows. But I am saying that JEdit is competitive with the best proprietary editors, while offering the freedom (both monetary and personal) of open source software. Even if you program only on Windows, it's worth checking out — I think its speed and stability will surprise you. And if you program on more than one platform, you really owe it to yourself to try JEdit on each of them — there will be many occasions when the program's cross-platform capabilities and consistency will make your work easier.