Script#

Script# compiles C# source code into JavaScript and brings the power and productivity of C# and .NET tools to Ajax development.

Script# brings productivity to Ajax and JavaScript development. Script# is a free tool that enables developers to author C# source code that can be subsequently compiled into regular script that works across all browsers, and to leverage the productivity and power of .NET tools as well as Visual Studio, in that process. Script# empowers you with a development methodology that brings software engineering and long term maintainability of your Ajax applications and frameworks.

Script# is used extensively by developers within Microsoft and externally to author Ajax applications more effectively. If you're building an Ajax or RIA application, you owe it to yourself to try Script# today!

Why Script#?

Productive Development
Intellisense that works!
Build errors at compile time; not at runtime
Intuitive OOP Syntax
Smart Development
MSBuild Support
Refactoring Support
Unit Testing Support (Coming soon)
FxCop Code Analysis
Beyond Development
Visualize your Code
Browse and Search your Code
Create Documentation

The Script# Project

While productivity and tooling benefits of Script# are key another fundamental design tenet and driving philosophy behind the compiler is to produce script that resembles hand-written script, and to be faithful to the script runtime environment. The compiler does not introduce any unnecessary layers of abstraction or indirection. The idea is that you are writing script in a more productive fashion, and care about pragmatic solutions using a better development toolset and approach, as opposed to porting a .NET application to the browser, which is more likely to produce impractical results.

Script# allows programming against DOM, DHTML, and JavaScript APIs, as well as Silverlight APIs in the browser and other browser-based application environments such as Vista Sidebar Gadgets. The Script# compiler can be used with multiple script frameworks. It is complemented by the Script# Framework, and can also be used to program using other frameworks such as Microsoft ASP.NET Ajax and ExtJS. Finally, if you've got existing scripts, they can be imported and reused, so you don't have to rewrite everything from scratch (see the section on Importing Existing Script Libraries and Scriptable APIs).

Script# is an evolving project, but is quite mature, and suitable for use in real-world projects. It was first released in May 2006 (introductory blog post). Over the course of the two years, it has been regularly updated with new features, and bug fixes based on actual usage. The Roadmap and Release page outlines the plan and the progress. Please continue to provide feedback via the discussion and issue tracking forums on the associated CodePlex site, as well as share success stories so they can be highlighted in the show case.

Scripts built with Script# are honest to goodness plain old JavaScript files, so you have no runtime dependency on the compiler and associated tools. You'll need .NET2.0+ and/or Visual Studio 2005+ on your development machine. You can also use Visual C# Express, which is available for free. See the section on Understanding Script# for more details.

What can you use Script# for?

Ajax Applications - Script# allows you to implement the Ajax code for your pages and mashup applications and use Script frameworks such as the Script# framework, ASP.NET Ajax, and ExtJS.

Ajax Frameworks and Components - Script# allows you to create reusable script libraries that can then be consumed during application development.

ASP.NET Ajax Server Controls - Script# can be used to develop script libraries with components such as controls and behaviors that can then be embedded into server controls.

Sidebar Gadgets - Script# can be used to program gadgets by referencing the appropriate Gadget APIS, RSS Feed APIs etc.

In general, you can use Script# to program against JavaScript wherever the programming model is based on script.



On this site you’ll find conceptual information about how Script# works, what Script# provides, tutorials on using script#, as well as information about the latest releases, and projects built on top of Script#.

The content here will be updated on an on-going basis, so be sure to check for what is new. You may also subscribe to the updates to be automatically notified.

Google