Ocho razones por las que Microsoft Stack sigue siendo una opción viable
Publicado: 2022-03-11La vida era genial para los desarrolladores de Microsoft hace 10 años. Las empresas estaban contentas con usar Microsoft al 100 por ciento para sus proyectos de desarrollo. Con ASP.NET en el front-end, .NET de nivel medio y SQL Server en el back-end, todo funcionó muy bien en su mayor parte. Cuando no lo hicieron, los desarrolladores simplemente lo aceptaron como algo que venía con el territorio. Microsoft estaba casi dirigiendo el programa. Luego, a fines de la última década, el estatus de gorila de 800 libras de Microsoft comenzó a desmoronarse. Tal vez se debió a la introducción del iPhone y a que Microsoft perdió el cambio a los dispositivos móviles, o tal vez se debió a la proliferación de proyectos de código abierto, pero las cosas cambiaron, y hoy en día es necesario convencer a esas mismas empresas de que optar por Microsoft Stack es una buena idea. Este artículo presenta ocho razones a favor de quedarse con la pila de software de Microsoft.
Razón #1: .NET sigue siendo uno de los mejores
Presentado hace más de 10 años, .NET Framework tiene muchas funciones y ha sido probado exhaustivamente. Si bien era un lugar común tener que combinar el desarrollo nativo con el código administrado en los primeros días de .NET, la gran mayoría de las tareas de desarrollo son compatibles hoy en día. Incluso empresas como Oracle lanzaron componentes que son 100 por ciento código administrado por .NET (es decir, controlador administrado por ODP.NET) para interactuar con sus productos. .NET API es coherente, está bien documentada y la utilizan millones.
La base de conocimientos disponible a través de MSDN, StackOverflow y miles de foros y blogs es enorme. En mis años de desarrollo en .NET, no puedo recordar una instancia en la que me quedé atascado por mucho tiempo en un error de marco; cada vez, alguien ya había experimentado, investigado y publicado una respuesta, no siempre la respuesta que esperaba, pero aun así algo que me hizo avanzar. Con el próximo lanzamiento de 2015, .NET Core será de código abierto y estará disponible en sistemas que no sean Windows.
Razón #2: ASP.NET ha evolucionado
Mirando hacia atrás en la pila tradicional de Microsoft de web a base de datos de hace 10 años, es interesante ver qué partes sobrevivieron la prueba del tiempo y qué partes se desvanecieron. Mientras que el back-end de la pila de Microsoft se mantuvo prácticamente sin cambios (todavía usamos el mismo conjunto de patrones y componentes, como Inyección de dependencia, Tareas, Linq, EF o ADO), el front-end, la pieza ASP.NET, vio un cambio fundamental de "hágalo a la manera de Microsoft" (es decir, formularios web) a "hágalo a su manera y use ASP.NET como plataforma". En la actualidad, ASP.NET es un marco basado en MVC que presenta una infraestructura robusta para autenticación, agrupación y enrutamiento que se integra con muchas tecnologías que no son de Microsoft, como Bootstrap y AngularJS. Los sitios ASP.NET se ven bien en una amplia gama de factores de forma, desde teléfonos hasta computadoras de escritorio, y sus capacidades de API web hacen que la exposición de los servicios web sea muy sencilla. El marco ha sido de código abierto durante varios años, por lo que si te quedas atascado en un problema, la fuente está disponible en GitHub. ASP.NET ha cambiado y ha cambiado para mejor.
Razón n.º 3: la simplicidad de la API web y el poder de WCF
Mi cita favorita de todos los tiempos es de Alan Kay, quien dijo: “Las cosas simples deberían ser simples; las cosas complejas deberían ser posibles”. Cuando Windows Communication Foundation (WCF) salió por primera vez en 2006, no era nada simple; los comportamientos, los puntos finales y los enlaces fueron abrumadores. Entonces, Microsoft lanzó Web API, un marco fácil de usar que hace que exponer los servicios web HTTP sea pan comido. Con unas pocas líneas de configuración, su API se convierte en un servicio web seguro "estándar de la industria".
Si su caso de uso no se ajusta al molde "estándar" y necesita un control total sobre cómo se expone su API a través del cable, siempre puede recurrir a WCF. Con la gran cantidad de opciones de configuración y ganchos, WCF le permite serializar sus datos de forma personalizada, registrar, interceptar, enrutar mensajes, usar punto a punto y colas, y mucho, mucho más. Web API, junto con WCF, cumple con los dos principios de la cita de Kay: si necesita un servicio web simple, está listo en minutos con Web API; si los requisitos de su servicio son complejos, "todo" es posible con WCF. Estas dos tecnologías brindan una cobertura integral de los escenarios de servicio y vienen preempaquetadas con el marco .NET.
Razón #4: SQL Server es tan sólido como siempre
Durante muchos años, parecía que el maremoto de nuevos lenguajes de desarrollo, marcos y patrones llegaba a través de los niveles frontal y medio y no afectaba al back-end de la base de datos. Después de todo, el buen viejo "SELECCIONAR" todavía se usa tanto hoy como hace 20 años. Supongo que esto se debe al hecho de que muchas empresas ven sus datos como el núcleo de su negocio, y mantener la integridad de ese núcleo supera con creces la emoción de probar "algo nuevo" en la capa de la base de datos.
SQL Server sobresale en su rol principal de guardián de datos con una miríada de características para transacciones, integridad referencial, copias de seguridad, duplicación y replicación, pero lo que diferencia a SQL Server de la competencia es lo bien que se integra con el resto de la pila de Microsoft. Para un desarrollo rápido, existe Entity Framework, actualmente en la versión 6, pasó la adolescencia y cumple bien su promesa de simplificar el acceso a los datos. Si necesita poder de cómputo, .NET Framework se carga en proceso con SQL Server, lo que significa que puede incrustar código .NET como procedimientos almacenados, funciones o agregados sin sacrificar el rendimiento. Combine eso con el hecho de que SQL Server 2014 viene con tablas en memoria, y puede encontrar algunas soluciones en tiempo real bastante ingeniosas que no podrían hacerse lo suficientemente rápido solo con SQL y tablas regulares. Después de años en la industria, SQL Server sigue estando en la cima de mi lista de RDBMS.
Razón #5: Es fácilmente comprobable
Muchas veces, trabajando en TI corporativa, vi que el software se convertía en estas cajas negras intocables porque no había pruebas y nadie quería meterse con el código por temor a "romper algo más". Luego, trabajé en sistemas que tenían miles de pruebas, y fue una gran sensación poder decirle a las empresas que "sí, podemos hacer estos cambios", años después de que se lanzó el software. La pila de Microsoft está diseñada teniendo en cuenta la capacidad de prueba. ASP.NET MVC tiene ganchos para la inyección de dependencias y, en la versión 5, la inyección de dependencias se incluirá en el propio marco. En el nivel medio, es una historia similar: usamos la inyección de dependencia para desasociar la implementación de la interfaz, lo que nos permite intercambiar tipos de producción con simulacros en el momento de la prueba. Incluso en el lado de la base de datos, hay herramientas de datos de SQL Server que vienen con plantillas para probar contra la capa de procedimiento almacenado. Las pruebas son una parte inseparable del proceso de desarrollo de software actual, y la pila de Microsoft viene bien equipada para esta nueva realidad.

