What is .net
The .NET languages: These
include Visual Basic, C#, F#, and C++.
The Common Language Runtime (CLR): This is the engine that executes all .NET
programs and
provides automatic services
for these applications, such as security checking, memory
management, and optimization.
The .NET Framework class library: The class library collects thousands of pieces of
prebuilt
functionality that you can
“snap in” to your applications. These features are sometimes organized
into technology sets, such as
ADO.NET (the technology for creating database applications) and
Windows Presentation
Foundation (WPF, the technology for creating desktop user interfaces).
ASP.NET: This
is the engine that hosts the web applications you create with .NET, and
supports
almost any feature from the
.NET Framework class library. ASP.NET also includes a set of web-
specific services, such as
secure authentication and data storage.
Visual Studio:
This optional development tool contains a rich set of productivity and
debugging
features. Visual Studio
includes the complete .NET Framework, so you won’t need to download
it separately. Sometimes the
division between these components isn’t clear. For example, the term ASP.NET is
sometimes used in a narrow
sense to refer to the portion of the .NET class library used to design web
pages. On the other hand,
ASP.NET also refers to the whole topic of .NET web applications, which
includes .NET languages and
many fundamental pieces of the class library that aren’t web-specific.
(That’s generally the way we
use the term in this book. Our exhaustive examination of ASP.NET includes
.NET basics, the C# language,
and topics that any .NET developer could use, such as component-based programming
and database access.)
Server-Side Programming Early web development platforms had two key problems. First, they didn’t always scale well. As a result,
popular websites would struggle to keep up with the demand of too many simultaneous users,
eventually crashing or slowing to a crawl. Second, they provided little more than a bare-bones
programming environment. If you wanted higher-level features, such as the ability to authenticate users,
store personalized information, or display records you’ve retrieved from a database, you needed to write
pages of code from scratch. Building a web application this way is tedious and
error-prone.
To counter these problems, Microsoft created higher-level development platforms—first ASP and
then ASP.NET. Both of these technologies allow developers to program dynamic web pages without
worrying about the low-level implementation details. For that reason, both platforms have been
incredibly successful.
The original ASP platform garnered a huge audience of nearly 1 million developers, becoming far
more popular than even Microsoft anticipated. It wasn’t long before it was being wedged into all sorts of
unusual places, including mission-critical business applications and highly trafficked e-commerce sites. Because ASP wasn’t designed with these uses in mind, performance, security, and
configuration problems soon appeared.
That’s where ASP.NET comes into the picture. ASP.NET was developed as an industrial-strength
web application framework that could address the limitations of ASP. Compared to classic ASP, ASP.NET
offers better performance, better design tools, and a rich set of ready-made features. ASP.NET was wildly
popular from the moment it was released—in fact, it was put to work in dozens of large-scale
commercial websites while still in beta.
Client-Side Programming At the same time that server-side web development was moving through an alphabet soup of
technologies, a new type of programming was gaining popularity. Developers began to experiment with
the different ways they could enhance web pages by embedding miniature applets built with JavaScript,
ActiveX, Java, and Flash into web pages. These client-side technologies don’t involve any server
processing. Instead, the complete application is downloaded to the client browser, which executes it
locally.
The greatest problem with client-side technologies is that they aren’t supported equally by all
browsers and operating systems. One of the reasons that web development is so popular in the first
place is because web applications don’t require setup CDs, downloads, client-side configuration, and
other tedious (and error-prone) deployment steps. Instead, a web application can be used on any
computer that has Internet access. But when developers use client-side technologies, they encounter a
few familiar headaches. Suddenly, cross-browser compatibility becomes a problem. Developers are
forced to test their websites with different operating systems and browsers and to deal with a wide range
of browser quirks, bugs, and legacy behaviors. In other words, the client-side model sacrifices some of
the most important benefits of web development.
For that reason, ASP.NET is designed first and foremost as a server-side technology. All ASP.NET
code executes on the server. When the code is finished executing, the user receives an ordinary HTML
page, which can be viewed in any browser. Figure 1-3 shows the difference between the server-side and
client-side models.
No comments:
Post a Comment