The Search for the Perfect ASP.NET Editor
By Paul Litwin
In a previous issue of asp.netPRO, I wrote an editorial comparing and contrasting development using the .NET Framework SDK and Notepad vs. Visual Studio .NET (see The .NET SDK vs. Visual Studio .NET). Since writing that editorial, a few other editors have appeared on the market, including the ASP.NET Web Matrix Project, Dreamweaver MX, and ASP Express.
I like Microsoft's ASP.NET Web Matrix Project. It's a nice lightweight editor with a number of tricks up its sleeve. Unlike Visual Studio .NET, it starts up quickly and doesn't require you to set up a project before proceeding. (Of course, you can use Visual Studio in "file editor" mode - simply double-click on an ASPX file - but then you lose all its neat features, such as IntelliSense, Server Explorer, the debugger, etc.) Web Matrix includes a WYSIWYG design view and, like Visual Studio, wires up event handlers for you. It has a number of templates for creating common pages, including Web Services, login pages, mobile page, master-detail pages, etc. It also has a database tool that functions similarly to Visual Studio's server explorer for viewing and editing SQL Server data and stored procedures and creating ad-hoc queries. Other nice features include the Web Services proxy generator (basically a dialog that calls the wsdl utility and the VB or C# compiler) and the ability to work with remote Web sites through the FTP protocol. And then there's the cost - it's free!
Web Matrix is currently a technology preview release, meaning Microsoft can distribute it widely but can still claim it as a beta version. For the most part, it's rock solid, but I have run into a couple minor bugs (one that drove me crazy until I figured out the easy workaround). In terms of feature set, Web Matrix's biggest negative is its lack of IntelliSense and the fact that it doesn't provide a template for creating separate markup and code-behind pages. It also has no way to save database or FTP connections, so every time you want to look at your SQL Server database or connect to your remote server, you must retype the information. For more on Web Matrix, see Scott Mitchell's Web Matrix article (Meet the Web Matrix Project) and a StartingLine column by Wayne Freeze (Choose a Development Tool).
I find the shear number of server technologies supported and the gaggle of windows, widgets, and helpers in the product to be confusing. I also ran into more than a few bugs when giving the feature set a once-over (for example, the Web Services proxy generator had numerous problems). But undoubtedly the bugs will be fixed in a later release. For me, the real problem with Dreamweaver is more philosophical and points to its roots as a site-design tool rather than a coding environment. Dreamweaver excels in creating tags, running wizards, and writing client-side code. Although the code hints are nice, I want something that will help me while writing server-side code; for example, I'd like to see something that will wire up server-side event handler stubs for me. Once you've graduated beyond its wizards and delve into writing server-side code, Dreamweaver has little more than color coding to offer you.
So what's not to like about ASP Express? It lacks the polish of the other editors belying its shareware roots. In addition, it doesn't have any help for creating Web Services or Web Service clients. Still, the product is cheap and pretty much stays out of your way until you need it.
So which editor will I be using? I'm still sorting that out, but for now, I jump between Visual Studio .NET and Web Matrix. Nothing beats Visual Studio's IntelliSense and debugger, but sometimes the product is a bit of overkill. That's where Web Matrix comes in. I do plan to dabble a bit more with ASP Express, however, and I might start using it more often. And although it's about as bare-bones as you can get, I still keep lowly old Notepad in my ASP.NET toolkit for those times when I want to get in and out in a hurry.
Paul Litwin is editor and technical director of asp.netPRO. E-mail him at [email protected].
Tell us what you think! Please send any comments about this article to [email protected]. Please include the article title and author.