A Look Forward at Microsoft's Visual Web Developer 2005By Scott Mitchell
While you, me, and other countless developers around the world have been learning and working with version 1.x of the .NET Framework over the last several years, the developers inside Microsoft have been hard at work on version 2.0. At the time of this article's writing (April 27th, 2005), version 2.0 has reached a public Beta 2 stage, with the official release expected by the end of the year. (Beta 2 is of special interest to many early adopters since Beta 2 includes a Go Live license, which allows production deployments using the Beta 2 bits.) UPDATE: As of November 7th, 2005, Visual Studio and the .NET Framework 2.0 are no longer in Beta! You can download the official, non-Beta version of Visual Web Developer from Microsoft's website - http://msdn.microsoft.com/vstudio/express/vwd/.
Version 2.0 of the .NET Framework includes a bevy of additions and enhancements over the 1.x version. There are a number of core framework additions in 2.0, such as the introduction of Generics, anonymous methods, iterators, and partial classes. There are also a slew of improvements to ASP.NET, including dozens of new Web controls, MasterPages, improved site configuration, and so on. Finally, Visual Studio .NET has been upgraded into its latest incarnation, Visual Studio 2005.
One of the enhancements to Visual Studio 2005 has been the introduction of Express Versions targeted toward various developer roles. There's express versions for Web developers, for SQL Server development, as well as language-specific versions (Visual Basic 2005 Express, Visual C# 2005 Express, Visual C++ 2005 Express, and Visual J# 2005 Express). Microsoft describes these expression versions as: "lightweight, easy-to-use, easy-to-learn tools for hobbyists, enthusiasts, and novices who want to build dynamic Windows applications and Web sites." In this article we'll examine the express version Web developers will find most useful, Visual Web Developer 2005 Express. Read on to learn more!
The Need for Express Versions
Over the past ten years creating dynamic, data-driven Web applications has become an increasingly more formal process. Think back to the days of classic ASP, when scripting languages like VBScript were used to create Web applications. By their nature, scripting languages are so simple that there's no need for an integrated development environment - any ol' text editor can do the job. In fact, those people that I know who still do classic ASP work either use a vanilla text editor (like UltraEdit) or a souped up version of a text editor, like HomeSite.
With ASP.NET, however, Web development moved from the realm of simple scripts to creating an actual, compiled class. And while there's no denying that ASP.NET Web pages can be created using a text editor, rich tools like Visual Studio .NET make creating ASP.NET applications a much more enjoyable process. Features like IntelliSense can save countless hours of development time; VS.NET's debugger is first-rate and can be used to quickly find and diagnose a problem. Don't get me wrong, Visual Studio .NET has its own set of "issues," especially those that impact ASP.NET developers: switching between the Designer and HTML views can wreak havoc on your markup's formatting; VS.NET has a way of determining the most inopportune time and then losing the wiring between an event and an event handler at that precise moment; and so on. Despite these annoyances, though, Visual Studio .NET provides a much richer, more professional, environment for creating ASP.NET applications.
While virtually every company that does ASP.NET developer that I've talked to uses Visual Studio .NET, there are a number of hobbyist and student developers who cannot afford the high price tag of Visual Studio .NET. To accommodate this market segment, Microsoft has released a "Standard" version of Visual Studio .NET, available for around $100. The standard versions contain less features than the full-blown Enterprise versions (which can run several thousand dollars), but include the "essential" Visual Studio .NET pieces: IntelliSense, debugging, and so on.
With Visual Studio 2005, Microsoft has relaunched this "Standard" brand as the "Express" brand, and has lowered the barrier to entry, reducing the price to $49 for an Express product. As with the "Standard" line, the "Express" line offers the core features of Visual Studio 2005 to the developer, but omits the features that will be useful for large teams and large software projects.
The Need for Visual Web Developer 2005
Let's face it - Visual Studio .NET was not created with the ASP.NET developer in mind. When creating ASP.NET applications I find Visual Studio .NET a wonderful tool for creating the various class libraries used in my projects - the business objects, the data-access layer, and the business logic - and it's also great for maintaining database objects, such as stored procedure scripts, table and view creation scripts, and so on. But when I sit down to create the presentation layer, to hammer out those ASP.NET pages that interact with the application's architecture... well, I start to get frustrated for a variety of reasons. The Visual Studio .NET Designer is one major source of pain, as it thinks it knows best how to format my markup and even occasionally thinks it has the right to inject various HTML tags it thinks I'm missing! Not only that, but the markup was adjusted in such a way that it was not XHTML compliant.
VS.NET also makes it a pain to create ASP.NET projects. Doing so creates a new virtual directory in IIS, creates a new folder,
and adds a number of seemingly useful files. If you are an inherently messy person like me, you no doubt have dozens of folders
C:\Inetpub\wwwroot directory with defunct ASP.NET test projects created in VS.NET long ago that either
never materialized or were created to just quickly test some code or concept. This reliance on IIS restricted ASP.NET development
to machines with Windows XP Pro or above (i.e., not XP Home) and ones that had had the IIS pieces installed. Additionally, moving
an ASP.NET project from one computer to another was anything but trivial.
Visual Studio .NET also makes it hard to create an aesthetically-pleasing site. Try to define a global site template, work with stylesheets, or modify and inject images. Sure, all of these tasks are possible in Visual Studio .NET, but compared to tools like Dreamweaver, Visual Studio .NET comes up remarkably short. Additionally, Visual Studio .NET forces developers to use the code-behind model, renders User Controls in the Designer as little gray boxes, has no built-in FTP support, and so on and so on...
In an attempt to not only reach out to the hobbyist and student market, but to also right some of the ASP.NET-related wrongs inherent in Visual Studio .NET, the ASP.NET Team released a free Web Matrix editor, a (very) watered-down version of Visual Studio .NET, but one geared toward ASP.NET developers rather than WinForms developers. Web Matrix had built-in FTP support, rendered User Controls gracefully in the Designer, was lightweight (a scant 1.3 MB download!), and easy to use. Web Matrix also shipped with a lightweight Web server, Cassini, that could run on Windows XP Home and didn't require any dependence on IIS. The main problem with Web Matrix was its lack of features - it was missing two key pieces: IntelliSense and debugging support. Without these requisite features, Web Matrix never took off.
Visual Studio 2005 has been vastly improved over Visual Studio .NET, especially for Web developers. The laundry list of woes for Visual Studio .NET have been righted with VS 2005 - the Designer won't touch your markup; Visual Studio 2005 includes a built-in, lightweight Web server, akin to Cassini, thereby removing the requirement of having IIS installed on the dev box and having to create virtual directories in IIS. New Web projects can be created in any location, not just in IIS's Web root. Support for MasterPages makes creating a global site template a breeze, and User Controls are rendered in the Designer.
The Express version for Visual Studio 2005 for Web developers - Visual Web Developer 2005 - provides an affordable version
of Visual Studio that includes the essentials: IntelliSense and debugging support. (You can even specify the ASP.NET page's source code portion in the
page using server-side
<script> blocks and get full IntelliSense and debugging capabilities.)
In Part 2 we'll look at installing Visual Web Developer 2005 and some of its more exciting features.