IDE 101: 5 Open Source Web Development Tools -- Vim and Its Kin

Catch up on these IDE options for Web development that you might not know you had.

 (Editor's Note: For the second part in this series, please click here.)

It takes the right tools to do the job right. When it comes to writing code, it's important to consider both the needs of the job and the preferences of individual developers. Comfort and familiarity make long sessions in front of the screen that much more productive. Tools that work right can make the difference between shipping a product on time or spending all night hunting down a pesky bug.

You can write code in just about any text editor. Productive coding typically means a toolset that extends beyond Notepad. A full-featured editor brings additional features like multiple editing panes, syntax highlighting, configurable code indentation and automatic bracket closing. Those are great, as far as they go, and make it so much easier to focus on the meat of your application.

And when you're focused on Web sites and applications in the cloud, you'll need some more specialized tools. That's where integrated development environments (IDEs) come into the picture.

IDEs are commonly used in traditional software development. Visual Studio is a well-known example. They bundle together a code-focused editing tool with other features such as project configuration and management, build and debugging tools, source code management, and additional tools or resources tailored to particular languages or frameworks.

Web apps often involve a mishmash of languages and syntax – sometimes all in the same code file. So tools that help keep your project bug free and standards-compliant are worth their weight in gold.

And getting back to comfort and familiarity... you want tools that work how you want them to and on the platforms you prefer. Fortunately, you've got a lot of options out there to choose from.

Below, in no particular order, are a six open source IDEs you may not know about. All of these tools have Unix/Linux roots, but they're all highly configurable and run on a variety of platforms, from various flavors of Linux to Mac OS, Solaris, Windows and even handheld devices.

1) Vim
Vim was originally developed for the Amiga system as a general-purpose text editor. Like Vi, its namesake (“Vi IMproved”), Vim is a modal, command-driven terminal editor. But what sets it apart from Vi is Vim's ability to be customized and extended via script plug-ins -- and there are thousands of scripts for everything from e-mail message handling to Arduino code syntax to Zen Coding HTML and CSS.

Vim is available in source and executable for Amiga (naturally), various Unix and Linux systems, MS-DOS and Windows, Macintosh from System 7 to OS X, handheld platforms such as Sharp Zaurus, HP Jornada and Windows CE, and a variety of other systems.

Want to learn more about Vim? Check out these sites:

2) Eclipse
Eclipse was born at IBM and originally developed as a Java development environment. It later became a free, open-source project overseen by the Eclipse Foundation. Plug-ins are at the heart of Eclipse and you'll find support for development with C/C++, PHP, Python, Perl and other languages. Plug-ins also provide integration with tools such as LaTeX, database management systems, Subversion, Bugzilla (another Eclipse project), and many other useful development tools. You can download 32-bit and 64-bit versions of Eclipse for Linux, Mac OS X, and Windows.

For more on Eclipse, check out these links:

3) Eclim
Eclim isn't really an IDE in its own right, but rather an effort to bring integrate the Eclipse development tools with the popular Vim editor. Basically, Eclim provides plug-ins for Eclipse and Vim that enable a highly configurable client-server relationship between the two tools.

Eclim started with the intent to improve Java support in Vim, and has expanded to include support for PHP, Python, Ruby, HTML, CSS, JavaScript, XML and C/C++. Installers are available for BSD, Linux, Mac OS, and Windows.

For more information, check out:

4) Geany
Geany is a fast, feature-rich text editor that includes minimal IDE features. You'll find the usual syntax highlighting, some auto-completion features, and automatic closing of XML and HTML tags, as well as code navigation, a build environment, and simple project management. Supported languages include C, Java, JavaScript, PHP, HTML, CSS, Python, Perl, Ruby, Pascal and Haskell. There's a small-but-growing collection of plug-ins as well. Releases are available for BSD, Linux, Mac OS, Solaris, and Windows, though you may need to source a GTK+ runtime in some instances.

Find out more about Geany with these links:

5) gedit/gPHPEdit
gedit is the text editor of the GNOME desktop environment (with versions available for Mac OS and Windows, as well). It offers the usual programming editor features such as syntax highlighting for C, C++, Java, HTML, XML, Python and Perl. Somewhat unique is an option Python console pane.

Of greater interest to Web developers is gPHPEdit. It's also GNOME text editor, modeled on gedit, but designed specifically with HTML and PHP coding in mind. gPHPEdit provides code coloring and simple auto-completion for HTML, PHP, CSS and SQL, and there's also function parameter pop-ups and a class/function browser for PHP. Incremental build sources are uploaded to gPHEdit site or you can build the sources from github.

Find out more at:

About the Author

Terrence Dorsey is a technical writer, editor and content strategist specializing in technology and software development. Over the last 25-plus years he has worked on developer-focused projects at ESPN, The Code Project, and Microsoft. Read his blog at or follow @tpdorsey on Twitter.