Agile Ajax

MS Volta: GWT for .NET

I missed this yesterday as I was immersed in the GWT conference. Over at MS Labs, you can see Volta, Microsoft's take on compiling to JavaScript, sort of like a GWT for the .NET platform.

You architect and build your application as a .NET client application,
assigning the portions of the application that run on the server tier
and client tier late in the development process. You can target either
web browsers or the CLR as clients and Volta handles the complexities
of tier-splitting. The compiler creates cross-browser JavaScript for
the client tier, web services for the server tier, and all
communication, serialization, synchronization, security, and other
boilerplate code to tie the tiers together. In effect, Volta offers a
best-effort experience in multiple environments without requiring
tailoring of the application.

Supposedly it compiles from MSIL (Microsoft Intermediate Language) to JavaScript, which allows you to compile from all of the .NET supported languages. Also, you can debug in VisualStudio.

There was a project call Script# that compiled C# to JavaScript, but this is a lot more substantial. Lots of docs and demos, too. I haven't kicked the tires on this yet, but I'll ask one of my .NET guys to check it out.

As for how it works under the covers:

In essence Volta is a recompiler. Volta works on MSIL rather than on a textual source language. Volta rewrites MSIL into any number of target languages, including, today JavaScript and MSIL itself. Rewriting, as a general technology, lets us delay permanent decisions about architecture, execution platform and browser until after our code is basically working. Furthermore, it frees us from having to express all these irreversible decisions in your source code. The result is a programming model that enables us to easily reshape a working application, and finally realizes the promise of one application running anywhere.

If you think about it, this is really not a threat to GWT, but a validation. If GWT is good for Java developers and Java projects, the same holds true for .NET. If you have C# developers, have them write C# for both the client and server side. Check as much as you can at compile time. Let the compiler deal with optimization, etc.

This, combined with the announcement on IE8 makes me more optimistic about MS's support for Ajax in the browser.

Topics: , ,

Leave a comment

Powered by WP Hashcash

About Pathfinder

  • We design and build extraordinary applications for companies looking to make the next great idea a reality.
  • learn more

Topics

WordPress

Comments about this site: info@pathf.com