So, What’s the Problem?
Based on what you have just read regarding ASP.NET, it may sound really good to
you. You may be asking yourself, “Why is there a need for something else?
What’s the problem?”
The truth is that ASP.NET has several issues that need to be addressed:
-
Round trips — The server events in ASP.NET require round trips to the server to
process these events. These round trips result in all form elements being sent
between client and server as well as images and other data files being sent
back to the client from the server. Though some web browsers will cache images,
there can still be significant data transfer.
-
Speed/network data transfer — Because of the ViewState hidden form element, the
amount of data that is transferred during a postback is relatively large. The
more data and controls on the page, the larger the ViewState will be and the
more data that must be processed on the server and transmitted back to the
client.
-
Waiting on the result — When a user clicks a button or some other visual
element that posts back data to the server, the user must wait for a full round
trip to complete. This takes time when the processing is done on the server and
all the data, including images and ViewState, are returned to the client.
During that time, even if the user attempts to do something with the user
interface, that action is not actually processed on the client.
-
User context — Unless an application is able to properly use the
SMARTNAVIGATION feature of ASP.NET, the user is redirected to the top of a page
by default on a postback. Though there are ways around this issue, this is the
default behavior.
-
Processing — The number of server round trips, amount of data that is
transferred, and the ViewState element’s size result in processing on the
server that is not really necessary.
|
Book Excerpt: Introduction to ASP.NET AJAX
Chapter Contents
This excerpt from
Beginning ASP.NET 2.0 AJAX by Wallace B. McClure, Paul Glavich,
Steve C. Orr, Craig Shoemaker, Steven A. Smith, Jim Zimmerman, is printed with
permission from Wrox Publication.
|
Users typically do something, data is sent to the server, the web server
processes it, and the result is finally sent to back to the user. While the
server is processing the data, the user interface is “locked” so that
additional operations don’t happen until a result is returned to the user.
Improving the User Experience
Based on the preceding issues, several options are available for improving the
user experience:
-
Java — Java applets are cross-platform applications. While being used as a
cross-platform mechanism to display data and improve the user experience, Java
development on the client has not been accepted with open arms by the
development community and is primarily used for user interface gee-whiz
features as opposed to improving the experience of the user application. (As a
side note, Java has been widely accepted for building server-side
applications.)
-
XML-based languages — XML User Interface Language (XUL) and Extensible
Application Markup Language (XAML) are two of several languages that can
provide an improved user experience. The problem with XUL is that it has been
used only in the Mozilla/Firefox line of browsers. Silverlight (formerly
WPF/e), an associated product, is an interpreter for a subset of XAML.
Currently, there is support for Silverlight on Windows and the Apple Macintosh.
-
Flash — Although Flash has been used and there are cross-platform versions, the
product has been used only in the area of graphic UI needs and has not been
accepted by the development community as a whole for building line of business
applications. Recently, Adobe has released a pre-release version of an Internet
technology referred to as Apollo. Apollo is a runtime that allows web skillsets
to be used to develop rich desktop applications.
-
AJAX — AJAX is a set of client technologies that provide for asynchronous
communication between the user interface and the web server, along with fairly
easy integration with existing technologies.
Given the amount of recent discussion among developers regarding AJAX, it
appears that AJAX has the greatest chance among these technologies of gaining
market acceptance.
Current Drivers
Interest in web-based development has grown over the past few years. With that
interest, Microsoft has gone from classical ASP to ASP.NET development. ASP.NET
development has grown to the point that it is the most popular development
platform for web-based applications. Even with its popularity, it has to
continually improve or it will get left in the dust of a more modern
technology.
Over the past few years, building client-side web-based applications has grown
in popularity. Users have liked the applications because of the increased
client-side functionality, such as keeping a common user context during a
“post” to the server and drag-and-drop features common to typical client
applications. This functionality was popularized by several applications from
Google, including Gmail, Google Suggest, and Google Maps.
In February 2005, this functionality got the name Asynchronous JavaScript And
XML (AJAX) thanks to an essay by Jesse James Garrett. At about this time,
several .NET libraries started to show up. These libraries hid many of the
complexities of interfacing with web services and allowed developers to
concentrate on the application as opposed to creating the plumbing to talk to
the web services.
ASP.NET needs to add this functionality. The question becomes, how does one add
client-side functionality to a development methodology that is mostly a
server-side technology?
From a network standpoint, these applications are more efficient because they
communicate back only the necessary pieces of information and get back only the
necessary updates from the server. From a web server standpoint, these
applications tend to use less CPU on the server. As a result, these types of
applications are highly desirable.
Page
1 | page
2 | page
3 |
page 4 |
page 5 |
page 6 |
page 7 |
page 8
Also read
With ASP.NET 2.0, Microsoft introduces a new feature known as validation groups,
which enables you to create different groups of validation controls and assign
them to input controls, such as text boxes. You can assign a validation group
to a collection of input controls if you want to validate the collection of
input controls on the same criteria............
One of the neat features of ASP.NET 2.0 is themes, which enable you to define
the appearance of a set of controls once and apply the appearance to your
entire web application............
ASP.NET 2.0 ships with a Web Parts Framework that provides the infrastructure
and the building blocks required for creating modular web pages that can be
easily customized by the users. You can use Web Parts to create portal pages
that aggregate different types of content, such as static text, links, and
content that can change at runtime..................
Visual Studio 2005 is the best development tool for building data-driven web
applications. As part of the Visual Studio 2005 suite of tools, Microsoft is
introducing a new tool called Visual Web Developer (VWD) that is designed to
work with the current and next generation of ASP.NET. VWD provides powerful new
features for the web developer.................
Following are the major differences between Server.Transfer and
response.Redirect.....
Authentication is the process of verifying the identity of a user.......
ASP.NET can also impersonate a specific account you specify in
web.config.........
|