ASP.NET issues - ASP.NET has several issues that need to be addressed

          

ASP.NET issues


<<Previous  Next>>

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.
ASP.NET issues 
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    

<<Previous  Next>>



Write your comment - Share Knowledge and Experience


Also read

ASP.NET 2.0 Validation Groups

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............

ASP.NET 2.0 Themes

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 Web Parts Framework

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 Improvements

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.................

Difference between Server.Transfer and response.Redirect.

Following are the major differences between Server.Transfer and response.Redirect.....

Difference between authentication and authorization.

Authentication is the process of verifying the identity of a user.......

What is impersonation in ASP.NET?

ASP.NET can also impersonate a specific account you specify in web.config.........

 

Latest placement tests
Latest links
 
Latest MCQs
» General awareness - Banking » ASP.NET » PL/SQL » Mechanical Engineering
» IAS Prelims GS » Java » Programming Language » Electrical Engineering
» English » C++ » Software Engineering » Electronic Engineering
» Quantitative Aptitude » Oracle » English » Finance
Home | About us | Sitemap | Contact us | We are hiring