Volta, Alternative à Silverlight et GWT

Le succès de GWT, le Google Webmaster Toolkit, qui permet de réaliser des applications Web portables en Java, à incité Microsoft à fournir une alternative sous .Net, c'est Volta dont une version d'essai vient d'être fournie en téléchargement par le Microsoft Live Labs.
C'est un outil complet avec IDE (Interface de développement), runtime, compilateur.

Mise à jour Décembre 2010: Tous les liens sur Volta sont brisés et aucune nouvelle du projet de la part de Microsoft.

Pourquoi Volta?

Le but est dans la portabilité. Volta produit un code standard fonctionnant sur des navigateurs différents. Mais plus que cela il y a la possibilité de faire fonctionner au choix le code sur le serveur ou sur le poste client. Les interactions étant prises en charge, réaliser des applications Web riches, similaire à des logiciels du bureau devient facile.
Volta grâce à sa portabilité fournit une couche d'abstraction permettant de consacrer les ressources au coté métier. Le frontal applicatif profitera du framework par la simplification de l'accès au système.

Comment cela fonctionne

Comme GWT, c'est un compilateur qui génère du code JavaScript et HTML, mais aussi un runtime coté serveur qui gère les interactions avec le navigateur.
L'application fonctionne en fait à partir du code intermédiaire MSIL généré lui-même à partir de sources en différents langages sous .Net. C'est un "recompilateur" qui effectue un refactoring sur des supports différents, coté serveur ou client.
Coté serveur, le CLR (Common Language Runtime) exécute une partie du code tandis que le navigateur fait fonctionner la partie client en JavaScript. La partie générée pour le client repose sur les standards du Web: Ajax, JSON.

Volta devrait être fourni en tant qu'extension à Visual Studio, et pourrait même y être incorporé en standard.

Volta et GWT

GWT se code en Java tandis que basé sur .Net, Volta permettra d'utiliser les différents langages portés sous .Net, y compris des langages de script simples d'emploi.
On peut avec Volta au choix alléger la charge du serveur ou au contraire lui faire faire ce que le client n'a pas la capacité de faire. Or le choix de l'exécution se fait après la compilation du code source, ce qui donne une grande flexibilité au système.
Il faut noter que GWT est un framework éprouvé utilisé en production par de nombreuses entreprises tandis que Volta est à ce jour expérimental et fourni à titre de démonstration.

Volta et Silverlight

Bien qu'ayant une finalité de base similaire, créer des applications Web, Volta diffère notablement de Silverlight dans la façon de développer les applications et dans les moyens logiciels fournis. Le programmeur Silverlight 1.0 opère directement sur du code HTML, JavaScript et XAML, tandis que la programmation pour Volta est proche du développement local. Cette différence se réduit partiellement avec Silverlight 2.0 qui permet d'utiliser d'autres langages .Net.

Limitations de Volta

Sur le coté client, ne pourront être exécutées que des classes sans héritage.
Réaliser de nouvelles application devrait être simple, mais porter des applications existantes sur le coté client beaucoup plus difficile.
Le multi traitement n'est pas supporté par la librairie.

Les démonstrations actuelles ne sont pas concluantes: lenteur et taille de fichiers énormes. Il ne s'agit que d'une version en développement.

Le site de Volta n'est pas sorti des labos de Microsoft. On ne sait pas trop si le projet est abandonné ou s'il se poursuit. Le site à disparu du Web.