Razón #6: Ecosistema de soporte elaborado
Cuando se trata de soporte, es bueno tener una variedad de opciones, comenzando con foros de la comunidad y terminando con un ser humano real trabajando en el sitio en su servidor. El ecosistema en línea para los productos de Microsoft es uno de los más grandes de la industria. Después de todo, Microsoft fue iniciado por Bill Gates, un desarrollador de software, quien vio la amplia adopción por parte de los desarrolladores como la clave para la proliferación de productos de Microsoft. Eso significó brindarles a estos desarrolladores mucho, mucho apoyo.
Microsoft fue uno de los primeros en animar a sus empleados a escribir blogs sobre la tecnología en la que estaban trabajando y, aunque el resto de la industria sin duda se ha puesto al día, la cantidad y la calidad de los videos instructivos, las guías y los artículos que provienen directamente de Microsoft en la actualidad siguen siendo muy impresionante. Esa capa de contenido en línea de calidad se complementa con una gran cantidad de ecosistemas de soporte basados en la comunidad, como StackOverflow, que no son tan consistentes en lo que respecta a la calidad del contenido, pero que, sin embargo, son mucho más útiles.
Por último, siempre existe la opción de levantar el teléfono y llamar al soporte de Microsoft. Rara vez tuve que usarlo, pero hubo un puñado de emergencias de producción cuando los desarrolladores de Microsoft analizaron los volcados del núcleo y salvaron el día. La gama de opciones de soporte es claramente un factor a favor de optar por la pila de Microsoft.
Razón #7: Microsoft se apega a sus productos
Hace algunos años, elegir Microsoft Silverlight como front-end para una aplicación parecía una opción válida, pero ya no es así. Con la tendencia móvil en pleno apogeo y los marcos de JavaScript dominando el espacio de front-end, Silverlight ya no es una opción factible; sin embargo, todavía cuenta con el soporte de Microsoft hasta 2021. Microsoft se mantiene firme, lo cual es bueno para aquellos de nosotros que tenemos que tomar decisiones tecnológicas sin tener una bola mágica que nos diga qué tendencia tecnológica dominará el panorama del software en el futuro. Ir con la pila de Microsoft garantiza que se invierta tiempo y dinero en tecnología que será compatible incluso si pierde el favor de la industria.
Razón #8: Paraguas de Visual Studio
Hace una década, pasaba alrededor del 50 por ciento de mi tiempo trabajando en Visual Studio y alrededor del 50 por ciento en otras herramientas. Hoy, la división es abrumadoramente a favor de Visual Studio. La visión de Microsoft de que Visual Studio sea una solución integral para hospedar IDE se está haciendo realidad con muchos productos de Microsoft y de terceros que ofrecen cierto nivel de integración con Visual Studio. Desde el desarrollo de bases de datos con SQL Server Data Tools hasta la creación de aplicaciones para iPad y Android con Xamarin, Visual Studio proporciona una experiencia de desarrollador familiar con una interfaz de usuario uniforme. Lo mismo se puede decir sobre trabajar con Microsoft Azure, una plataforma en la nube que abarca una variedad de servicios, desde alojamiento de bases de datos hasta servicios móviles.
Visual Studio ofuscó las complejidades de la infraestructura de nube distribuida haciendo que la experiencia de desarrollar aplicaciones en la nube sea consistente con la de desarrollar aplicaciones no alojadas en la nube. Todas las piezas parecen encajar muy bien bajo el paraguas de Visual Studio, lo que hace que el proceso de desarrollo general sea muy eficiente.
Microsoft Stack: lo mejor de ambos mundos
Hoy en día, hay muchas más opciones para escribir software de calidad en comparación con hace 10 años. Sin duda, eso es algo bueno porque la competencia obliga a los grandes jugadores, como Google, Apple, Amazon y Microsoft, a continuar innovando y no caer en la complacencia. Si bien Microsoft ha sido empujado desde la cima de la montaña por la evolución tecnológica de la última década, la empresa ha demostrado que está dispuesta a adaptarse y está en sintonía con las realidades de las tendencias tecnológicas actuales. ASP.NET adoptó otras tecnologías y metodologías, muchas de ellas de código abierto, y los formularios Web Forms originales pasaron a la historia. El marco .NET continúa evolucionando, rompiendo nuevas fronteras con bibliotecas para computación de varios núcleos y subprocesos múltiples. Con el lanzamiento inminente de 2015, el núcleo del marco será de código abierto y portátil para plataformas distintas de Windows, lo que es un paso en la dirección de la inclusión y la transparencia.
Estas mejoras bienvenidas provienen de una empresa que tiene procesos establecidos desde hace mucho tiempo para lanzar software probado, documentado y respaldado. Optar por la pila de Microsoft brinda la emoción de trabajar con lenguajes y marcos modernos, además de la estabilidad de contar con el respaldo de un gigante del software con décadas de experiencia en la industria del desarrollo. Es por eso que recomiendo la pila de Microsoft hoy.