C# to Javascript Compiler implemented via Roslyn
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
WebSite Add WootzJs web site stubs Feb 5, 2014
WootzJs.Compiler.Tests Fix some recently introduced delegate bugs Nov 13, 2015
WootzJs.Compiler Put targets file back in build folder. Was breaking IDE intellisense … Oct 22, 2015
WootzJs.ComponentModel.DataAnnotations Put targets file back in build folder. Was breaking IDE intellisense … Oct 22, 2015
WootzJs.Injection Put targets file back in build folder. Was breaking IDE intellisense … Oct 22, 2015
WootzJs.JQuery Put targets file back in build folder. Was breaking IDE intellisense … Oct 22, 2015
WootzJs.Models.Js Put targets file back in build folder. Was breaking IDE intellisense … Oct 22, 2015
WootzJs.Models.Net45 Put targets file back in build folder. Was breaking IDE intellisense … Oct 22, 2015
WootzJs.Models Fix issues with shared projects getting messed up. Also fix some bad … Oct 21, 2015
WootzJs.Mvc Performance optimizations, particularly working on delegates. Oct 24, 2015
WootzJs.Runtime Fix some recently introduced delegate bugs Nov 13, 2015
WootzJs.Rx.Tests Put targets file back in build folder. Was breaking IDE intellisense … Oct 22, 2015
WootzJs.Rx Put targets file back in build folder. Was breaking IDE intellisense … Oct 22, 2015
WootzJs.System Put targets file back in build folder. Was breaking IDE intellisense … Oct 22, 2015
WootzJs.Testing Put targets file back in build folder. Was breaking IDE intellisense … Oct 22, 2015
WootzJs.Web Put targets file back in build folder. Was breaking IDE intellisense … Oct 22, 2015
packages 2015-10-13 Removed NuGet packages Oct 13, 2015
.gitignore 2015-10-13 Updated .gitignore Oct 13, 2015
LICENSE Revert "Update license" Jan 23, 2014
MDN.license Update MDN license Mar 8, 2014
README.md Update README.md Sep 23, 2015
WootzJs.Compiler.sln 2015-10-13 Updated .gitignore Oct 13, 2015
WootzJs.sln Fix issues with shared projects getting messed up. Also fix some bad … Oct 21, 2015
WootzJs.sln.DotSettings Fix nullable date time json parsing Nov 3, 2015
WootzJs.targets Put targets file back in build folder. Was breaking IDE intellisense … Oct 22, 2015
build.bat 2015-10-19 Further updates to build process - Entire build in VS Oct 19, 2015
clean.bat 2015-10-19 Further updates to build process - Entire build in VS Oct 19, 2015

README.md

Important Update on Requirements

With the latest Roslyn bits, you must obtain the Microsoft Build Tools 2015. The latest version of roslyn has dependencies on assemblies from this download and are absolutely required.

WootzJs

WootzJs is a C# to Javascript cross-compiler. You write your code in C#, and the result is Javascript that can be run in any browser (or other host). It's built on top of Microsoft Roslyn, which handles the complex process of converting your C# code into syntax trees with symbol information.

The design is focused on facilitating single-page applications. While it is possible to build standard web sites where each URL resolves to a different page, you will be fighting WootzJs in order to achieve this. The goal is to produce a single .js file for the entire site (or at least for every "sub site"). To a large extent, it is far simpler to bind HTML elements to your C# code than vice-versa. That being said, any metaphor is workable.

WootzJs also includes a web framework, WootzJs.Mvc for creating single-page applications. It leverages the HTML 5 history API to create an MVC framework with routing, controllers, models, and views. The views are generated programmatically via C#, in a style similar to Google Web Toolkit. The MVC portion looks substantively similar to what you'd expect coming from ASP.NET/MVC.

To stay up to date, follow @WootzJs on Twitter.
To contact the author, use @kirkwoll on Twitter. (Or, if appropriate, submit a bug here on github)