¿Microsoft Blazor venció a Angular, React o Vue?


Blazor vs React Angular & Vue - Devathon - Medium

Esta es una pregunta que muchos desarrolladores se formulan hoy en día, debido a la gran evolución que ha presentado Blazor en los últimos meses, aunque si se busca responder esta pregunta, sinceramente y desde mi punto de vista diría que depende, pero si estás aquí buscando una respuesta más concreta, entonces mi opinión es NO.

Ya que Blazor todavía se encuentra en su etapa de crecimiento y a pesar de que muchos en la industria ya han incorporado marcos JS bien desarrollados y con un fuerte respaldo, esto seguramente puede cambiar en los próximos años.

Pero antes que nada, conozcamos Blazor y del por qué todo mundo esta hablando de él con respecto a que supere a los modernos frameworks JS.

Entonces, ¿qué es Blazor?

Blazor, es un nuevo framework open-source creado por Microsoft que viene incluido de forma oficial en la nueva versión de .NET Core 3.0 para desarrollar Single Page Applications (SPA) en el mundo .NET utilizando Razor y C#.

Su gran punto de venta es la capacidad de escribir experiencias de UI web ricas usando HTML, CSS y C# en lugar de JavaScript, algo con lo que muchos desarrolladores han estado esperando, sino es que soñando.

Sabemos que JavaScript ha sido el estándar de facto para el desarrollo web front-end desde su inicio, ya que han surgido diversos idiomas de transpilación a JavaScript a lo largo de los años para ayudar a mejorarlo y hacerlo más fácil de mantener, como por ejemplo CoffeeScript, Dart, Elm y Scala, por nombrar solo algunos.

TypeScript, un lenguaje diseñado por el legendario Anders Hejlsberg (el mismo hombre quien diseñó C#), encabeza la lista de los idiomas más queridos. Y es que como sabemos este agrega características cómo interfaces, clases, verificación de tipos en tiempo de compilación, incluso genéricos. Sin embargo, todas esas características y otras mas ya existen en C# y lo han hecho durante años. Para quien no ha usado C#, recordemos que es un lenguaje potente, flexible y rico en funciones.

Interesante pero, ¿qué puede hacer Blazor?

Blazor ya ha comenzado a demostrar que tiene potencial como un modelo de programación altamente eficiente y productivo fuera de su diseño original, como un competidor directo de los frameworks de Single Page Applications (SPA) de JavaScript.

Microsoft ya tiene varios experimentos en curso con Blazor, probándolo con aplicaciones de escritorio que utilizan Electron y WebWindow (una alternativa experimental liviana a Electron). Pero más recientemente, para el desarrollo de aplicaciones móviles nativas donde el modelo de programación Blazor se mezcla con los controles de formas nativas de Xamarin.

Básicamente, lo bueno de Blazor es que tiene una separación entre cómo calcula los cambios en la interfaz de usuario (modelo de aplicación/componente) y cómo se aplican esos cambios. Esto distingue a Blazor de otros marcos de UI como Angular o ReactJS/React Native que solo pueden crear UI basadas en tecnología web. Al utilizar diferentes renderizadores, Blazor puede crear no solo interfaces de usuario basadas en web, sino también interfaces de usuario móviles nativas.

Aunque esto requiere que los componentes se creen de manera diferente, por lo que los componentes escritos para renderizadores web no se pueden usar con renderizadores móviles nativos. Sin embargo, el modelo de programación es él mismo. Lo que significa que una vez que los desarrolladores estén familiarizados con él, pueden crear interfaces de usuario utilizando cualquier renderizador.

Blazor tiene dos modelos principales de alojamiento:

  • Blazor Server
  • Blazor WebAssembly

Aunque el modelo de alojamiento de Blazor Server es actualmente la única opción de producción compatible para el desarrollo de Blazor en este momento, WebAssembly es el modelo de alojamiento que generalmente atrae más interés. Al usar WebAssembly, podemos escribir nuestra lógica de interfaz de usuario usando C# y no JavaScript, también, Blazor WebAssembly está diseñado para ser un competidor directo de los marcos de JavaScript modernos. Por lo tanto, en cualquier lugar donde desee utilizar uno de esos marcos, puede considerar Blazor.

Aunque hay mucho trabajo detrás de escena, en este momento Blazor no está listo para pelear una batalla contra los frameworks JS modernos, aunque las cosas podrían cambiar en breve.

Por último, ¿qué opinas sobre este cambio? ¿Se está moviendo Microsoft hacia la dirección correcta? Déjeme saber su opinión en los comentarios.

Nota: Si desean aprender un poco más sobre esta tecnología, los invito a que se inscriban al curso que desarrolle junto con Héctor Pérez en Udemy:

Introducción a Blazor

Más información:

WebApps/Blazor
Channel 9 Welcome to Blazor

Transpilación: La transpilación es un tipo especial de compilador que traduce de un lenguaje fuente a otro fuente también de un nivel de abstracción parecido.

Un comentario en “¿Microsoft Blazor venció a Angular, React o Vue?

Deja un comentario