Ajax-enabled Hosting Server Controls
One of the strength of the ASP.NET programming model is the ability to encapsulate the markup of a portion of the page and render it dynamically. The rendering logic is located inside an object called a Server Control. The responsibility of this object is simple: it determines which HTML will be written to the response stream, based on decisions made at runtime. This means that the generated markup can vary based on user preferences, environment configuration, and business logic. The dynamic generation of the HTML of a web page is the main philosophy behind server technologies like ASP.NET.
ASP.NET AJAX (formerly called ATLAS) is a framework for building rich interactive, cross-browser web applications. This Microsoft technology integrates cross-browser client script libraries with the .NET framework. ASP.NET AJAX hosting makes it possible to take advantage of AJAX (Asynchronous JavaScript and XML) techniques to create ASP.NET web pages with rich user interfaces. Including both client-side and server-side components, ASP.NET AJAX allows creating web applications in ASP.NET which can update data on the web page without a complete reload of the page.
ASP.NET Ajax hosting also is a great helper to us while developing rapid applications without worrying us at power of asynchronous. With ASP.NET AJAX, we can add AJAX functionality to ASP.NET pages. We can rely on a robust JavaScript library to perform tasks such as making asynchronous method calls and refreshing a portion of HTML without reloading the whole page. On the server side, comes a framework that leverages the power of the ASP.NET technology and lets you create Ajax-enabled server controls. With ASP.NET Ajax, web applications can retrieve data from the server asynchronously in the background without interfering with the display and behavior of the existing page. The use of Ajax has led to an increase in interactive animation on web pages and better quality of Web services by developers and webmasters. But there are still advantages and disadvantages that ASP.NET Ajax contributed to the users.
ASP.NET Ajax Advantages
1 – When using Ajax, a web application can request only the content that needs to be updated, thus drastically reducing bandwidth usage and load time.
2 – The web application will be operated faster or more responsive, even if the application has not changed on the server side.
3 – Ajax enable to reduce connections to the server, since scripts and style sheets only have to be requested once.
4 – State can be maintained throughout a Web site such as Javascript variables.
Disadvantages of ASP.NET Ajax
1 – Clicking the browser’s “back” button may not return the user to an earlier state of the Ajax-enabled page.
2 – Dynamic web page updates also caused some troubles for a user to bookmark a particular state of the application.
3 – Ajax opens up another attack vector for malicious code that web developers might not expected for.
4 – Any user whose browser does not support Ajax or JavaScript, or simply has JavaScript disabled, will not be able to use its functionality.
ASP.NET AJAX Framework Advantages
As we know, AJAX has been integrated with the latest ASP.NET 3.5 / .NET Framework 3.5, while ASP.NET AJAX 1.0 was available as a separate add-on for ASP.NET 2.0.
Let us see the advantages of the ASP.NET AJAX framework from these 3 categories:
1) Ajax component frameworks
Components are generally created via JavaScript or XML tags, or by adding special attributes to normal HTML elements. These frameworks are generally larger, and intended for web applications rather than web sites.
However, some component frameworks require the developer to have extensive HTML/CSS/Ajax experience and to do cross-browser testing.
Users can get the benefits from the following Ajax components frameworks:
1 – Customization APIs and related technology
2 – More programmatic control and flexibility
3 – Advance skinning facilities and structure
4 – Allow users to create new components based on other components
2) “Indirect” Ajax Framework
Indirect frameworks therefore require knowledge of the high-level language, CSS and HTML, and do not necessarily require a user to have a great deal of Ajax or advance Javascript knowledge. The Indirect frameworks are typically accompanied by convenient libraries, modules and classes.
Examples of Indirect Ajax frameworks include Google Web Toolkit, and RubyJS, here are some of the benefits of “indirect” Ajax framework:
1 – The build in high-level web widget sets of the Indirect Ajax frameworks have far more in common with Desktop widgets.
2 – Able to create code that takes care of browser incompatibilities at run-time.
3 – A ASP.NET AJAX developer can program the web front-end in the same programming language as that which the server-side code is written.
4 – The ASP.NET AJAX developer can have the flexibility to create their own Ajax framework using programming concepts.
3) Ajax frameworks which is Driven by Server
In this Ajax framework, components are created and manipulated on the server using a server-side programming language. From this effort, we can see that changes to the server component model are reflected on the client automatically because all the communication between the users and servers are being done based on Ajax techniques, server-side code manipulates a server-side component model.
Ajax frameworks that handle presentation completely within the browser may offer greater responsiveness if they handle more user interactions without server involvement. In a server-driven model, some user interface interactions can react slower than normal expected time.
In order to use this Ajax framework, we might require the developer to understand which parts of the presentation are handled on the client vs on the server, and to code in JavaScript/Ajax as well as server-side code, so it involved 2 ways “back to back” actions.
With the emerging and integration of ASP.NET Ajax technology with the latest ASP.NET 3.5 framework, it is become clear that more and more webmasters and users choose to fully utilize this technology to aid them in the application development process.