Simplify client-side programming with Atlas

Microsoft has developed its own approach to AJAX development called Atlas, which promises browser ubiquity as well as tight, albeit optional, ASP.NET integration. Find out how Atlas makes it easier to do client-side programming.

Microsoft has developed its own approach to AJAX development called Atlas, which promises browser ubiquity as well as tight, albeit optional, ASP.NET integration. In this column, we survey the Atlas architecture to get a better understanding of how you may use it in your development work.

What is Atlas?

Microsoft says Atlas' goal is the integration of client scripting with ASP.NET on the server to provide a comprehensive development platform.

There are two parts of the Atlas platform: client and server. On the client side, the following features are included:

  • A consistent object-oriented JavaScript API. Its object-oriented design will be familiar to experienced .NET developers.
  • Automatic browser compatibility. In theory, no special coding is required for applications to run in multiple browsers.
  • Client-script APIs and components that support rich UI features, such as drag-and-drop behavior. You can add these features to HTML controls with little or no coding.
  • A declarative model for client development that is similar to the declarative syntax for ASP.NET server controls.

Atlas extends the AJAX approach further by integrating with the server tier. This includes taking advantage of Web services, as well as ASP.NET Web server controls automatically, and generating the requisite Atlas client script. Finally, the Visual Studio IDE may be utilized to streamline the development of Atlas-based applications.

Weekly development tips in your inbox
Keep your developer skills sharp by signing up for TechRepublic's free Web Development Zone newsletter, delivered each Tuesday.
Automatically sign up today!

JavaScript is the key

A key goal of Atlas is the simplification of client-side programming. JavaScript has evolved into the standard for Web client development; however, it often provides a roadblock with another language to master to build robust applications. Atlas contains a set of JavaScript libraries that provide everything necessary to create Web client-based applications. Microsoft describes the libraries as a subset of the ASP.NET architecture. This approach hides much of the complexity from the developer.

The API makes it easy for developers to utilize the script libraries, which utilize a layered approach to Web client-side development with the following layers or services:

  • Browser compatibility layer: It provides compatibility across most browsers and eliminates the need to write browser-specific scripts.
  • Core services: This includes JavaScript extensions like classes, namespaces, event handling, inheritance, data types, and object serialization. This brings the familiar .NET development techniques to the Web client.
  • Base class library: A base library that includes base components like string builders, debuggers, timers, and tracing.
  • Networking layer: This facilitates communication via HTTP and the AJAX approach. It manages asynchronous remote method calls and hides the complexity by reducing calls to just a few lines of scripting code.
  • User Interface layer: This includes client capabilities like behaviors, user interface components, and data binding.
  • Controls layer: These Atlas-specific controls for Web client development may be data-bound, scripted, bound to Atlas behaviors (provided by the user interface layer) such as drag and drop, and so forth. These controls include an auto-completion text box, a data-bound control, and navigation controls.
  • Declarative programming: A powerful declarative programming model facilitating the creation of custom Atlas components. It follows the same approach used for developing ASP.NET server controls.

On the server side, there are Web services that provide ASP.NET features like security via profiles, roles, and membership, as well as personalization and globalization elements. Atlas includes numerous controls that resemble ASP.NET server controls with these controls emitting all of the necessary client-side Atlas JavaScript code. In addition, the Atlas server controls utilize JavaScript to produce Atlas behaviors.

Download the Atlas setup app

The Atlas platform is a comprehensive development environment with plenty of features to learn, which can be a bit overwhelming to new developers. A good way to get a better idea of the ins and outs of Atlas is to dive into some sample code or develop your own. The first step is downloading and running the Atlas setup files.

Atlas installation is as simple as downloading and running the windows installer (.msi) file. You are asked if you want to install Atlas support on your IIS instance (if available), as well as a Visual Studio template. By default, Atlas is installed in the following directory:

C:\Program Files\Microsoft ASP.NET\Atlas\v2.0.50727\Atlas

The Atlas assembly is named Microsoft.Web.Atlas.dll. It includes client script files that comprise the Atlas client-side script libraries. If you are using Visual Studio and you have installed the templates, the Atlas components will be available via IntelliSense in the IDE client.

Let's take a look at the Atlas platform in action by reworking the AJAX example used in last week's article. The script in Listing A does just that. It allows the user to enter text via a text box and click a link to display matching data from the standard SQL Server Northwind database (company table).

A few notes on the page:

  • The Atlas ScriptManager control drives the Atlas processes. It provides functionality to both the page developer and the control developer, and it orchestrates partial refreshes, incremental updates, and so forth. Its EnablePartialRendering attribute allows you to designate whether a portion of the page may be posted back.
  • The Atlas UpdatePanel control allows you to postback a specific part of a page, and we have this enabled in the ScriptManager control. Data that will be displayed (or updated) is contained by the ContentTemplate element. The Trigger element specifies what causes a postback event. It can be tied to a control event or when a control's value changes—the event is used in this example (when link is selected).
  • The SQLDataSource element is used to define our data source. It is referenced in the link's click event and is used to populate the GridView control.

Another approach to Web development

Atlas is the result of Microsoft's plunge into the AJAX waters. It provides everything necessary to build powerful Web client-based applications that utilize the core features of AJAX while taking advantage of the ASP.NET Framework. While ASP.NET is not a requirement, it is easy to use ASP.NET server controls as well as Web services to make your application more responsive to the user. Next week, we'll take a closer look at the various Atlas components available.

Tony Patton began his professional career as an application developer earning Java, VB, Lotus, and XML certifications to bolster his knowledge.

Miss a column?

Check out the Web Development Zone archive, and catch up on the most recent editions of Tony Patton's column.

About Tony Patton

Tony Patton has worn many hats over his 15+ years in the IT industry while witnessing many technologies come and go. He currently focuses on .NET and Web Development while trying to grasp the many facets of supporting such technologies in a productio...

Editor's Picks

Free Newsletters, In your Inbox