Excerpt from Ajax in Action: IDEs for web development

As I was reading Ajax in Action by Dave Crane, Eric Pascarello, in Appendix A they discuss Editors and IDEs for web development. Apparantly, the authors didn't get the message than IDEA 5.0 supports web languages.

I'm not a marketing guru, but I think Jetbrains needs to keep raising awareness that IDEA isn't just a Java IDE, but supports enterprise web development with support for JavaScript, XML, HTML, CSS and integration with application servers.

"Integrated development environments

Enterprise programming launguages such as .NET and Java have a long history of integrated development environments. The market for these is mature, and in recent years, a number of mature feature-rich open source and freeware IDEs have appeard. IDEs designed for server-side coding languages are often extensible enough to allow for client-side development using Ajax.

Microsoft technologies are still dominated by Microsoft's own Visual Studio. Visual Studio includes support for web development through the Visual InterDev component, which supports JavaScript and CSS. Free, cut-down versions have recently become available under the name Visual Studio Express, including one targeted at web developers.

The most prominet Java IDE at present is the IBM-sponsored Eclipse. Eclipse is mostly a Java development tool and shipos with a complex set of plug-ins specifically written for Java developers. A thriving plug-in community exists, including some relatively simple JavaScript plug-ins providing syntax highlighting and out-line views of methods and classes (figure A.2).

With the recent Eclipse version 3.1, a broader range of web developer plugins is being developed by the Web Tools Platform project, which in addition to supporting server-side J2EE technologies, has editors for JavaScript, XML, HTML, and CSS. Eclipse also offers strong project-level codebase-management features and full integration with CVS version control out of the box. THird-party integration with Subversion, Visual SourceSafe, and other version-control systems is available.

Some enterprise Java development tools such as the Sun Java Studio Creator and SAP NetWeaver offer high-level design facilities for web applications. IN our experience, these are based heavily on the classic web application metaphor, with an application being modeled as a series of discrete pages, and may translate poorly to the Ajax approach. Studio Creator uses Java ServerFaces (JSF) behind the scenes, however. We discussed JSF and Ajax in Chapter 5, and although the two technologies have some challenges to overcome before being fully interoperable, it may be possible that JSF-based tools with support Ajax better in the near future.

As weell as having a foot in the enterprise-development camp, Ajax has roots in the web-design community, for whom an entirely different type of toolset has developed. Macromedia Dreamweaver and Microsoft FrontPage are two notable web-design tools of this type, and both offer support for the basic client-side technologies used by Ajax. Dreamweaver provides good support for basic JavaScript and CSS editing (figure A.3) and a two-way HTML editor with visual and text modes, but for WYSIWYG orchestration of complex JavaScript user interfaces, it supports only its own code library. Integrating third-party libraries such as x, ProtoType, and Rico into a Dreamweaver or FrontPage project would require a lot of hand-crafting the scripts, making use of the text editor functionality of the tools and relatively little else.

The final tool worth a mention here is ActiveState's Komodo, which is a cross-language scripting IDE, supporting Perl, Pytston, PHP, Tcl, JavaScript, and XSLT. Komodo has very good support for JavaScript codebase navigation and a sophistiected outliner that recognizes JavaScript classes as well as functions and methods (figure A.4). As a general-purpose scripting IDE, it deals only with JavaScript the generic language, not the browser-based implementations. As such, it is most useful when developing domain models for Ajax. Komodo is a commercial tool with free trials available. As an interesting aside, the Komodo UI is built using the XML-based XUL toolkit used to create the Firefox web browser."

Please sign in to leave a comment.