Skip to content
kswoll edited this page Feb 5, 2014 · 13 revisions

####What C# language features are supported?#### The only core feature of C# that is not implemented yet is async/await. Notably, you can expect support for the following features:

  • yield operator via a state machine
  • extensive reflection support
  • expression trees
  • C#-style lambdas and closures
  • anonyous types

####What C# language features are not supported?####

  • All numeric types (including decimal) are implemented as the native Javascript Number type. This means that all numeric types will always return true when asking whether it is any C# numeric type.
  • Async/await are not supported

####What features are planned in the immediate future?####

  • Source Maps allow you to debug Javascript code in, for example, Chrome Developer Tools, while setting breakpoints and stepping over your C# source code. This is planned for the future, but will require a fairly significant outlay of work.

####Why should I expect this project to improve and not fall victim to abandonware?####

Largely because I intend to dogfood it by rewriting the frontend of a fantasy basketball site I work on using this stack. To that end, I will be actively adding features and filling out any gaps in the current libraries.

####Why might I not want to use WootzJs?####

  • you want the .JS output to be clean, as though you handwrote it
  • you don't want native Javascript types such as String, Number, and Array to be polluted with members generated by WootzJs. (those types, for example, have members that correspond to methods you'd expect on their equivalent C# types)
  • you don't want to interact with the Javascript through C# syntax such as namespaces and classes.

####Why is it called WootzJs?#### It's a play on wootz steel (which is sharp, like C#!) and Javascript.

Clone this wiki locally