Power development, Á la carte
- You decide integration points rather than forcing you adopt wholesale
- Encourages good pure JavaScript while performing the heavy-lifting for you
- Client components are pure Object-Oriented JavaScript
- Server components are C# / .NET 2.0 compatible
Full client-server Ajax support
- Cross-Browser Ajax interface allows robust client-server communication
- Browser compatibility exceeds A-Grade browsers from Yahoo! Graded Browser Support
Built-in JSON serialization
- Complete client/server serialization/deserialization of JSON
- Supports deserialization into C# classes
Built-in Client-side templating support
- Support for generating JBST controls from ASP/JSP-style markup
- Support for generating JsonML from standard ASP.NET web-pages
- Allows naturally defining UI markup converted to pure JavaScript
Built-in JSON-RPC 2.0 service generation
- Generates JSON-RPC services as easy as XML WebServices in ASP.NET
- Generates JavaScript service proxies so calling JSON-RPC is as easy as calling a function
Build-time JavaScript / CSS syntax checking, compaction, & compression
- Automatically updates as files are edited
- Whitespace/Comments removal at build-time, for fast runtime
- Gzip/Deflate supported automatically
- Syntax errors show up in Visual Studio errors list
Client-side localization
- Client-side templates are fully localizable using standard .NET localization
- Support for localizing in JavaScript
CssUserAgent support
- Built-in mechanism for supporting browser-specific CSS without resorting to CSS hacks
- Reduces need for browser specific JavaScript when customizing presentation
- See the example!
Ajax history support
- Cross-Browser History interface allows programmatic access to storing history state, restored with the Back/Forward Buttons
- Doesn't break the browser's forward/back buttons
Server components fully .NET 2.0 compatible
- Rich, robust Ajax on .NET 2.0
- Server-side components are written in pure managed C#
- Optional JSLint support (provided by server-side JScript/jslint.js) is automatically disabled on other platforms