SharePoint 2010: Client side JavaScript Object Model Library written in Script#?

Note: this blog post is based on experiences with the SharePoint 2010 Technical Preview version.

SharePoint 2010 now extends the object model to the client. A remote object model proxy is available for C# development (including Silverlight) and a Javascript client library which can be found at C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\SP.js, accessible at /_layouts/SP.js.

I tried to understand what happens in the Javascript code, did some document formatting on it to get it readable. But not really a Javascript wizard myself I didn't really got the hang on it. But when I scrolled to the end of the SP.js file I found the following lines:

// ---- Do not remove this footer ----
// Generated using Script# v0.5.0.0 (
// -----------------------------------

Now I understand why some of the code is not that readable: it is generated code. Script# is used for creating the client side object model API!

Have a look at for more info on Script#.

I never dared to use Script# i a real project going into production, especially because the last version came out in August 2008. But Microsoft does not seem to have a problem with it. The Microsoft team is even running an older version that available for download (version

As far as I know the Office Web Applications (online Word, Access and PowerPoint) are written with Script# as well. See So maybe it is time now to really dive into Script#! Anyone dare to it for production code in their projects already? 

Disclaimer: All information in this blog post is based on my personal interpretation of information collected at the SharePoint Conference 2009 and experiences with SharePoint 2010 Technical Preview version provided to my company in the PEP program.


Comments have been disabled for this content.