Section A.10. .NET Ajax Frameworks


A.10. .NET Ajax Frameworks

In the .NET world, all eyes are on Microsoft with their in-progress Atlas framework. It's not yet clear exactly what it covers, how portable it will be, and how it will affect the existing frameworks here. In any event, Michael Schwartz's Ajax.NET is one popular choice, and for a broader-scoped framework, the Monorail projectsimilar to Ruby on Railshas a lot of interest too.

A.10.1. Ajax.NET for ASP.NET 1.x/2.0

Ajax.NET (http://ajax.schwarz-interactive.de/csharpsample/default.aspx) is an Ajax framework for ASP.NET 1.x/2.0.

  • A basic Ajax library for ASP.NET that provides the very basic Ajax capability to make XMLHTTP callbacks. Does not have any Ajax-enabled controls or support for Viewstate, etc.

  • Open source license by Michael Schwartz.

A.10.2. Anthem.NET for ASP.NET 1.x/2.0

Anthem.NET (http://anthem-dot-net.sourceforge.net/) is Jason Diamonds' new version of a long-established Ajax library, now a SourceForge open source project.

  • Athem.NET provides a set of Ajax-enabled controls inherited from ASP.NET server controls, with most Ajax behaviors pre-built, avoiding lots of client JavaScript. It supports Viewstate so that you can actually modify server controls (either Anthem controls or ASP.NET controls inside an Anthem controle.g., panel) in your server-side code, in C# or VB without having to mess about in JavaScript. Still in its early days (DEC 2005) but promising!

  • Open source license by Jason Diamonds.

A.10.3. AjaxAspects

AjaxAspects (http://www.mathertel.de/AJAXEngine/) is an engine that uses JavaScript proxies to call server-side web service methods.

  • Use Ajax with web services.

  • Built upon JavaScript client proxy methods for standard web services. (Just call a regular JavaScript method to call a method on the server.)

  • Standard SOAP and WSDL is reused for the communication between client and server.

  • No need for special implementations in web services.

  • Multiple types, arrays and XML objects are supported as parameters and return values.

  • Caching on the client and server.

  • Queuing actions.

  • Delaying actions.

  • Many Ajax controls available that integrate in standard ASP.NET web forms.

  • Supporting ASP.NET 2.0.

  • Full source code available.

  • Demo web site available (http://www.mathertel.de/AjaxEngine/).

  • Supported by a blog in English (http://ajaxaspects.blogspot.com/) and German (http://ajaxaspekte.blogspot.com/).

  • Open source license (Creative Commons license) by Matthias Hertel (http://www.mathertel.de).

A.10.4. Atlas (from late 2005)

Atlas (http://www.asp.net/default.aspx?tabindex=7&tabid=47) is Microsoft's in-progress Ajax project. ASP.NET Atlas is a package of new web development technologies that integrates an extensive set of client script libraries with the rich, server-based development platform of ASP.NET 2.0.

  • Commercial (license terms unclear at time of writing) by Microsoft

A.10.5. Bitkraft for ASP.NET

Bitkraft (http://www.tiggrbitz.com) is a CLR-based (.NET) web framework that allows distributed web content to be created and served in a unique fashion. It is written in C# and compiles for operation under the Microsoft .NET Framework 1.1+ or the .Mono Framework, making it portable to almost any platform.

At its core, the Bitkraft framework extends the ASP.NET architecture to fully support JavaScript-based server callbacks using the XmlHttpRequest object as a transport layer in Ajax.

  • Known browsers: IE5+, Firefox1+, and Netscape 6

  • Server-side support for ASP.NET, Mono XSP, Cassini, and Apache (modMono) .NET Framework 1.1+

  • Attribute driven

  • Asynchronous and synchronous methods mapped directly from JavaScript proxy objects to the server

  • Supports all .NET types and custom classes mapped to the JSON object on the client

  • Uses JSON instead of XML

  • Open source library by Wayne Lee-Archer

A.10.6. ComfortASP.NET for ASP.NET 1.1/2.0

ComfortASP.NET (http://www.comfortasp.de) is an approach that lets developers rely on pure ASP.NET programming while offering Ajax features. Internally, ComfortASP.NET uses Ajax (using DHTML, JavaScript, XMLHTTP) to implement these featuresbut the web developer implements only pure server-side ASP.NET!

  • Automatically transfer only changes between ASP.NET postbacks, which leads to significantly faster response for low bandwidth connections and less overall HTML traffic (up to 90 percent, depending on new postback data)

  • Reduce page reloads and use hidden postbacks instead

  • Ajax/DHTML-like client experience (but without programming any Ajax/DHTML directly)

  • Keep browser history free of postback entries (the Back button no longer irritates your users)

  • Autodisable form and prevent user input while using postback or multiple form postbacks

  • Control web client scroll position and focus from the server-side code

  • Switch back at all times to original ASP.NET when you need iteven dynamically at runtime

  • Open source license by Daniel Zei

A.10.7. MagicAjax.NET (from September 2005)

MagicAjax.NET (http://www.magicajax.net/) is an open source framework designed to make it easier and more intuitive for developers to integrate Ajax technology into their web pages, without replacing the ASP.NET controls and/or writing JavaScript code.

  • Just make the initial setup, put the controls you want to Ajax-enable inside an AjaxPanel, and you're done!

  • Many other features also available if you really want the advanced features as well.

  • Open source license (LGPL) by various contributors.

A.10.8. MonoRail (from May 2005)

MonoRail (http://www.castleproject.org/index.php/MonoRail) is a platform for developing C# web applications using templates instead of the webform-based approach.

  • Functionally similar to Ruby on Rails

  • Generates most or all of the JavaScript for widgets and animation in the browser

  • Provides helpers that work with the Prototype JavaScript library (http://prototype.conio.net/)

  • Functions on the .NET and .Mono platforms on both Windows and Linux

  • Open source license by multiple developers

A.10.9. WebORB for .NET (from August 2005)

WebORB for .NET (http://www.themidnightcoders.com/weborb/aboutWeborb.htm) is a platform for developing Ajax and Flash-based rich client applications and connecting them with .NET objects and XML web services (see online examples at http://www.themidnightcoders.com/examples).

  • WebORB includes a client-side library called Rich Client System (http://www.themidnightcoders.com/rcs/index.htm). The Rich Client System provides a simple one-line API to bind to and invoke any method on any .NET object or XML web service.

  • Supports synchronous and asynchronous method invocations.

  • Does not require any modifications on the server-side code, and there is no need for custom method attributes, special signatures, or argument types. Does not require design-time stub generation.

  • Synchronous invocations return data from the same invocation (no callback needed). Asynchronous invocations rely on a callback.

  • Any server-side method can be invoked synchronously or asynchronously.

  • Client application can request special activation modes for the server objects. As a result, objects can easily become stateful without any special programming.

  • Provides a special API for handling database query resultsserver code can return DataSets or DataTables and the client presents it as a special RecordSet JavaScript object. The object provides a way to retrieve column names as well as row data.

  • Supports data paging. Client applications can retrieve data in pages, thus streamlining user experience.

  • Supports all server-side argument types as well as return valuesprimitives, strings, complex types, arrays, native .NET collections, and remote references.

  • Dual license (standard edition is free, professional is commercial) by Midnight Coders.

A.10.10. zumiPage

With zumiPage (http://www.zumipage.com), postbacks to the server are automatically captured on the client side and sent via an XMLHTTP mechanism.

  • zumiPage requires no code changes to existing projects, so you can write code for ASP.NET as you always do, using the standard web controls and methodology. zumiPage will take care of the rest. Your web application should be smoother, faster, and more interactive.

  • Works with ASP.NET 2.0 and 1.1.

  • Fully compatible with Internet Explorer and Mozilla Firefox.

  • Save up to 90 percent of the traffic.

  • Easy to integrate with existing projects.

  • Does not require any use of JavaScript.

  • Fast, invisible XMLHTTP postbacks.

  • Full control over returned controls on each postback.

  • Wait behaviors (for server-loading times).

  • Commercial license by Amir Leshem.




Ajax Design Patterns
Ajax Design Patterns
ISBN: 0596101805
EAN: 2147483647
Year: 2007
Pages: 169

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net