I downloaded the Microsoft Volta preview bits yesterday after writing up my initial take on the announcement, only to discover that my Visual Studio 2008 Beta 2 Virtual PC had expired, meaning that I couldn't actually try Volta out myself. Meanwhile, I looked into how Volta works. As documented here, Volta basically works as a recompiler for .NET 3.5 applications. As a developer, you build the whole application Meanwhile, I looked into how Volta works. As documented here, Volta basically works as a recompiler for .NET 3.5 applications. As a developer, you build the whole application as though it will run entirely on the client, and then you mark parts of it to belong to the server tier. Compile it. Volta then looks at the generated MSIL in your assemblies, and rewrites it “into any number of target languages, including, today JavaScript and MSIL itself.”According to Microsoft, the three techniques used are “refactoring, retargeting, and remodulating. Refactoring converts single-tier code into distributed, concurrent code as directed by user-supplied annotations. Retargeting converts MSIL code into code for other virtual machines. Remodulating tailors a single piece of code for multiple browsers.”The fact that Volta can retarget .NET applications for JavaScript means that you can write plain old .NET code to generate Ajax applications, much in the same way as GWT lets you write plain old Java code to generate Ajax applications. That opens up a number of interesting scenarios. It also opens up a number of interesting questions. How well will all of this work? Will it make developers’ lives easier, or add yet another layer of junk between us and our goals, and introduce hard-to-debug, hard-to-profile black boxes into our applications? Will it turn out to be the powerful, liberating tool that Microsoft’s write-up suggests, or will it turn out to primarily be a way to lock developers into writing for the .NET Framework?What do you think? Have you been able to try Volta yourself? Software Development