New Features and Tools in ASP.NET 2.0
When Microsoft released the .NET Framework 1.0 Technology Preview in July 2000, it was immediately clear that Web development was going to change. The company's then current technology, Active Server Pages 3.0 (ASP), was powerful and flexible, and it made the creation of dynamic Web sites easy. ASP spawned a whole series of books, articles, Web sites, and components, all to make the development process even easier. What ASP didn't have, however, was an application framework; it was never an enterprise development tool. Everything you did in ASP was code orientedyou just couldn't get away with not writing code.
ASP.NET was designed to counter this problem. One of its key design goals was to make programming easier and quicker by reducing the amount of code you have to create. Enter the declarative programming model, a rich server control hierarchy with events, a large class library, and support for development tools from the humble Notepad to the high-end Visual Studio .NET. All in all, ASP.NET was a huge leap forward.
What's Wrong with ASP.NET 1.x?
So if ASP.NET 1.0 and 1.1 are so great, what's wrong with them? Well, nothing, actually; but when developing software, there is always a trade-off between how much can be done, how many resources you have, and how much time you have to do it. There is an almost never-ending supply of features you can add, but at some stage you have to ship the product. You cannot doubt that ASP.NET 1.0 shipped with an impressive array of features, but the ASP.NET team members are ambitious, and they not only had plans of their own but also listened to their users.
ASP.NET 2.0 addresses the areas that both the development team and users wanted to improve. The aims of the new version are listed below.
Reduce the number of lines of code required by 70%. The declarative programming model freed developers from having to write reams of code, but there are still many scenarios where this cannot be avoided. Data access is a great example, where the sameConnection, DataAdapter/DataSet, and Command/DataReader code is used regularly.
Increase developer productivity. This partly relates to reducing the amount of code required but is also affected by more server controls encompassing complex functionality, as well as providing better solutions for common Web site scenarios (such as portals and personalized sites).
Use a single control set for all devices. Mobile devices are becoming more pervasive, with an increasing number of new devices. Many of the server controls render appropriately for small screens, but there are two major problems with the current support for mobile devices: (1) having a separate set of server controls purely for mobile devices is not only confusing but also costly, and (2) adding support for new devices requires additional development work and maintenance. ASP.NET 2.0 will provide a single set of controls and an extensible architecture to allow them (and other controls) to support multiple devices.
Provide the fastest Web server platform. Although ASP.NET 1.0 offers a fast server platform, ASP.NET 2.0 will improve areas such as application start-up times and provide better application tracing and performance data. Innovative caching features will enhance application performance, especially when SQL Server is used.
Provide the best hosting solution. With the large number of Internet applications being hosted, it's important to provide better solutions for hosters. For example, better management features to identify and stop rogue applications will give hosters more control over their current environment. More control can also be given to hosted companies by use of the new Web-based administration tool, allowing users to easily control the configuration of applications remotely.
Provide easier and more sophisticated management features. Administration of ASP.NET applications under version 1.x required manual editing of the XML configuration file, which is not a great solution for administrators. Version 2.0 brings a graphical user interfacebased administration tool that is integrated with the Internet Information Services (IIS) administration tool.
Ease implementation of entire scenarios. The better management features are built on top of a management application programming interface (API), allowing custom administration programs to be created. Along with application packaging this will provide support for easily deployable applications, with or without source.
Even from this broad set of aims you can see that ASP.NET 2.0 is a great advance from 1.x for both developers and administrators.