Recently, I spent an evening with a local .NET user group. We had a great time -- you can't argue with free pizza, soft drinks, and 50 developers who wanted to learn more about this .NET thing. I was there, ostensibly, to provide a 75-minute lecture titled "XML Web Services: Beyond the Basics," digging into some Web services topics that go, well, beyond the basics.
After about fifteen minutes of the presentation, hands began popping up. Lots of hands. There were many, many questions. And it quickly became clear to me that Microsoft marketing has again not done its job. Here we had what was supposed to be a user group focusing on .NET development that had been in existence for more than 18 months, yet the standard FUD factor (that's "Fear, Uncertainty, and Doubt") hadn't yet been resolved.
Prevailing confusion
In an attempt to clear up one big concern, I'd like to answer one of the questions that came up at the user group meeting, and continually comes up when I'm evangelizing .NET. That is, "what needs to be installed to run .NET?" You'd think this would be a simple one, but it isn't.
If you boil it down, there are four types of "users" for .NET: users running Windows applications, users browsing to sites created with ASP.NET, Web servers hosting ASP.NET Web applications, and developers creating .NET applications. Each of these types of users, and their computers, has different requirements, but one thing is for sure: any computer running a .NET application locally requires the .NET Common Language Runtime (CLR) to be installed. This runtime environment for .NET applications isn't small -- the dotnetfx.exe executable you can include with applications to distribute the runtime is 21MB. Therefore, you'll have to consider carefully whether it makes sense to distribute a Windows application written using .NET to a user. On the other hand, the VB6 runtime requirement isn't tiny either, and if you develop applications using Access, you have a huge runtime investment as well.
What you need to know
A user running a .NET application requires at least Windows 98 SE or later. It's true -- the .NET CLR simply won't run on Windows 95. In addition, (I'm guessing) you need a reasonably well-powered machine to run the application; most likely, at least a Pentium III/400 mHz machine with at least 128 MB of memory.
On the other hand, a user browsing to a site running an ASP.NET application requires nothing more than a browser (according to Microsoft, Internet Explorer 5.0 or later is best). Because all the processing is happening on the server, the client only has to have a browser to display the output from the Web site, which will be nothing more than standard HTML and perhaps some JavaScript code to run the browser.
A developer building .NET applications needs Windows NT 4.0 SP6 or later. I recommend Windows XP (I'm a big fan), but Windows 2000 works fine, as well. For the developer, I recommend the biggest, fastest, sturdiest machine available. I'm using a Pentium III/1000 mHz machine with 1.5GB memory, and Visual Studio .NET runs acceptably (note the thinly veiled sarcasm there).
For a Web site to be able to host ASP.NET applications, the machine must be running Windows 2000 or later, and the .NET CLR must be installed. Windows NT simply won't do for hosting ASP.NET applications. Otherwise, the same rules apply as for any Web server: You want the machine to not be a domain controller, running as few other services as possible, with as much hardware as you require for the level of activity you expect.
Hopefully, this clears up some of the confusion. In summary: In all cases besides the user browsing to an ASP.NET site, you must have the Common Language Runtime installed on the machine running the .NET applications. Users can be running Windows 98 SE. Developers can use Windows NT 4.0 SP6 or later. Web sites require Windows 2000 or later.
We did get sidetracked at the user group meeting, but I'm hoping the attendees found useful information in the time we spent. If nothing else, it's clear now who can run .NET, and what software/hardware they require. I didn't get too far into Web services, however, so we'll have to cover that in a different visit.
Access-VB-SQL Advisor Summit
If you're interested in learning more about XML Web services, .NET, VB, Access, SQL, and a lot more, join us at the Access-VB-SQL Advisor Summit, October 14-16, 2002, in Hollywood, California. Check out http://Advisor.com /Events for details. See you there!