Ese es el original eslógan de la nueva herramienta de desarrollo Web salida de los laboratorios de Windows Live y de Microsoft Research. Se trata de Microsoft Volta, una serie de extensiones y bibliotecas para Visual Studio 2008, presentada oficialmente hace 4 días.
La novedad de este interesante proyecto es que permite desarrollar aplicaciones Web sin importarnos si su funcionalidad se va a ejecutar en el cliente (navegador) o en el servidor. Nosotros desarrollamos y es más tarde, antes del despliegue, cuando decidimos de qué forma distribuimos todas las capas de la aplicación. Así, podemos decidir que una determinada funcionalidad se ejecute en el servidor por ser más compleja y con menos necesidad de inmediatez, mientras qeu por otro lado indicamos que una página completa (toda su funcionalidad) se ejecute en el cliente. Para ello programamos todo en el lenguaje .NET que queramos (C#, VB.NET, JScript o, yo que sé, PHP) y sólo tenemos que marcar las clases que hemos creado con un atributo u otro para conseguir que se ejecute en uno u otro lado. Volta se encarga de todo lo demás, incluyendo comunicación, seriación, seguridad, sincronización, etc... entre todas las capas que intervienen.
Lo más impresionante de todo es quizá cómo hace la parte de código cliente: genera JavaScript compatible con los principales navegadores (Internet Explorer y Firefox, no soporta de momento Safari) directamente a partir del código MSIL generado a partir del lenguaje .NET elegido. Así, nos aisla completamente de ciertas complejidades inherentes al desarrollo Web en cliente, y podemos trabajar con el lenguaje .NET con el que nos sistamos cómodos. Es muy interesante ver cómo hace uso de los genéricos y los métodos extensores de .NET 3.5 para conseguir algunas funciones.
Es especialmente interesante la biblioteca específica que trae para crear aplicaciones con Windows Live Map. Lo convierte en algo realmente sencillo y que además podemos crear sin tener que pelearnos con JavaScript y cuestiones de lado del cliente.
Como pegas comentar que si queremos hacer cosas que lleven mucho cálculo al cliente (como un par de los ejemplos que facilita, que generan figuras 3D con XHTML pero que se programa en .NET!), la ejecución carga un poco la máquina del usuario, porque a fin y al cabo es JavaScript. Por otro lado la carga inicial de la aplicación es algo lenta porque aunque la página generada es por lo general muy pequeña, la carga en segundo plan de las bibliotecas de tiempo de ejecución tarda un poco.
Es un interesante proyecto al que debes darle al menos la oportunidad de descargarlo y probarlo.