Microsoft proporciona una herramienta para desarrollar aplicaciones nativas de Android e iOS en lenguajes de programación como .NET o C #.
Microsoft Technology Associate tiene como objetivo facilitar que los desarrolladores de dot net utilicen el potencial del último kit de herramientas de Blazor para crear aplicaciones web o aplicaciones nativas de iOS / Android. Microsoft había anunciado un 'edificio Blazor' experimental para Blazor, que es una característica de la plataforma ASP.NET que permite a los desarrolladores crear aplicaciones web interactivas e interfaces de usuario con la ayuda de C # en lugar de JavaScript. Esta vinculación de los componentes les permite crear aplicaciones móviles nativas utilizando .NET o C # para Android o iOS con la ayuda de una programación web familiar.
En el año 2019, Microsoft había mostrado una solución utilizando la misma tecnología en la que desarrolló una aplicación de escritorio Flutter, pensada para dispositivos móviles y escrita en dardo, pero en cambio con la ayuda de Blazor y .NET. Microsoft Blazor es un marco de interfaz de usuario web experimental de ASP.NET que tiene como objetivo llevar aplicaciones a todos los navegadores a través de WebAssembly. Permite a los desarrolladores crear verdaderas aplicaciones de pila completa y compartir código entre clientes y servidores sin ningún requisito de complementos o transpilación. Microsoft está experimentando con la plataforma para satisfacer los requisitos de los desarrolladores que están familiarizados con los conceptos básicos de la programación web y los patrones para crear aplicaciones nativas. En este artículo, exploraremos cómo Microsoft Blazor está revolucionando los servicios de desarrollo de sitios web en .NET.
¿Por qué Blazor es el nuevo bombo?
Blazor de Microsoft es el último marco de interfaz de usuario del lado del cliente derivado de la comunidad ASP.NET. El aspecto de mayor venta de esta plataforma es su capacidad para desarrollar experiencias de interfaz de interfaz de usuario web enriquecidas con la ayuda de CSS, HTML o C # en lugar de JavaScript. Tiene todo lo que la mayoría de los desarrolladores han soñado durante tanto tiempo. Como desarrollador de sitios web de Microsoft o asociado, si se ha mantenido al día con los nuevos desarrollos en el campo ASP.NET durante los últimos años, definitivamente ha oído hablar de Blazor. El marco de JavaScript ha sido la medida de facto desde sus inicios para el desarrollo web front-end y los desarrolladores nunca parecieron estar contentos con él. Y hubo muchos transpile y superconjuntos que han surgido en los últimos años como Dart, CoffeeScript, Elm, Scala, etc. para mejorar la plataforma JavaScript y hacerla más fácil de mantener. Sin embargo, Blazor ya ha comenzado el proceso, ya que tiene el potencial de ser una plataforma de programación eficiente y altamente productiva además de su diseño original y demuestra ser un contemporáneo directo de los marcos de desarrollo de aplicaciones de una sola página de JavaScript. Los objetivos principales de este marco son:
Creación de aplicaciones web / interfaz de usuario ricas e interactivas con la ayuda de C # en lugar de JavaScript
Comparta o recopile la lógica de la aplicación del lado del servidor o del lado del cliente desarrollada en el marco .NET
Representación de CSS y HTML de la interfaz de usuario para compatibilidad con navegadores, que incluye navegadores móviles.
Integrando las últimas plataformas de alojamiento como Docker y muchas más.
El marco Blazor es una solución de desarrollo de aplicaciones de una sola página que permite a los usuarios crear una interfaz de usuario web interactiva con la ayuda de C # en lugar de JavaScript. Inspirado en marcos de JavaScript como Angular, Vue o React, utiliza conceptos similares para desarrollar soluciones interactivas. Cualquier aplicación Blazor se desarrolla a partir de los componentes reutilizables de Razor, es decir, la sintaxis de marcado para C # y HTML. Con Blazor, Microsoft comparte varios experimentos que se están realizando y perforando con las principales aplicaciones de escritorio con la ayuda de Web Window. Pero los últimos para el desarrollo de aplicaciones móviles nativas son donde la programación de Blazor se combina con los controles de Xamarin.
Lea el blog: Microsoft está avanzando en su trabajo para enfocarse en el desarrollo de aplicaciones móviles con Blazor
¿Qué hace que Blazor sea una plataforma flexible para la mejor empresa de desarrollo web?
Blazor es arquitectura, ya que tiene la separación entre cómo se representan los cambios y cómo calcula los modelos de los componentes de la interfaz de usuario o los cambios de la aplicación. Esta característica distingue a esta plataforma de sus contemporáneas, es decir, otros marcos de desarrollo de interfaces de usuario como ReactJS, Angular o React Native que solo pueden desarrollar tecnologías web basadas en interfaces de usuario. Al utilizar múltiples representaciones para desarrollar soluciones, Blazor no solo puede desarrollar los componentes basados en la web, sino que también puede desarrollar interfaces de usuario móviles nativas. Además, no requiere que los componentes se desarrollen de manera diferente, por lo que los componentes desarrollados para renderizadores web no se pueden usar junto con otros renderizadores móviles nativos. Pero el modelo de programación sigue siendo el mismo, lo que significa que una vez que los desarrolladores se familiarizan con este modelo, pueden crear fácilmente interfaces de usuario con la ayuda de cualquier renderizador. Los componentes de su modelo de aplicación son:
Representador de WebAssembly
Renderizado Remoto
Renderizador de electrones
Procesador de enlace de Blazor para dispositivos móviles
Modelo de alojamiento : el modelo AP de Blazor en su núcleo es responsable de calcular y mantener los cambios de la interfaz de usuario en todos los servicios de desarrollo de ASP.NET. Sin embargo, los desarrolladores también pueden utilizar otros renderizadores para controlar la visualización y las actualizaciones. Estos modelos de renderizador de aplicaciones se conocen principalmente como modelos de alojamiento y, en el momento del desarrollo, generalmente hay cuatro modelos en Blazor. Ellos son-
Servidor Blazor
BlazorWebAssembly
Electrón Blazor
Ataduras Blazor
De estos modelos, Blazor Server es el único modelo que se clasifica como la producción admitida durante el momento de la redacción, mientras que Blazor Bindings y Electron están marcados como modelos admitidos experimentalmente.
Asociado de tecnología de Microsoft: características de Blazor
Ya se ha anunciado que el año 2020 definitivamente será un pináculo para Blazor de Microsoft y pronto se convertirá en la corriente principal. La plataforma es realmente simple y fácil de usar, ya que combina la conveniencia de Razor (navegador + Razor) junto con los conceptos ASP.NET. Blazor también ha optimizado los patrones increíbles en los marcos de JavaScript populares, como React o Angular, junto con el aprovechamiento de las plantillas que ofrecen las convenciones Dotnet o Razor. Blazor es una plataforma increíble que facilita la creación de interfaces de usuario web interactivas del lado del cliente con la ayuda del marco ASP.NET. Con la ayuda de la plataforma Blazor, los desarrolladores pueden reutilizar bibliotecas y códigos de cualquier segmento de aplicaciones del lado del servidor. Dado que también utiliza el marco ASP.NET para desarrollar aplicaciones interactivas del lado del cliente, se basa en el ya poderoso conjunto de marcos y bibliotecas. Algunas de las características útiles de esta plataforma que la hacen destacar son:
Tiene muchos componentes de interfaz de usuario prefabricados para que los desarrolladores puedan comenzar fácilmente a crear aplicaciones increíbles. Esta función es muy apreciada por todas las empresas u organizaciones de desarrollo web personalizado.
Este paquete no requiere tecnología o funciones de JavaScript. En cambio, las tareas se pueden realizar fácilmente con C #. Esto es para mejorar la productividad general de desarrolladores u organizaciones.
tiene soporte incorporado para autenticar los componentes de desarrollo de la aplicación para el marco .NET
Los desarrolladores pueden llamar a características de JavaScript desde la metodología ASP.NET con la ayuda de una función llamada 'interoperabilidad de JavaScript'
Todos los desarrolladores de sitios web de Microsoft encuentran atractivo Blazor porque lo desarrolla la comunidad ASP.NET como un marco para crear aplicaciones del lado del cliente que se ejecutan en WebAssembly. Ofrece los beneficios de un marco de aplicación de una sola página moderno y rico que utiliza la tecnología ASP.NET de un extremo a otro. Además, la idea de este marco puede combinar potencialmente las eficiencias de C #, y Razor es un proyecto web del lado del cliente que puede ejecutarse completamente en el navegador. Tiene todas las características que se requieren para crear un marco web moderno, algunas de las cuales se enumeran a continuación:
Modelo para desarrollar una interfaz de usuario componible
Carga en vivo del navegador durante la fase de desarrollo de la aplicación
Usando las últimas funciones de desarrollo web
Inyección de dependencia
Capacidad para ejecutarse en navegadores antiguos
Depuración completa de ASP.NET
Segmentos desarrollados de la plataforma de desarrollo web abierta sin necesidad de complementos
Herramientas de desarrollo de interfaz de usuario e inteligencia enriquecida
Representación del lado del servidor
Lea el blog : ¿Cuál es la diferencia entre C #, .NET, ASP.NET, Microsoft.NET y Visual Studio?
Cómo Microsoft Blazor se compara con el desarrollo web interactivo ASP.NET
Cualquier ASP.NET normal representa la interfaz de usuario como un bloque de cadenas. Blazor, por otro lado, desarrolló o renderizó un árbol pero no una cuerda. Este marco es una representación de un modelo de objetos de documento, lo que significa que mantiene los componentes en la memoria mientras Blazor mantiene la representación. Cualquier cambio o modificación que se realice en estos componentes puede desencadenar una actualización de la interfaz de usuario para los mismos elementos del Modelo de objetos de documento. Hay una gran diferencia entre ambos procesos que representan cadenas. En particular, la mejor empresa de desarrollo web utiliza códigos Blazor y no puede acceder directamente a los códigos del modelo de objeto del documento. Esta limitación funciona de manera diferente para ASP.NET core y Razor, ya que dependen del marco de JavaScript para obtener acceso completo a los elementos de la interfaz de usuario de las aplicaciones interactivas.
El complejo Blazor renderiza los árboles para volver a la representación anterior del Modelo de objetos de documento (DOM) y buscar las piezas particulares del mismo modelo. Posteriormente, este marco las actualiza, edita o elimina en consecuencia. El marco simplifica los cambios que se realizan en el modelo del documento o manipula el árbol de representación para ejecutar los cambios. Este mecanismo es algo que permite que el lenguaje C # funcione en la representación de aplicaciones interactivas del lado del cliente. Las ventajas de Blazor del lado del cliente son:
Para los servicios de desarrollo de sitios web , Blazor permite a los desarrolladores ejecutar directamente el código ASP.NET en el navegador. Este marco también rompe el monopolio del marco de JavaScript en una plataforma de pila completa, ya que debido a su asistencia, los profesionales de .NET no necesitan convertirse en políglotas de programación. También pueden desarrollar soluciones completas sin escribir códigos en JavaScript.
Los códigos de IU de Blazor se compilan en ASP.NET como un lenguaje intermedio y significa que el marco tiene el mismo potencial que el código JavaScript. Su modelo de compilación también puede crear una gran diferencia para las soluciones web de los navegadores basados en el rendimiento.
Los desarrolladores pueden validar fácilmente el código entre el servidor o las aplicaciones del lado del cliente. Por ejemplo, considere que una plataforma de servicios de desarrollo ASP.NET tiene la lógica de validación que se puede aplicar tanto al backend como al navegador. Blazor les permitió crear una biblioteca de clases en el estándar ASP.NET y compartirla en las aplicaciones del lado del servidor o del lado del cliente. Además, cualquier cambio en la lógica de validación se aplicará automáticamente a cada una de estas plataformas.
Servidor Blazor
Este modelo es uno de los modelos admitidos oficialmente en la actualidad y, con su ayuda, las aplicaciones pueden ejecutarse fácilmente en el servidor pero no en el navegador. Blazor Server utiliza la conexión SignalR para transmitir las actualizaciones de la interfaz de usuario desde el servidor al navegador. Este modelo de alojamiento de servidor se encuentra actualmente en la opción de producción respaldada por el estado para el desarrollo básico de Microsoft. Bajo este modelo, las aplicaciones orientadas a la plataforma se ejecutan en el servidor y en la parte superior del tiempo de ejecución de ASP.NET. Cuando los desarrolladores o usuarios cargan esta aplicación, primero se descarga un pequeño archivo JavaScript que establece una conexión bidireccional en tiempo real con el servidor (conexión SignalR). Cualquier interacción entre un usuario y la aplicación se transmite instantáneamente al servidor correspondiente con la conexión para el procesamiento del servidor. Una vez que el servidor ha terminado de procesar, las actualizaciones y los cambios de la interfaz de usuario se transmiten al mismo cliente y se aplican al modelo de objetos de documento. Microsoft ha desarrollado un algoritmo de alto rendimiento para calcular diferencias y transferirlas en un formato binario compacto. A diferencia de la mayoría de las otras aplicaciones web interactivas que suelen adoptar un enfoque sin estado, los modelos de aplicaciones de servidor Blazor mantienen el mismo estado en todo el servidor.
Para la comunidad de desarrolladores, requiere un enfoque de replanteamiento en algunos casos, pero en general, pueden usar conceptos similares a los que usan en las aplicaciones principales de ASP.NET. La mayor ventaja de este modelo es que no es necesario desarrollar otra interfaz de programación de aplicaciones para comunicarse entre el servidor y el cliente. Esto se debe a que todos los aspectos se ejecutan en el servidor para que una empresa de desarrollo web personalizado o un desarrollador pueda llamar directamente a estas funciones según su lógica. Debido a los procesos computacionales en el servidor, las soluciones web interactivas de Blazor Server representan un ajuste perfecto para los dispositivos de gama baja o clientes ligeros.
BlazorWebAssembly
Es un gran problema que los modelos de alojamiento obtengan más, pero por buenas razones. Este modelo proporciona competencia directa al desarrollo de aplicaciones interactivas JavaScript como React, VueJS o Angular. Con WebAssembly, los desarrolladores pueden escribir fácilmente la lógica y los códigos de la interfaz de usuario con la ayuda de C # en lugar de JavaScript. Cuando Microsoft anunció Blazor inicialmente, se trataba completamente de los modelos WebAssembly. Este modelo permitió que una aplicación se cargara primero en el formato de tiempo de ejecución y después de eso, cargó todo el ensamblado de la aplicación junto con sus dependencias. Las dependencias de BlazorWebAssembly incluyen el marco, System.dll, etc. pero el tiempo de ejecución está en formato binario y otros ensamblados están en el mismo formato para que los desarrolladores puedan usarlo en el desarrollo habitual de aplicaciones ASP.NET.
Blazor WebAssembly utiliza el código del intérprete para ejecutar o cargar una aplicación y, en este modo, el intérprete puede ejecutar una interfaz de usuario de la aplicación interactiva. La única parte de este proceso que se combina en el modo WebAssembly es su tiempo de ejecución mono. Su principal ventaja es el rendimiento y la compensación con archivos grandes o voluminosos. Algunas de las ventajas de WebAssembly en Blazor son:
compila los archivos estáticos, lo que significa que no es necesario que los desarrolladores consideren el tiempo de ejecución de ASP.NET en el servidor
La mayoría de las tareas en Blazor se descargan del servidor a sus clientes.
Las aplicaciones también se pueden ejecutar en modo fuera de línea o en estado
Facilita el intercambio de código donde los componentes de C # se pueden compartir de manera efectiva entre el servidor y los clientes.
Generalmente, en las aplicaciones ASP.NET, se utiliza un compilador justo a tiempo, pero WebAssembly no lo admite recientemente. Sin embargo, podría agregarse en su versión futura del estándar, pero por ahora, se usa otro para ejecutar el código ASP.NET. La plataforma asociada de Microsoft está trabajando en planes y una compilación Ahead Of Time (AOT) para compilar aplicaciones o ensamblajes de framework directamente en WebAssembly. Esta compilación da como resultado un tiempo de desarrollo de la aplicación interactiva eficaz y demostrará estar orientada al rendimiento en términos de tiempo de ejecución.
La línea de fondo
En este momento en el que ya hay mucha atención y discusión en torno a la entrada de Blazor en el desarrollo .NET, los desarrolladores se quedan con muchas opciones. En este artículo, hemos revisado la introducción y los conceptos centrales de Blazor, Sever, WebAssembly, etc. de Microsoft. También hemos discutido cómo se implementa este marco en el momento actual para el desarrollo de aplicaciones web interactivas en la plataforma ASP.NET. Blazor es una plataforma emocionante y tiene un margen más amplio de mejora, especialmente en términos de desarrollo y herramientas.
Además, WebAssembly es su tecnología principal que la mayoría de las empresas de desarrollo de aplicaciones o los desarrolladores front-end no pueden simplemente ignorar. Esta es una excelente plataforma para los profesionales de ASP.NET que les permite aprovecharla para convertirse en desarrolladores full-stack sin tener que aprender lenguajes de programación adicionales. Esta plataforma proporciona claridad cuando se trata de desarrollar una interfaz de usuario para un solo modelo de programación y se puede aprender fácilmente junto con la aplicación de los componentes del marco en cualquier lugar.