Blazor versus herramientas JavaScript

JavaScript ha sido el lenguaje más popular y ampliamente utilizado para desarrollar aplicaciones de página única (SPA) en los últimos años. Este es el caso hoy. Pero recientemente Microsoft lanzó un nuevo marco llamado Blazor. Le permite escribir aplicaciones de navegador en C #. En este artículo, quiero hablar sobre qué es Blazor, quiero revelar las razones por las que se ha levantado mucho ruido en torno a este marco, lo voy a comparar con herramientas del ecosistema JavaScript.











¿Qué es Blazor?



Blazor (Browser + Razor) es un nuevo marco web lanzado por Microsoft. Le permite crear aplicaciones basadas en navegador usando la sintaxis de C # y Razor además de HTML y CSS.



Anteriormente, cualquiera que usara Razor tenía que ejecutar vistas de Razor en el servidor, generando así HTML que el navegador podía representar. Ahora, las vistas de Razor se pueden ejecutar en el lado del cliente.



Dado que Blazor usa WebAssembly , no es necesario instalar ningún complemento o complemento de terceros en el navegador para ejecutar el código correspondiente. Como resultado, resulta que con Blazor, puede crear partes de cliente y servidor de su aplicación en C #. La capacidad de compartir código y bibliotecas en el cliente y en el servidor facilita mucho la vida del desarrollador.



A continuación, se muestra un código de muestra utilizado en Blazor.





Código Blazor



¿Por qué hay tanto revuelo en torno a Blazor?



Blazor ha ganado una popularidad considerable en un tiempo bastante corto. Comenzaron a compararlo con los marcos de JavaScript más populares. Se habla mucho en Internet sobre el futuro del desarrollo web del lado del cliente, y Blazor también se menciona en esas conversaciones. Todo esto solo aumenta su popularidad. Propongo comprender las razones de esto y hablar sobre por qué se centra tanta atención en Blazor.



Como dije antes, la principal fortaleza de Blazor es su capacidad para desarrollar aplicaciones basadas en navegador en C #. En los últimos años, JavaScript (o TypeScript) ha sido el lenguaje principal para desarrollar aplicaciones web del lado del cliente. Es decir, si alguien es un programador de .NET, para desarrollar aplicaciones de pila completa para la web, necesita aprender JavaScript. Y con Blazor, puede escribir aplicaciones web tanto de front-end como de back-end en C #. Para mí, personalmente, esta es la principal fortaleza de Blazor.



El código escrito para Blazor, a diferencia del código JavaScript, se precompila en un formato intermedio antes de que llegue al navegador. Esta característica nos brinda algunas características excelentes al desarrollar aplicaciones de navegador de alto rendimiento. Y además, las aplicaciones Blazor son adecuadas para resolver tareas que requieren muchos recursos en el cliente. Por ejemplo, para crear archivos PDF o hacer que los algoritmos del juego funcionen.



Pero además de lo anterior, Blazor tiene otras características interesantes:



  • No necesita complementos de navegador para que Blazor funcione.
  • Al desarrollar para Blazor, puede depurar completamente su código .NET.
  • El marco aprovecha las últimas capacidades del navegador.
  • Blazor mantiene un modelo de desarrollo de interfaz fácil de usar.
  • El marco tiene un buen soporte para navegadores.
  • Blazor admite la inyección de dependencia.
  • El uso de Blazor le permite compartir código entre las partes cliente y servidor de sus aplicaciones.


Comparación de herramientas JavaScript y Blazor



Y ahora llegamos a la parte principal de este artículo. Busquemos una respuesta a la pregunta de si Blazor puede convertirse en un reemplazo de bibliotecas y marcos escritos en JavaScript. ¿Puede JavaScript mantener su posición actual? Quizás cualquier persona interesada en el estado actual del desarrollo de front-end le gustaría conocer las respuestas a estas preguntas. Creo que es demasiado pronto para sacar conclusiones finales, o incluso para hacer algunas suposiciones al respecto. Pero para acercarnos a la verdad, podemos comparar varias bibliotecas y marcos de JavaScript líderes con Blazor.



▍Comparación de Blazor vs React



Muchos consideran que React es la mejor biblioteca para desarrollar componentes web. Si bien es difícil comparar React y Blazor, debemos admitir que React es una biblioteca cuidadosamente diseñada que ha demostrado su valor para desarrollar proyectos reales. Se ha formado una poderosa comunidad de programadores en torno a React.



El ecosistema React está lleno de bibliotecas y marcos que facilitan el desarrollo de aplicaciones React optimizadas. Estas bibliotecas y marcos hacen de React un "lenguaje universal" que se puede utilizar para crear aplicaciones para la web, para la línea de comandos , para iOS y Android , y para el escritorio .



Blazor es relativamente nuevo en comparación con React. Pero no olvide que Blazor tiene un sólido sistema Razor detrás. Por tanto, no podemos decir que Blazor sea algo completamente desconocido para los programadores. Además, debido a que Blazor usa C #, hace que sea más fácil y rápido para los desarrolladores de .NET aprender este marco. Si bien React ha mejorado con el tiempo, brinda a los desarrolladores muchas oportunidades, y si bien React tiene muchas fortalezas, Blazor, a pesar de su corta edad, también tiene algo notable:



  • Los proyectos Blazor, como los proyectos React, se pueden implementar como archivos estáticos.
  • Puede usar paquetes NuGet en aplicaciones Blazor.
  • Cuando usa Blazor en el cliente y en el servidor, puede usar el mismo código (por supuesto, esto también es cierto cuando usa JS / TS).
  • Blazor tiene mecanismos de enrutamiento integrados, para validar la entrada del usuario, para procesar formularios.


Esta es solo una pequeña selección de las capacidades de Blazor. Pero, si se enfoca en la situación actual, podemos decir que si cierto equipo usa JavaScript con confianza, entonces definitivamente debería usar React. Por otro lado, Blazor es una gran opción para alguien con un mejor dominio de .NET que JavaScript al iniciar un nuevo proyecto web.



▍Comparación de Blazor vs Angular



El marco de JavaScript Angular también es popular para desarrollar aplicaciones de una sola página. Si lo compara con la biblioteca React, encontrará que incluye más funciones estándar. Angular proporciona al desarrollador de aplicaciones cliente una arquitectura MVC para simplificar el proceso de construcción y prueba de proyectos. Si compara Angular y Blazor, resulta que Angular tiene un lugar sólido en el desarrollo de front-end como un marco conocido y estable adecuado para la creación de aplicaciones reales. Además, Angular es totalmente compatible con las aplicaciones web progresivas, mientras que los motores del lado del servidor de Blazor aún deben evolucionar en esta dirección. Además, dado que Angular usa TypeScript, este marco es más cercano y más comprensible para los programadores de C # que los marcos y bibliotecas basados ​​en JavaScript.Dadas todas las fortalezas de Angular, no veo ninguna razón para que alguien con un buen conocimiento de TypeScript elija Blazor.



Salir



Blazor es sin duda un proyecto interesante que, a pesar de que apareció hace relativamente poco tiempo, merece cierta atención. Y la cuestión de si puede reemplazar las herramientas de JavaScript en el desarrollo front-end aún está abierta.



¿Has probado Blazor?






All Articles