ajax| Microsoft
Microsoft is already in the process of developing a version of Visual Stuido, one of the key research directions is to implement the increasingly popular rich client applications in browsers through AJAX-style programming.
Future IE will have all the things Ajax needs--dhtml, JScript, and XMLHTTP. In fact, Outlook Web Access has been providing this great browsing experience since 1998. In asp.net 2.0, Microsoft uses asynchronous callbacks and comfortable Ajax-style applications to write simpler, and Microsoft provides a lot of built-in controls for this.
Today, almost all browsers provide the technology needed for Ajax, and rich client applications that use this pattern continue to emerge. Today, there are countless Ajax-style sites in the world, including many of Google's sites, A9 and Flickr. Many Microsoft sites also use this technology, such as the start.com and MSN Virtual Earth projects.
The popularity of Ajax illustrates the growing need for a rich web experience. However, developing and debugging AJAX-style Web applications is a very difficult task. To write a rich web UI, developers need to have a detailed understanding of DHTML and JavaScript, as well as the differences in design details between browsers. However, there are no tools to simplify the design and development of these applications. Finally, debugging and testing these applications can become extremely difficult.
Microsoft is committed to simplifying the development of AJAX-style Web applications and providing a rich, interoperable, and personalized user experience. Developers can have little knowledge of client script, but they can seamlessly integrate the browser UI with other applications they write, and they can easily develop and debug these applications.
For this purpose, Microsoft launched a new project, the development of code-named "Atlas." At the same time, Microsoft has launched a site to continually update its core progress and examples and build an active community around it. At the PDC conference in September, developers were able to see the technology Preview version of Atlas. The following are the features that Atlas has.
Atlas Client Script Framework
The Atlas client script framework is an extensible, 100% object-oriented JavaScript client script framework that allows developers to easily build Ajax-style browser applications that have rich UI capabilities and can connect to Web services. With Atlas, developers can use DHTML, JavaScript, and XMLHTTP to write Web applications without having to master the details of these technologies.
The Atlas client script framework can be run on all modern browsers, regardless of the Web server you are using. It also does not require installation at all, as long as the correct script file is referenced in the page.
The Atlas client script framework contains the following components:
An extensible core framework that adds many new features to JavaScript, such as lifetime management, inheritance, multicast event handlers, and interfaces
A base Class library that provides common features such as rich string manipulation functions, timers, and running tasks
A UI framework that enables the dynamic behavior of HTML across browsers
A network stack that simplifies connection to the server and access to Web services
A set of rich UI-enabled controls, such as AutoComplete text boxes, pop-up panels, animated controls, and drag-and-drop
A browser-compatible layer (Layer) for locating different script behaviors in different browsers
asp.net server control for Atlas
For ASP.net applications, Microsoft has designed a set of AJAX-style server controls and has tightened existing ASP.net page frames and controls to support the Atlas client script framework.
ASP.net 2.0 has a new feature called Asynchronous client callback (asynchronous client callbacks) that makes it easy to build asp.net pages that do not cause page breaks when content is updated from the server. Asynchronous client callbacks are packaged with XMLHTTP and can work on many browsers. Asp. NET itself includes many controls that use callbacks, including GridView and Detalsview controls with client paging and sorting capabilities, and virtual list support for the TreeView control.
The Atlas client script framework will fully support the ASP.net 2.0 callback, but Microsoft hopes to further enhance the integration of browsers and servers in the future. For example, you can bind the data for the Atlas client control and designate it as a asp.net data source control on the server, and you can asynchronously control the personalization characteristics of the Web page from the client.
asp.net Web Services Integration
As with any client application, an AJAX-style Web application often requires access to some features of the Web server. The model of the Atlas application connecting to the server is similar to that of other platforms, and is implemented using Web services.
Integrated with ASP.net Web services, the Atlas application will be able to access any asp.net asmx or indigo service directly to any host using this framework through the Atlas client in any browser that supports XMLHTTP. The framework will automatically process, broker, and script to object, object to script serialization issues. By using Web services integration, developers can use a single programming model to write Web services and use them in any application, whether on a browser-based site or in a smart client application.
asp.net building blocks for Atlas
In asp.net 2.0, Microsoft built a rich set of building block services (building blocks service), making it incredibly easy to build powerful, personalized Web applications. These building blocks greatly reduce the amount of code that needs to be written to develop a common web application, such as managing users, authenticating users through roles, and storing personalization information for users.
With Atlas, we can access these features in any client application on any browser to access Web services. For example, if you are developing a site to display a user's to-do project, you can use the ASP.net profile service to store them in a user-defined configuration file on the server. This allows users to access these items even if they are transferred from one machine to another.
Microsoft will provide services including (all based on ASP.net 2.0):
Profile: Store data specific to each user on the server
UI personalization: Storing personalized UI settings information on the server
Authentication: Validating Users
Roles: Authenticating user tasks and providing different UI based on user roles
Because these building blocks are server-based, developers need to apply the same security model they have to other sites. These services do not require a client to download anything-just refer to the script agent in the browser.
All ASP.net 2.0 building block services are pluggable, which is implemented in the background using a generic provider (Provider) model extensible pattern. The built-in provider provided by Microsoft allows developers to use SQL Server databases or Active Directory as storage containers, and developers can easily plug in their own providers. For example, you might want to use a cluster instead of a database server to hold a user's profile, and you can simply plug in your provider--all by the developer.
Client Building Block Services
In addition to DHTML, JScript, and XMLHTTP, Microsoft offers a set of additional services to enhance the functionality of the client and provide an enhanced experience.
For such a service, the local browser cache is a good example. When local browser caching is enabled, the Web site can store content in the cache and quickly take it out when needed. But browsers do not provide APIs to store data in the cache, and applications like Google Map or OWA have to produce a unique URL through a lot of work in order for the browser to cache it. In Atlas, Microsoft provides programmable local storage/caching, so applications can easily, efficiently and securely cache data locally.
Integration with other applications is another new standard for verifying the richness of the web experience. For example, when a user browses to an auction site and makes a bid on a product, he may want to know when the auction ends, but how can he add the event to a personal calendar program? Atlas brings a series of client building block services that when the user selects Add to calendar, the browser calls the docking point to get the calendar data and passes it to the local calendar program. There is no need to download or run any special code or perform any initialization action on the page, so this is much more secure than ActiveX.
Next
As our technology progresses, a lot of things will happen. We are now beginning to develop, develop, and debug the next version of the tools, so we will soon provide a greater development experience for these types of rich Web applications.
One of the questions you might ask is: How does Atlas work on Avalon and smart clients?
We can see that Atlas is the best way to write rich, interactive, and personalized web browser applications, and Avalon is the next generation of Microsoft's presentation layer model that delivers the most extensive user experience on the Windows platform. Avalon will use the latest media integration features and hardware acceleration devices to provide a superior visual experience. Avalon will bring an experience beyond the browser.
Of course, when you build a Avalon application, you can still reuse the programming models in ASP.net and atlas. For example, ASP.net building block services and client building block services can still be used on Avalon clients. This model allows you to smoothly transition to the next generation of applications.