Volta - Microsoft Live Labs
On December 5th last year Microsoft Live Labs announced the Volta technology preview, a developer toolset for building multi-tier web applications using existing and familiar tools, techniques and patterns. You architect and built 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 i n multiple environments without requiring tailoring of the application.
You will find the Volta technology preview downloads here. Note that Volta requires Visual Studio 2008. If you want to start playing around have a look at the quick start and the examples (the examples are target to JavaScript application and not optimizes in speed, long download times are expected).
You should run Fiddler while opening the examples to see the source code of the HTML web page and the required JavaScript files.
<script type="text/javascript"><!-- SearchPaths = ["./"];
var a = LoadAssembly("Quickstart.Client,Version=1.0.0.0,Culture=neutral,
PublicKeyToken=null");
var oldLoadHandler = window.onload;
window.onload = function() {
if (oldLoadHandler != null) {oldLoadHandler();}
a.EntryPoint();
}; // --></script>
Very interesting, JavaScript combined with assemblies. The quickstart example downloads more than 2 MB uncompressed JavaScript, the representation of a .NET Framework for JavaScript, the reason why it is currently very slow. When you click on a button an AJAX request is done with e.g. following response (JSON):
{
__type:"Microsoft.LiveLabs.Volta.MultiTier.ReturnValueInfo",
result:{__type:"System.String",value:"Hello Michael"}
}
Combined with Silverlight this could be a cool solution to develop client applications:
The final question that is frequently asked is how Volta relates to Silverlight. Is Volta meant to replace Silverlight? Are we trying to make JavaScript work for the same scenarios as Silverlight? Simply put, no. As others have observed, Volta is compatible with and is built to be complementary to Silverlight. The Microsft PressPass Q&A about Volta further explains that Volta is an MSIL to MSIL toolkit aimed at making writing distributed applications easier. Silverlight is an implementation of the .NET platform that therefore will automatically benefit from the advantages of the Volta toolkit. The technologies complement each other well, and we believe that amplifies and validates the importance of the complete .NET platform, including Silverlight.
I hope that all the teams around ASP.NET, ASP.NET AJAX, MVC and Silverlight sit together and combine their technologies.
3 Comments
Comments have been disabled for this content.
Matthew said
Michael, what I don't understand is that Microsoft is trying to do everything. I'm waiting years for something like AJAX (well, I think that ASP.NET AJAX is not the best for me). Silverlight is doing the same, seems to be nice but not perfect (until now).
Ohad Aston said
I tried volta, it is really bad. It doesn't work on Opera and Safari and creates too much JS. Maybe I was expecting too much.
Jukka-Pekka Keisala said
What is the difference with AJAX.NET and Volta? Is Volta going to replace AJAX.NET?