Please note this site is largely out of date and only refers to version 1.x.
Version 2.x is now hosted on Github.
BuildTools™ Libraries are various tools for accelerating web application development:
JsonFx is the JSON-savvy Ajax Framework for ASP.NET 2.0, 3.5, 4.0
These libraries are distributed under the terms of an MIT-style license.
The JSON-savvy Ajax framework for ASP.NET
Supports true Ajax via client-side templating
Supports JSON within all Ajax features
JsonML+Browser-Side Templating (JBST) data-binding JSON in the client
Build-time optimization of client libraries (compaction/Gzip/Deflate/obfuscation)
Supports UserAgent-specific CSS (no more browser hacks)
Dynamic behavior binding features
Client-side globalization support
Ajax history (browser back button) support
Helps get a Grade A in YSlow!
The JSON parser/serializer which powers JsonFx
Functions similarly to the XmlSerializer in .NET
Serializes and deserializes any
Dictionary<String, T> and
String keys directly as JSON objects
Serializes and deserializes any
Queue<T> and many other
IEnumerable types directly as JSON arrays
Serializes and deserializes
Guid and other common .NET Types directly as JSON primitives
Serializes and deserializes strongly-typed custom classes (similarly to XML Serialization in .NET)
Serializes C# 3.0 Anonymous Types directly as JSON objects
Serializes C# 3.0 LINQ Queries as JSON arrays of objects (by enumerating the results)
Optional ability to control serialization via attributes/interfaces
Optional Type-Hinting improves deserializing to strongly-typed objects
Optional PrettyPrint mode helps with debugging / human-readability
Optional custom DateTime serialization override
Optional native EcmaScript serialization of DateTime, Regex and Identifiers
Ignores block and line comments when deserializing
JBST client-side template command-line compiler
NOTE: this requires the JsonFx binaries to run. Updating the JsonFx binaries is just as easy as replacing the DLLs with a new version.
JsonML+BST Template Compiler usage:
JbstCompiler /IN:file [ /OUT:file ] [ /INFO:copyright ] [ /TIME:timeFormat ] [ /WARNING ] /IN: Input File Path (not used with /DIR:...) /OUT: Output File Path (not used with /DIR:...) /DIR: Input Directory Root (for bulk compiling an entire app *.jbst -> *.jbst.js) /INFO: Copyright label /TIME: TimeStamp Format /WARNING Syntax issues reported as warnings /PRETTY Pretty-Print the output (default is compact) Examples: JbstCompiler.exe /IN:myTemplate.jbst /OUT:compiled/myTemplate.js /INFO:"(c)2009 My Template, Inc." /TIME:"'Compiled 'yyyy-MM-dd @ HH:mm" JbstCompiler.exe /DIR:myTemplates/ /INFO:"(c)2009 My Template, Inc." /TIME:"'Compiled 'yyyy-MM-dd @ HH:mm"
Visual Studio 2005/2008 Item & Project Templates for JsonFx
Contains a Visual Studio Project Template for creating new JsonFx Websites
Contains a Visual Studio Project Template for creating new JsonFx Web Application Projects
Contains a Visual Studio Item Template for creating new JBST controls
Contains a Visual Studio Item Template for creating new JSON-RPC Services
Contains a Visual Studio Item Template for creating new *.merge files
Starter kit example project for JsonFx
Contains a starter kit Project for exploring JsonFx development
The full source code to http://starterkit.jsonfx.net.