MS Live Labs Volta Final Thoughts

The word "final" in this post ought to clue you in...  I'm not a huge Volta fan after playing with it.  That doesn't mean that you will dislike it... in fact if you are into using a language other than C#, you might totally dig it.

It's been written about in a few (well probably more than a few) other places.  It's the invention of Eric Meijer and what it does is convert IL code to Javascript and server side code.  It does for .NET what Google's GWT does for Java. 

For the most part you code against the normal .NET model with a few additional libraries.  You mark your code with attributes to tell the post-compiler where to deploy the code (either client or server).  It can import external javascript libraries as well (welll you can define functions that exist elsewhere). 

That's the short of it (if you have more interest go on over to http://labs.live.com for more detailed info). 

My final thoughts

I spent some time playing with the demos (mostly looking at the code, because there really wasn't a decent "getting started" in their docs).  I can say that I walked away somewhat unimpressed (mainly because I like Script# better).  I don't like the fact that Volta hides the model from me.  It's extremely easy, for instance, to call a .NET library and have the generated Javascript attempt to call the same library (see my earlier article on a Volta where I had a generated Javascript trying to make a registry call... and I was actually calling something else).

I think this is my major concern.  I like that Script#, in comparison, is really a language that mimics Javascript's model and uses C#'s syntax. 

Another issue I have with Volta is that I don't like having both server-side and client-side code living in the same project... I know someone might ask me about my ASP.NET Web forms preferences, but that is more about server-side code generating client side code.  With Volta we have the ability to generate both server-side and client-side code side by side in the same project.  I just think that will muddy the waters some.

I do like the cross-language nature of Volta.  I think that is a good thing, but I like that Script# compiles right to JS and Script# .NET (IL) assemblies (instead of compiling to IL and then convert IL to Js... it's probably just semantics for me though).  Script# isn't perfect either (BTW).  We'll see how Volta evolves, but right now Script# just feels more natural to me.

Print | posted on Thursday, January 03, 2008 10:04 AM

Feedback

No comments posted yet.
Title  
Name
Email (never displayed)
Url
Comments   
Please add 6 and 6 and type the answer here:
div>