Script# 0 votes

C# Developer Goodness, JavaScript Deployment Bliss!

Script# is a development tool that generates JavaScript by compiling C# source code. It is especially interesting for scripting-in-the-large scenarios that is commonplace in the current generation of HTML5 and script-based Web applications.

Script# lets you leverage the productivity of C# (intellisense, build-time error checking, natural language syntax), and the power Visual Studio IDE and standard .NET tools (such as msbuild, refactoring, unit testing, static analysis, code visualization, fxcop). Script# brings all this to you without abstracting the runtime environment - you're still authoring script, just with a different set of tools.

You can even use Script# to work against other existing frameworks and APIs such as jQuery, jQuery plugins and Knockout, and can be extended to work against other existing script.

JSIL 0 votes

.NET to JavaScript compiler

JSIL is a compiler that transforms .NET applications and libraries from their native executable format - CIL bytecode - into standards-compliant, cross-browser JavaScript. You can take this JavaScript and run it in a web browser or any other modern JavaScript runtime. Unlike other cross-compiler tools targeting JavaScript, JSIL produces readable, easy-to-debug JavaScript that resembles the code a developer might write by hand, while still maintaining the behavior and structure of the original .NET code. Because JSIL transforms bytecode, it can support most .NET-based languages - C# to JavaScript and VB.NET to JavaScript work right out of the box.

JSTest.NET 0 votes

Browserless JavaScript Unit Test Runner

JSTest.NET enables JavaScript unit tests to be run directly in the test framework of your choice (MSTest, NUnit, xUnit, etc) and all without the need for a web browser. JSTest.NET utilizes the Windows Script Host (CScript) to run fast, fully debuggable JavaScript unit tests!

JSTest.NET is a lightweight managed wrapper around the Windows Script Host (CScript.exe) available on any Windows machine. Other libraries for unit testing JavaScript require that you have either the Java JVM installed locally (as well as on your build server) as well as require an interactive UI (i.e., run one or more browsers to actually run unit tests). JSTest is focused on testing JavaScript, and NOT on UI validation. Unlike tools like JsTestDriver etc, JSTest can be run inside the unit testing framework of your choice; specifically MSTest, NUnit, xUnit etc.

In order to help simplify unit testing of your JavaScript code, JSTest has several common mocking libraries embedded for ease of use (JsHamcrest, JsMockito, JsMock, Json2, etc). Simply choose the desired library or libraries to mock out your classes (and browser!) and you are good to go. Since all JavaScript unit tests are run from within Visual Studio, simply launch a unit test in the debugger to enable debugging of your JavaScript as well.

In terms of performance, JSTest will run 1,000 typical JavaScript unit tests in approximately one minute on an Intel Core 2 Duo E8500 machine.