Hola que tal a todos, muchas gracias por seguir de cerca esta secuencia de artículos dedicados a saber qué fue de algunos entornos de desarrollo emblemáticos de Microsoft. Si no han visto los artículos previos o quieren volver a leerlos son los siguientes:
- ¿Qué fue de Visual InterDev?
- ¿Qué fue de Visual J++?
- ¿Qué fue de Visual Foxpro?
- ¿Qué fue de Visual Basic?
- ¿Qué fue de Visual C++?
Concluimos esta saga de artículos con dos productos más de Microsoft que desaparecieron sin dejar rastro prácticamente, me refiero a WebMatrix y Cassini.
¿Qué era WebMatrix?
Microsoft WebMatrix (o WebMatrix a secas) fue un creador de sitios web y editor HTML orientado al desarrollo web. permite a los desarrolladores crear sitios web utilizando plantillas integradas o redactando directamente el código fuente del sitio a desarrollar al estilo de Visual InterDev. Tenía soporte para trabajar directamente ASP.NET, PHP, Node.js y HTML5 en versiones posteriores, teniendo como finalidad proporcionar a los desarrolladores web capacidades de codificación, personalización y publicación, todo en un solo lugar.
Actualmente se encuentra descontinuado, en 2011 reemplazó a ASP.NET WebMatrix para concluir sus operaciones en 2013 (última versión estable para ser descontinuado oficialmente en 2016). WebMatrix amplió las capacidades de ASP.NET Web Matrix ya que este estaba diseñado solamente para dar soporte al lenguaje ASP.NET y solo era compatible con bases de datos en SQL Server.
Sin embargo, a pesar de las aparentes limitaciones del proyecto este tenía varias peculiaridades que hicieron que programadores web lo apreciaran:
- Utilizaba un modelo basado en carpetas, no requería compilación en tiempo de diseño (entre otras características). Esto hacía que el desarrollo de proyectos no necesitaran mayores configuraciones haciendo que crear una solución web fuera especialmente simple.
- Incluía una pequeña herramienta de servidor web llamada "Cassini" que se ejecutaba en el ordenador local sin ninguna configuración en especial (nota: solo venía con ASP.NET WebMatrix, WebMatrix posteriormente solo funcionaba con IIS express). Esto permitía al desarrollador probar páginas web ASP.NET sin necesidad de Internet Information Services (IIS) y sin necesidad de fijar un puerto, simplemente tomaba uno al azar o que estuviera disponible.
- Incluía compatibilidad con FTP, no era necesario instalar nada adicional para desplegar nuestro proyecto (excepto configurar los datos del servidor destino) y convertiría a la herramienta de desarrollo en algo práctico para aficionados, que podían desarrollar y probar todo localmente para luego desplegar sus archivos en un servidor. Y lo mejor de todo: era gratuita.
Yo llegué a usar ASP.NET Web Matrix allá por el 2006 para dar mis primeros pasos programando en ASP.NET y realmente me pareció una herramienta excelente. Entre 2011 y 2012, las versiones WebMatrix 2 Beta y RC agregaron soporte para Node.js, plantillas de sitio web adicionales y soporte para publicación en sitios web Microsoft Azure y para septiembre de 2012, llegó el lanzamiento oficial de WebMatrix 2 y WebMatrix 3 en mayo de 2013. Parecía que todo iba viento en popa para WebMatrix, "¿entonces qué sucedió?".
El final para WebMatrix:
Microsoft hizo lo mismo que para Visual Basic y Visual Foxpro: en lugar de seguir mejorando un producto simplemente saca otro y descontinúa lo que ya está adoptado por los desarrolladores. En 2016, Microsoft anunció la suspensión de WebMatrix a favor de Visual Studio Code con soporte formal que finalizó el 1 de noviembre de 2017.
Esto es "típico" de Microsoft, no es la primera vez que hace algo similar, veamos algunos ejemplos:
- Microsoft lanzó MSN Messenger en 1999, pasó por varios cambios de nombre, ampliación de funciones y finalmente descontinuado en favor de Skype (hoy en día también descontinuado). En lugar de ampliar sus funciones y mantenerlo relevante y abarcar dos mercados a la vez mató al messenger y se centró en Skype que no estuvo a la altura de las necesidades durante la pandemia del COVID-19.
- Microsoft lanza MSN Groups a mediados de los años 90's (explotando en éxito a comienzos del 2000): esto permitió a cualquiera tener su comunidad en la red sin tener que instalar nada, bastaba con una cuenta de correo de Hotmail para unirse a alguna de ellas y tener un sitio web completo: incluía galería de fotos, foros, páginas personalizadas y más. "¿Qué sucedió?", Microsoft se centraría en el desarrollo de Windows Live Groups que no era compatible con su servicio anterior y por lo tanto no se podían migrar los grupos al nuevo formato. "¿Solución?", migrar los grupos clásicos a Multiply (administrado por un socio de Microsoft), por cierto, esta migración fue un desastre y nunca vi un grupo o comunidad migrado completamente, por lo que terminaron siendo abandonados antes de su cierre en 2009 para luego cerrar Multiply y posteriormente Windows Live Groups.
O sea, Microsoft es famoso por desarrollar productos innovadores, que captan usuarios y tienen buen potencial, pero cuando llega el momento de dar el siguiente paso prefiere abandonarlos y desarrollar un producto nuevo e intentar reconquistar a los antiguos usuarios. Estrategia usada en Visual Basic y Foxpro también.
¿Qué era Cassini?
Cassini, el pequeño servidor de ASP.NET que acompañó a ASP.NET WebMatrix fue el compañero ideal. Como mencionamos en la sección anterior, este mini servidor no requería ninguna configuración especial, permitía probar los desarrollos localmente sin necesidad de instalar un servidor con capacidades .NET aparte, pero su gran inconveniente era que no pretendía ser un servidor para producción, sino una herramienta para desarrollo y pruebas.
Su filosofía era muy sencilla: si estamos programando una aplicación, necesitamos un servidor para ejecutarla, pero no necesariamente necesitamos instalar todo IIS para hacerlo. Cassini podía ejecutar las aplicaciones ASP.NET directamente desde el equipo del desarrollador y escuchar en un puerto local que estuviera disponible.
Sin embargo, la situación cambió con la llegada de WebMatrix, este nuevo entorno ya no incluía a Cassini, en su lugar usaba IIS express (una versión reducida del servidor IIS (Internet Information Server), venía empaquetado por lo que el cambio no eran tan drástico, pero eso significó el final para Cassini.
¿Por qué desapareció Cassini?
Cassini cumplía perfectamente su cometido, pero tenía una limitación: no era IIS y cuando las aplicaciones ASP.NET comenzaron a depender cada vez más de características específicas de IIS, tenía sentido disponer de un servidor de desarrollo que se comportara de forma mucho más parecida al servidor real. IIS Express nació precisamente para solucionar ese problema y posteriormente estas soluciones se terminaron integrando a Visual Studio, aunque, como se explicó anteriormente, creo que Microsoft debería centrarse en mejorar su producto en lugar de simplemente abandonarlo o integrar sus características en otro producto que en ese momento ocupa todo su interés.
El legado de Cassini y WebMatrix:
Cassini y WebMatrix (anteriormente ASP.NET WebMatrix) desaparecieron para dar paso a las herramientas actuales de desarrollo web integradas en Visual Studio (mismo destino de Visual InterDev). Pero tuvieron cualidades especiales y que permitieron ganarse un espacio en el corazón de muchos desarrolladores.
Si bien, ninguno de los dos está activo actualmente, existen algunas alternativas que nos permiten recrear el funcionamiento del mini servidor:
- IIS Express: es el sucesor directo de Cassini, requiere instalación (aunque puede convertirse en portátil con pocos pasos), no requiere privilegios altos para ejecutarse.
- Kestrel: Es el servidor actual para desarrollar aplicaciones modernas con ASP.NET Core, es de código abierto y destaca por ser extremadamente rápido y multiplataforma. Sin embargo no nos serviría para desarrollos en ASP.NET clásico.
- XAMPP, MAMP/LAMP/WAMP/etc y muchos otros servidores portátiles de PHP + MySQL: El detalle aquí es que estos servidores portátiles solo funcionan con PHP, tienen integrado el servicio de MySQL (o MariaDB) y otros más permitiendo correr con sólo arrancar los servicios un servidor completo para probar nuestros desarrollos.
Conclusiones:
Cassini y WebMatrix fueron un par de herramientas de Microsoft importantes para los desarrolladores web a comienzos de los años 2000, permitiendo que muchos de nosotros diéramos nuestros primeros pasos en el desarrollo de sitios web usando ASP.NET como base. Es una lástima que estos hayan sido descontinuados, actualmente yo me he centrado exclusivamente en PHP como alternativa y la verdad ya no he regresado a ASP.NET.
Muchas gracias por leer esta saga de artículos que espero haya sido de su completo interés y agrado, hemos terminado con la misma y ahora nos centraremos en otros temas, pero no sin regresar en algunos meses (espero) con otras temáticas similares. Un agradecimiento a Code Magazine e i-programmer por las capturas de pantalla de ASP.NET WebMatrix / WebMatrix respectivamente, además de Envato tuts por la imagen de portada para este artículo.

