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.
Open source license by Jason Diamonds.
Use Ajax with web services.
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.
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.
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.
Known browsers: IE5+, Firefox1+, and Netscape 6
Server-side support for ASP.NET, Mono XSP, Cassini, and Apache (modMono) .NET Framework 1.1+
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
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)
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
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.
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.
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.
Fast, invisible XMLHTTP postbacks.
Full control over returned controls on each postback.
Wait behaviors (for server-loading times).
Commercial license by Amir Leshem.