Microsoft Live Labs announce the new web coming technology Volta, which is a set of developer tools that in plain English work as MSIL re-compiler to cross-browser compliant JavaScript .
The Volta technology preview is a developer toolset that enables you to build multi-tier web applications by applying familiar techniques and patterns. First, design and build your application as a .NET client application, then assign the portions of the application to run on the server and the client tiers late in the development process. The compiler creates cross-browser JavaScript for the client tier, web services for the server tier, and communication, serialization, synchronization, security, and other boilerplate code to tie the tiers together.
Volta simply allow you to use your existing C#/VB.NET/IronPython or any other .NET language to write code that you can control it's execution side Server/Client by decorating the Class with attribute and the Volta post-compiler take care of spitting JavaScript code.
if you are looking for highly optimized JavaScript code i don't think this is for you. you can look for alternatives like Nikhil Kothari's Script# or Google Web Toolkit.
Erik Meijer Volta Architect explains the difference between Volta and GWT
From an architectural point of view, Volta facilitates a many-to-many mapping between programming languages and execution environments by leveraging the Common Intermediate Language as defined by ISO/IEC 23271:2006. The idea of using a common intermediate language to translate M source languages into N target languages dates back as far as 1958 with UNCOL (see also this). You can use any .NET language to write your application and compile it to a .NET assembly using an unmodified compiler. Volta then post-processes the generated MSIL inside the assembly based on declarative annotations in the code by automatically inserting all the boilerplate code necessary for running the application across multiple tiers and making asynchronous invocations. Finally, you deploy the modified assembly on any target execution environment that is capable of executing MSIL.
Live Labs summarize Volta:
- Language-independence. Write Volta code in any language that compiles into MSIL. For example, C#, VB, IronPython, etc.
- Leverage the entire .NET toolchain. Use libraries; the IDE, Intellisense, auto-complete, snippets; FxCop; profiler; class browser; ILDASM; and so on.
- Low entry barrier. Reduce your learning burden; use “only the languages in the room.”
- Brown-field applicability. Volta-enable existing applications for the cloud.
- Beyond 2 tiers. Refactor to as many tiers as you need using exactly the same mechanisms recursively applied.
Download Volta CTP