ASP.NET Web Matrix: Reloaded

This second version offers a host of new features, improvements, and conveniences

Well, the next version of Web Matrix has arrived (download it free at http://www.asp.net/webmatrix) and I'm happy to see it has retained and improved upon all of its original features, and it sports several new ones. Although still not a "1.0" product - its current version number is 0.6.784 - it remains a highly productive tool with many intriguing features, some of which are simply absent in the much higher-powered Visual Studio .NET. In fact, one thing that impressed me most about Web Matrix is it doesn't attempt to be a scaled-down version of VS .NET at all. It's obvious from using the tool that the designers really thought about what was most relevant to the average, non-enterprise ASP.NET developer and tried to fill in some of the Web development holes that exist in VS .NET. The best way to describe Web Matrix is as a Web development tool for developers who simply find VS .NET to be overkill.

 

Data Management and Presentation

Web Matrix has been endowed with some significantly improved data-management features. Whereas Web Matrix 0.5 allowed only creation and management of MSDE or SQL Server databases, it is now possible with version 0.6 to create and manage Access databases as well (see Figure 1). In addition, the user interface for these abilities has been streamlined tremendously. Database objects open in a tabbed window (like source-code files) instead of the clunky modal dialogs in the prior version. The object design and data display are on two separate tabs of this window, making flipping between the two - or other Web pages - a snap without first having to save your work. This user interface is the same whether you are dealing with Access or MSDE databases.

 


Figure 1. In addition to MSDE and SQL Server databases, Web Matrix now lets you create and manage Access databases using a consistent user interface.

 Like version 0.5, the new Web Matrix still lets you drag and drop database tables from the data window onto the design surface of a Web form. As with data management, however, this new version now supports Access databases for this functionality. As an added convenience, database connections are saved when you close the application, so you don't need to re-create them every time you open Web Matrix.

 

Local or FTP - You Decide

Although only slightly improved in version 0.6, the ability to easily work with ASP.NET files over an FTP connection is something I find very convenient - especially if you only need to make a small change to a file on your host's Web server. The Web Matrix team has made the FTP option a little more flexible. Also, like database connections, FTP connections are saved when you close the application.

The Workspace window has retained all its ease of use for browsing the local file system or a remote FTP server. Whereas Visual Studio .NET forces you to think in terms of a Web project that must be connected to a running Web server, Web Matrix lets you open files from anywhere and edit and save them. Web Matrix does have projects, but they are provided as a convenience and not a restriction; they merely create a bookmark to a database, FTP server, or a folder on the local hard drive.

 

Framework Support

Although written using version 1.0 of the .NET Framework, Web Matrix runs just fine on a system containing only version 1.1. This includes the Class Browser, the Web Matrix Web server, and the Web Matrix development environment.

In addition to supporting C# and VB .NET, version 0.6 now supports the J# language as an option for creating ASP.NET pages. You also can set preferences such as tab characters and line numbers specific to each language instead of the one-size-fits-all option in version 0.5. Because Web Matrix is extensible, you probably can look forward to the inclusion of other .NET languages in the future.

 

Designer Enhancements

Although I'm not a big fan of WYSIWYG designers when it comes to Web development, I still can appreciate the difficulty involved in programming a designer that synchronizes code changes with the design view (and vice versa). Web Matrix does an admirable job in this respect, and I could find only a couple of non-serious issues. It does reformat your code a little as you move from the design view to the code view - which I find a little annoying  - but at least the format it chooses is clean and structured.

One feature I use quite often in a WYSIWYG designer is the

builder; Web Matrix provides this feature simply yet effectively. New to version 0.6 is the ability to create complex tables with cells being merged and split in any configuration you can imagine. This is one of those times when writing the code manually is very tedious and error-prone, so I really appreciate the good job Web Matrix does here.

As displayed in Figure 2, usercontrol support in the designer has been enhanced by letting you see the full visual layout of the usercontrol in the parent Web form design view. The prior version displayed only an ugly gray box to symbolize the location taken by the usercontrol, which really limits the "what you see is what you get" part of the WYSIWYG designer.

The only problem I had with this feature is you must click on a refresh button manually if you change the layout of the usercontrol and want to see it updated in the parent Web page designer. It seems Web Matrix should put a file system watch on the usercontrol file and update itself automatically when the file changes - but this is a small gripe.

 


Figure 2. Usercontrols now render their runtime layout in the WYSIWYG designer, making it easier to see what the final product will actually look like.

 

It is a Beta After All

Web Matrix is not without its bugs and shortcomings. I wasn't able to open any ASP.NET files that required designer support - such as .aspx, .ascx, and .html files - if the preferences were not set so the default view of the design mode was set to "Design." If set to "Source" and I tried to open one of those file types, nothing happened. Figuring this out literally took me hours as I uninstalled, reinstalled, and tried it on different systems. Luckily, the "Design" option is the default, so you would have to manually change it (as I had) to run into this problem. I also noticed a strange render delay in the toolbox if Web Matrix is run on a system that has only version 1.1 of the .NET Framework installed. It doesn't cause any functionality issues, but it is rather annoying to wait those extra seconds as the toolbox redraws itself slowly several times, especially if you open and close many files frequently. This is the only version 1.1 issue I discovered. 

Web Matrix is a fine choice for non-enterprise Web development. It lacks IntelliSense and debugging support, but you can use the Microsoft CLR Debugger included with the .NET Framework to get around the latter problem. But many people really depend on IntelliSense; it would be great to see it included in future versions.

Web Matrix has a way to go if it wants to completely fill that niche for non-enterprise ASP.NET developers. It could include the ability to integrate with a source-control repository such as Visual SourceSafe. Also, one useful feature I would like to see is an "Upgrade to Visual Studio .NET" option, where a collection of Web pages can be converted automatically to the code-behind model.

That said, the Web Matrix designers have created a superb product that fills the void between "Visual Notepad" and Visual Studio .NET while also throwing in a little Access, SQL Server Enterprise Manager, and FTP client. Personally, I use Web Matrix in concert with Visual Studio .NET. I believe you should use the right tool for the job, and for many things Web Matrix is exactly the right tool.

Ken McNamee is an independent consultant who works with companies in need of highly scalable, data-driven Web applications. And who doesn't need one of those these days? Prior to this, he led a team of developers in re-architecting the Home Shopping Network's e-commerce site, HSN.com, to 100 percent ASP.NET with C#. E-mail him at [email protected].

Rating:

Web Site: http://www.asp.net/webmatrix

Price: Free

Hide comments

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish