
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 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 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.
JEdit requires that you be running Java 2 version 1.3 or later; 1.4 is the preferred version on all platforms. I think JEdit is easy to install on every platform.
Here are some of JEdit's core features:
I'll give you a quick walk-through of the JEdit Plugin Manager, which demonstrates how modular and flexible the program is, and how easy it is to set up a workspace tailor-made for your particular needs. To open Plugin Manager, select it on the toolbar (it's the puzzle-piece icon immediately to the left of the help system question mark). By the way, JEdit has an excellent help system — among the best documentation I've seen for any open source program.

Figure 3 The Plugin Manager icon is to the
left of the help system question mark
You can also select Plugin Manager from the menu: Plugins > Plugin Manager.

Figure 4 Plugin Manager updates, installs
and manages a wide range of plugins
Here, by clicking the Update tab, I was alerted to two recent updates for already-installed plugins. Plugin Manager provided descriptive and total download size information for each plugin, and clicking "Install" downloaded and installed both plugin updates (a restart of JEdit was necessary to complete the install).
If you select the Install tab, you'll be presented with the entire list of available plugins — it's quite diverse. You can sort the list by Name or Category, then select the plugin(s) you wish to install and, with one click (of the "Install" button), download and install them.

Figure 5 JEdit plugins can extend core functionality
JEdit's plugins have been contributed by developers from around the world, and they seem to be updated frequently. There are plugins available for many different purposes — a number are focused on Java programming specifically, but others extend the program's core functionality in other ways. There are plugins devoted to:
Some plugins I've installed include Buffer Selector, which creates a tabbed interface for selecting and displaying files; JTidy, which checks for errors in HTML/XML files and offers corrections; PHPParserPlugin, which does what it says — parses PHP code; and XML, which provides features for editing XML and HTML files, such as validation against a DTD, display of the element tree in a dockable window, and tag and entity completion.
JEdit is a great open source application, one of my long-time favorites. It may also be the single best Java-based application I've seen, in the way it balances capability and performance (JEdit is not the resource or memory hog that some Java programs have been in the past). In fact, JEdit is quite competitive with proprietary programs, so web developers on any platform would benefit by giving it a try.
Where JEdit really shines, however, is for developers who work across platforms. The program's ability to serve up the same well-organized interface, and the same wide-ranging capabilities, on any platform is both rare and very valuable. JEdit would earn a positive review in any case, but its sterling cross-platform performance easily rates five stars.
Approximate download size: 130k
Keywords
JEdit, Java, text editors, programming, open source software, free software, cross-platform software, JEdit Plugin Manager, JEdit plugins