ASP.NET Web Development on the Cheap
By Jonathan Goodyear
At TechEd Europe on June 29, 2004, Microsoft unveiled Beta versions of a new series of development applications aimed at hobbyists, students, enthusiasts, and other "non-professional" developers. The new applications (characterized by the word "Express" in their name) are part of the Visual Studio.NET suite of applications and include Visual Basic 2005 Express, Visual C# 2005 Express, Visual C++ 2005 Express, Visual J# 2005 Express, Visual Web Dev 2005 Express, and SQL Server 2005 Express (http://lab.msdn.microsoft.com/express/).
The two applications that mean the most to readers of this magazine are Visual Web Dev 2005 Express and SQL Server 2005 Express. Visual Web Dev is Microsoft's answer to the question of how to introduce people to ASP.NET Web development. Previously, the freely available and downloadable Web Matrix application led the charge (http://www.asp.net/webmatrix/). Web Matrix was an ambitious project, but it suffered from several shortcomings that made it less than ideal for novice developers. Some of those shortcomings included the lack of IntelliSense, the lack of an integrated debugger (although you could use the .NET CLR debugger), and its departure in programming style from that of Visual Studio.NET.
Unlike Web Matrix, Visual Web Dev is a scaled down version of the engine that powers the actual Visual Studio.NET development IDE. The advantage is that you get all the important features that you need to learn and be productive with .NET and your code and application knowledge transfer seamlessly up to the full-blown Visual Studio.NET application if your needs take you in that direction. Of course, there are some things that you won't get with Visual Web Dev. For starters, you won't get enterprise features like source-control integration with Visual Source Safe. You also don't have access to as many debugging windows, such as Autos, Call Stack, and Threads (although you still get the main ones like Locals and Watch). You also have fewer IDE customization options in the Tools | Options dialog box and you won't be able to manage multiple projects in the same solution. One of the big new development tools to be released in the Visual Studio 2005 timeframe is Visual Studio 2005 Team System (formerly known as Whitehorse), which includes source code control, work item management, and application diagramming and design (http://msdn.microsoft.com/vstudio/teamsystem/). You won't have access to that either.
I really do like what I see with Visual Web Dev, though. What you get is a simple-to-use, yet powerful code editor that won't take up your whole hard drive and that lets you accomplish 90% of what the beginner to intermediate programmer is ever going to do with ASP.NET (including code-beside, master pages, and all the other new innovations that come with ASP.NET v2.0). Exact pricing hasn't been released by Microsoft, but it is supposed to be very reasonable (if not free). With that price/feature breakdown, it wouldn't surprise me if more than a few true production applications are developed with it. Because the .NET Framework SDK is freely distributable, I really can't see any way for Microsoft to prevent this. Combine that with the free single-user license to SourceGear Vault for source code version control and you have a heck of a powerful development environment without spending very much money (http://www.sourcegear.com/vault/).
For those of you who are already planning on how to spend the money you save on Visual Studio.NET, there's another small headache with which you must deal. Visual Web Dev can't be used to create component libraries, so if you want to segregate your code files into separate assemblies, you'll have to download and install one of the other Express development IDEs (choose from Visual Basic, C#, C++, or J#). At the low prices promised by Microsoft, that shouldn't be too much of a financial barrier.
I mentioned SQL Server 2005 Express because it's the logical progression of the MSDE database engine. With it, you'll be able to run small applications with many of the same features as the full SQL Server 2005 application (formerly known as Yukon), including stored procedure development using CLR languages. Integration between the Express development IDEs and SQL Server Express is a bit spotty in Beta 1, but expect that to improve dramatically by RTM.
All told, I think Microsoft is heading in the right direction with their line of Express development tools. They may even find that they went too far in some respects, but I think it was absolutely necessary for them to bring a powerful .NET code editor to the masses to ensure that new developers choose .NET as their preferred development platform. No other development platform comes close to offering this kind of power in their introductory product SKU. And that's just what Microsoft is counting on.
Jonathan Goodyear is president of ASPSoft (http://www.aspsoft.com), an Internet consulting firm based in Orlando, FL. He's a Microsoft Certified Solution Developer (MCSD) and author of Debugging ASP.NET (New Riders). Jonathan also is a contributing editor for asp.netPRO. E-mail him at mailto:[email protected] or through his angryCoder eZine at http://www.angryCoder.com.