Microsoft wriggles on Volta concerns

No Google clone

As the mad scientists in Microsoft's Live Labs threw the switch on an experimental developer toolset this week the company was already getting flack for copying somebody else - Google.

The technology preview of Volta, now available for tire kicking here, is designed to let developers build multitier web applications by applying familiar techniques and patterns from .NET application development.

Using Volta, developers design and build applications first as .NET client applications - historically, web applications begin life as server-side applications. Once the client application is developed, declarative statements assign classes and methods to run parts of the application on the server, and other parts on the client.

This declarative tier-splitting capability makes it possible to postpone irreversible architectural decisions about distribution until the last possible moment, according to group product manager for Microsoft Live Labs Alex Daley.

Volta uses MSIL to MSIL in post-compilation steps to split the code. MISL (Microsoft Intermediate Language) is used to compile applications written in .NET languages. "Instead of writing, say, JavaScript on the client, ASP.NET on the server, and writing all the required communication bindings, we automate the creation of all of that," Daley said.

In effect, Volta also extends the .NET platform to further enable the development of Microsoft’s “software plus services” idea using existing and familiar tools and techniques, Daley added.

Unveiled as a technology preview this week the forums began filling up in one day, and participants were reporting that they had built entire applications with the toolset. "One day - you can't ask for more than that," Daley commented.

Early interest in the tech preview also generated some initial criticism. A common complaint: Volta is a clone of the Google Web Toolkit (GWT). The GWT is an open-source Java development framework that compiles Java source code into JavaScript. Like the GWT, Volta provides a subset of the standard class library for code running on the client. But the differences between the two toolsets, according to Microsoft architect Erik Meijer, are striking.

"The GWT toolkit allows you to write your code in Java and run it in JavaScript," Meijer told The Register. "That's a one-to-one model. But Volta gives you a many-to-many solution. You can write the code in many languages and target many different execution engines."

Developers using Volta can use C#, Visual Basic, IronPython, and other .NET languages that utilize the framework's libraries and tools.

Also, the declarative tier splitting and automatic refactoring capabilities of Volta eliminate much of the manual labor that is still required by the GWT to create multitier applications, Meijer added. And because Volta leverages a common intermediate language, it supports end-to-end profiling.

Another concern: Volta doesn't work with Visual Studio 2005 - it requires Visual Studio 2008 that slipped out to MSDN subscribers last month.

Microsoft Live Labs is an applied research group within Microsoft, part of Ray Ozzie's organization. The Lab is dedicated specifically to advancing the state of the art of Internet-related technologies.

Volta is the result of a collaboration of product teams across Microsoft, Daley said. "This is one of those collaborations where we felt that there was huge potential to change the way developers think about building distributed applications," he said.®