Programming Microsoft ASP.NET 4 - Dino Esposito [3]
The code and user interface of Web pages—sometimes referred to as the markup mix—had to be written manually in the past decade. And this created a sort of trench separating die-hard C/C++/Java programmers from freaky Web developers. And a growing number of developers using Microsoft Visual Basic were left sitting in the middle and, in some way, were kept from taking a decisive step in either direction—whether it was toward C++ server programming or client Web programming.
Microsoft scored a remarkable victory in the Web industry with the introduction of the ASP.NET platform back in 2001. ASP.NET opened the doors of Web development to a huge number of professionals and contributed to changing the development model of Web applications. ASP.NET wasn’t alone in producing this effort. ASP.NET followed up the progress made by at least a couple of earlier technologies: classic Active Server Pages (ASP) and Java Server Pages (JSP).
So ASP.NET was a success and, more importantly, it has been adopted for nearly any new Web project that has been started in the past decade when targeting the Microsoft platform. Today, ASP.NET is unanimously considered a stable, mature, and highly productive platform for Web development.
Microsoft significantly improved and refined ASP.NET along the way. Today ASP.NET includes a number of extensibility points that weren’t part of it in the beginning. It also offers a rich platform for AJAX development, and built-in controls have been adapted to better support cascading style sheet (CSS) and XHTML requirements.
For a long time, “ASP.NET” just referred to applications written using the Web Forms programming model. More specifically, we could say that ASP.NET refers to the underlying platform and runtime environment whereas “Web Forms” refers to how you create your pages and applications. For about a decade, the two terms mostly were used interchangeably.
A decade is a lot of time, however, especially in the software world. An alternative framework for Web development—ASP.NET MVC—is available these days, and it’s growing and maturing quickly. Is ASP.NET Web Forms still an excellent option for companies developing Web applications? Is the Web Forms model the best model possible? Should we look around for an alternative approach?
While the present book is all about architecting Web applications for the ASP.NET 4 platform and using the Web Forms model, this first chapter offers an annotated overview of the Web Forms model and attempts to outline future developments of Web frameworks for the Microsoft platform.
Note
In this book (and other works of mine), you might sometimes find the term “classic ASP.NET” used to refer to ASP.NET applications written according to the Web Forms programming model. The term is analogous to “classic ASP,” which is often used to distinguish the Active Server Pages technology from ASP.NET Web Forms.
The Age of Reason of ASP.NET Web Forms
ASP.NET was devised in the late 1990s as a way to improve on the current best practices defined by ASP developers. Many of these practices were engineered and baked into a new framework. Even better, the framework was perfectly integrated with the emerging Rapid Application Development (RAD) model that was largely responsible for the success of Visual Basic.
At the time, RAD was coming out as a lightweight, and often more effective, alternative to object-oriented programming (OOP). With a RAD approach supported by visual designers and editors, nearly everybody could quickly and easily prototype, demonstrate, and test an application in a matter of minutes. There was no need for the extra complexity and analysis work required by more theoretical (and bothersome?) approaches like object-oriented design and programming. “You don’t need object-orientation and software principles to write good and effective software on time”—that was the payoff offered by the advertising campaign promoting RAD about a decade ago.
The Original Strengths
The ASP.NET Web Forms model was originally