Over the past few years, there has been a tremendous shift from "fat client" applications to Web-based applications. And with that shift, there have been a number of tools created to help developers create Web-based applications and Web pages. If you were to ask a developer what his or her tool of choice was, the answer would vary widely, depending on the platform and the developer's background.
In this road test for Web tools, we are going to look at a selection of tools that you can use to develop Web applications. Some of the tools are specific for a platform or language and some can be used across multiple platforms or languages. In addition, we will be looking at free software you can download, as well as a mix of low-cost and commercial Web development applications.
As with any software review, we haven't covered every single Web development tool on the market. We selected the tools for this round-up to cover a wide range of platforms and languages, functionality and features.
|Ease of use||To start, we evaluated how easy each tool was to learn and use, including an evaluation of the design environment itself, placement of commonly used items, etc. and the general overall impression of the tool.|
|Features and functionality||Covering features included within the design environment for reducing development time and manual coding of common tasks, features that are included or not present, etc.|
|User Interface Development||Most Web applications have some sort of user interface and this set of criteria was used to evaluate how well the tool could be used to create full-featured HTML pages and develop highly formatted Web applications.|
|Code development||Behind the scenes, Web applications feature code (and usually lots of it.) With this set of criteria, we are judging how well the tool is suited to coding, including debugging features, step-throughs, etc.|
|Platform and language support||Most of the tools we reviewed support multiple platforms and languages and in this set of criteria, we look at how well this support is developed.|
|Documentation and support||And finally, we have evaluated the documentation and support that is available for each tool. We look at whether the documentation organised and well written and also look at the support and user communities around each.|
Table 1: Evaluation criteria
Zend Studio 3.5.1
Zend Studio is well known among PHP developers and is the development tool of choice for a large chunk of the professional PHP community. Zend Studio has grown over the past few releases to become a fully-fledged Web development tool in it's own right. Zend only supports PHP development, but there is a theory that you can do many, many things good or one thing very well and Zend Studio takes that concept to heart. You won't find support for any other languages here, but it does do PHP development extremely well.
For PHP developers, the main competitor to Zend Studio would have to be notepad. And while it is certainly an easy environment to learn, Zend Studio provides a number of features that will save you time in the long run. As a relative "newbie" PHP developer, I found the user interface easy to navigate and I was creating new projects and pages within a few minutes.
Figure 1: Zend Studio
There is one area where Zend Studio is a bit of a let-down and that is when you are developing the user interface. It is cumbersome to create a highly-formatted Web page and the tool lacks a WYSIWYG editor, which means that you need to know a bit about HTML as well as PHP.
The good news is that Zend Studio is one of the few true cross-platform products, with versions available on Windows, Mac and most major Linux distributions and supports PHP 5 and previous versions. In fact, the documentation is well-written and includes the PHP 5 manual, so you don't have very far to look when you need help. In addition, Zend Studio has a strong user community and there are a number of tutorials around to help you get started.
For PHP developers who are serious about their development, this tool is topsÃ¢â¬"for creating formatted PHP pages, you may need to look into another Web development tool for the actual design work.
Microsoft ASP.NET WebMatrix is a simplified Web development environment for developing ASP.NET applications. Originally introduced as an easy-to-learn alternative to Visual Studio.NET, WebMatrix has been downloaded over 1.3 million times and is widely used as a learning tool and by developers who don't need the full grunt that Visual Studio.NET provides.
As a pure Web development tool to be used for creating HTML pages, WebMatrix holds it's own. The tool features an intuitive design environment and most of the common HTML elements are available on a toolbar so you can drag and drop them directly onto your page.
For creating table-intensive or precise layouts, WebMatrix has a way to and it can be cumbersome trying to position objects on the page. If you are familiar with editing HTML, you should have no problems achieving the desired result, but the WYSIWYG editor can be tricky.
Figure 2: ASP.NET WebMatrix
From the development side, it is easy to see where this tool is so popular. Without the overhead that Visual Studio.Net provides, WebMatrix lets you code quicker and with all of the controls, properties, methods and events you would normally use to develop ASP.NET applications with Visual Studio.NET
In addition, there is good support for creating data-driven Web pages and applications with support for creating or editing Access or SQL Server/MSDE data structures. Another bonus is the addition on a lightweight development server that you can use to preview your ASP.NET pages and any Web services. This is definitely a bonus for developers who don't want to configure a separate Web server for testing and makes learning ASP.NET easier.
The documentation and sample applications, both on the ASP.NET and other community Web sites, is extensive and you should have no problems finding help when you need it. In particular, the ASP.NET forums are a great place to ask questions and often will point to further resources or sample applications.
So on the whole, if you are learning ASP.NET or want to create simple applications, you should consider WebMatrix, but you better be quick. Microsoft has realised from the 1.8 million downloads of WebMatrix that not all developers need all of the features within Visual Studio.NET, so they are introducing an "Express" edition with their next release to target the developers who may have downloaded and used WebMatrix in the past.
Macromedia Dreamweaver MX
Dreamweaver has always been a strong contender among Web development tools and has traditionally been favoured by developers who have come from a design background. Tightly integrated with a variety of other Macromedia tools for image editing, rich content, etc., Dreamweaver has the most complete toolset for developing Web applications of any of the tools we have looked at so far.
Creating UI's with Dreamweaver is a snap with a true WYSIWYG HTML editor and the in-built tools for creating and working with CSS make it easy to maintain a consistent look and feel across an entire application. In addition, the majority of the menus and options are well organised and you can find most of the functions you need on right-click menus.
And I know as a developer, you probably don't want to hear it but another time-saving feature is the integrated copy and paste from Microsoft Office, preserving all of the formatting, color scheme, fonts, etc. This is especially time saving if you are developing an application where the specifications have been created using one of these tools.
Figure 3: Macromedia Dreamweaver MX
For working behind the scenes in the actual code, you can quickly switch between the HTML and code view, view both at the same time or use the built-in "code inspector". Dreamweaver has also made a number of enhancements including an advanced find and replace feature and "code hinting" to provide hints about what should come next based on the syntax you have entered.
As always, the database integration in Dreamweaver is tight and provides a number of quick "hooks" into your database to quickly create data-driven Web pages. You can use Dreamweaver to quickly create a query or listing page in a fraction of the time it would take you to code it by hand.
Another real stand-out feature in Dreamweaver is it's support for multiple languages. Using Dreamweaver, you can code PHP, ASP, ASP.NET, JSP and Cold Fusion all from the same toolset. If your organisation uses more than one Web development platform, this can definitely be a timesaver.
And to add even more value, Dreamweaver comes with reference material for developing on most of these platforms, including content from O'Reilly and others. The user community around Dreamweaver is growing and in the meantime there are a number of commercial books and Web sites that provide instruction and tutorials.
NitroX for JSP
And rounding out our tools with support for developing JSP, NitroX is a relatively new contender in the Web tools market but has definitely made a name for itself among the JSP community.
Designed specifically for Java and JSP development, NitroX offers JSP developers the ability to develop in "split screen" mode So you can see the effect your editing is having on the HTML and code underneath. In addition, NitroX also has it's own unique method called "AppXRay" for pulling all of the components from behind the scenes together to show you what your JSP will look like and mimics what the page will look like when the application is run. This is a valuable feature when working in really complex applications as you don't have to continually switch between views to see what your page will look like.
NitroX is based on Eclipse technology, so it shares some of the same user interface attributes and benefits from the underlying technology bits that were provided by the Eclipse project. The user interface is well suited for an experienced JSP developer but "newbies" make take some time to learn how to use what's there.
Figure 4: NitroX for JSP
And unfortunately, the documentation is simple and doesn't really scratch the surface of all of the things to the tool can do. In addition, there is not a lot of community or supporting sites available for the product, except for the company's own.
So if you are an experienced JSP developer who is looking for a Web development tool with a number of features specific to that environment, it is worth taking a look. If you are just getting started with JSP development, you may want to look at another tool more suited to developers new to the platform.
Like most things, which Web development tool you choose is up to your own personal preferences. With that said, there are a number of factors to help you make your decision. If you are working in an organisation where you have multiple Web development platforms (ASP.NET, PHP, etc.) the best tool for the job would have to be Dreamweaver. Likewise, if you are working with a design team or need to create highly-formatted Web pages or applications, Dreamweaver again comes out on top. But for specific development platforms, especially if your organisation has standardised on one platform, you are better off selecting a tool that was created specifically for that platform.