Ajax, Atlas and Avalon – Part 2
About: This is the second part in a series of posts about the present and future state of User Interface programming models and their applicability in various scenarios.
Hello Everyone,
This series of posts introduces the three programming models that in my opinion are going to occupy significant portion of current and future development in the world of user interfaces, I addressed AJAX in my last post and will be focusing on Atlas in the current one
What is Atlas?
Let me tell you what Atlas is not, Atlas is not Microsoft’s answer to AJAX, if you think that Atlas is Microsoft’s competing standard for AJAX, please read part one of this series. AJAX is a style of programming; Atlas is a set of client libraries and Web Server Controls and Web Services that allows you to realize advantages of AJAX while significantly reducing its complexity and development and maintenance pains. Please note that Atlas is not just another implementation of AJAX, Atlas is an evolution of ideas that form the core of AJAX style of programming
What are the key features of Atlas?
Atlas offers a set of client and server side components to the AJAX developers implementing Web applications using ASP.NET. The client side libraries provided with Atlas have the following key features:
1. Atlas libraries add object-oriented style of programming to JavaScript, such as a type system, data types, namespaces, events etc. Adding Object Orientation to JavaScript allows you to improve the quality, reusability and maintainability of the code.
2. Atlas libraries have capabilities for handling most of the browser compatibility issues so you do not have to write browser specific scripts
3. Atlas libraries include commonly used behaviors, including auto-completion, drag and drop, pop-ups, and mouse hovering as well as components that can be bound to data, which simplifies creating data-driven business applications. Implementing and maintaining these components yourself is a very significant investment of resources irrespective of whether you are using J2EE or .NET
4. Atlas libraries provide capabilities for handling remote procedure calls. The libraries manage the complexity of making asynchronous calls reducing a call to just a few lines of scripting code.
5. Atlas libraries enable you to create 'Atlas' components using declarative syntax
In terms of the server side components the key features that Atlas provides are as follows:
1. Atlas provides Web Server controls that generate client scripts needed for using Atlas features. These controls are useful if you already know server-side development well or if you do not want to create 'Atlas' client scripts manually.
2. Web services. These are ASP.NET Web services, such as ASP.NET profiles, that can add useful server-side features to an 'Atlas' application
Will I have to use Atlas if I am implementing AJAX style of programming with Microsoft technologies?
No you do not have to use Atlas to implement AJAX style of programming with Microsoft technologies, however, doing so will allow help you focus on spending your resources in resolving the business problem rather than spending time on the underlying plumbing for making a responsive web application. Not using Atlas will mean that you will be developing and maintaining some of the functionality provided through Atlas
Will I have to use AJAX and/or Atlas to program with ASP.NET in future?
No, using AJAX and/or Atlas is a choice, as my future posts will explain, AJAX and/or Atlas may not be the best solution for every situation, based on your particular needs and environment you can choose to leverage this mechanism or adopt a different strategy.
Conclusion
AJAX style of programming allows developers to add a layer of abstraction between the client UI and Web Server allowing for a better user experience for certain types of web applications. Atlas is an initiative by Microsoft that extends the AJAX style of programming, allowing you to produce more responsive Web Applications without spending significant resources in learning, developing and maintaining vanilla AJAX based applications.
Part 1: http://blogs.msdn.com/mohammadakif/archive/2006/01/14/512991.aspx
Part 3: http://blogs.msdn.com/mohammadakif/archive/2006/01/29/519008.aspx