BLAZOR crea interfaces Híbridas de usuario Móviles y de Escritorio.

Publicado por José Hugo Larios en

Logo

.NET y Blazor acercan los mundos del desarrollo web y las aplicaciones móviles

windows-tecnologias

Microsoft se ha comprometido y va en serio con el mundo multiplataforma, después de décadas de generar tecnologías de uso exclusivo para Windows, por fin, se ha abierto al mundo de los sistemas operativos, y es quizás uno de los mayores cambios en su plataforma de desarrollo durante los últimos años. Desde que compró a Xamarin inició un cambio radical, que poco a poco nos regresó al entorno de desarrollo por Visual Studio, y hoy en día incluye GitHub en un extremo y .NET 6 multiplataforma en el otro, con aplicaciones que se ejecutan a escala en sistemas Kubernets en la nube y en dispositivos móviles. Recientemente analizando el desarrollo del sucesor de las herramientas de interfaz de usuario de formularios multiplataforma de Xamarin: APP UI Multiplatform .NET o MAUI. Relacionado con eso, BLAZOR es otra tecnología de interfaz de usuario de Microsoft diseñada para llevar esas aplicaciones web a escala a sus dispositivos y a su escritorio. Sobre la base del marco flexible de interfaz de usuario web de Blazor, Blazor Hybrid combina las dos tecnologías para ofrecerle una forma de crear interfaces de usuario que abarquen más que el escritorio y los dispositivos móviles, agregando soporte para la web con controles representados de forma nativa en todas las plataformas.

La web moderna y el desarrollo moderno van de la mano.

Hay mucho que me gusta de este enfoque de las interfaces de usuario. Por un lado, se basa en lo que considero que es la lección clave de la última década en la web: primero debemos diseñar nuestras API. Eso convierte a la interfaz de usuario en otro cliente de API, que utiliza REST y JSON para comunicarse con los microservicios. Entonces podemos tener muchas interfaces de usuario diferentes trabajando en un mismo back-end, todas usando las mismas llamadas y teniendo el mismo impacto en nuestro servicio. Simplifica el diseño y nos permite escalar arquitecturas de aplicaciones de manera predecible. Al mismo tiempo, un conjunto fijo de API significa que los propietarios de servicios pueden actualizar y actualizar su código sin afectar a los clientes. Ese enfoque condujo al desarrollo de conceptos como Jamstack(Jamstack combina filosofías de desarrollo modernas inspiradas en devops con páginas HTML estáticas de la vieja escuela para permitir a los desarrolladores crear sitios web rápidos más rápido), que utiliza JavaScript, API y Markup para ofrecer sitios web dinámicos y estáticos, lo que simplifica el diseño y la publicación de aplicaciones web. Blazor Hybrid toma esos conceptos y los lleva a su código mientras omite el navegador e incrusta una superficie de representación junto con el resto de su aplicación. Puede trabajar sin conexión cuando sea necesario, un modelo que se vuelve aún más interesante cuando se trabaja con entornos bloqueados como la plataforma educativa Windows 11 SE.

Blazor Hybrid en MAUI

El soporte de MAUI para Blazor Hybrid es una característica interesante de la nueva plataforma; lo extiende más allá de los clientes móviles y de escritorio tradicionales para que pueda compartir elementos de la experiencia del usuario con aplicaciones web. Desde el lado web, existe la opción de que las aplicaciones ASP.NET Core compartan código con otros proyectos, lo que reduce la carga de trabajo del desarrollador y le permite desarrollar una vez y luego distribuirlo en todos sus entornos de destino. Aunque es poco probable que los proyectos de ASP.NET Core sean parte del mismo proyecto que el código MAUI, aún pueden ser parte de la misma solución y el código se puede copiar entre proyectos según sea necesario. Blazor Hybrid se encuentra actualmente en versión preliminar, pero vale la pena explorarlo si desea ampliar el alcance de las aplicaciones web ASP.NET Core existentes. El primer paso obvio es crear una aplicación MAUI para hospedar su código, aunque no está limitado a un enfoque de interfaz de usuario de .NET, especialmente si está enfocado en entregar versiones de escritorio de aplicaciones web empresariales existentes a clientes de Windows.

Crear una aplicación Blazor Hybrid MAUI es como crear cualquier otra aplicación MAUI. El control WebView2 basado en Chromium aloja su código en Windows. Las plataformas que no son de Windows usan sus propios hosts de aplicaciones web para el contenido de Blazor. En la práctica, esto no debería tener ningún problema, ya que Android usa un navegador Chromium, y aunque afari alojado de iOS puede no tener todas las funciones de Chrome, debería ser compatible con los componentes de Blazor, habrá que realizar pruebas de confirmación.

Si configuró MAUI correctamente en Visual Studio 2022 Preview, debería encontrar la opción para crear una aplicación .NET MAUI Blazor. La creación de esta solución configura un nuevo proyecto de C# con las dependencias de plataforma necesarias para todos sus entornos de destino. El proyecto configura una interfaz de usuario básica de Blazor que está lista para ejecutarse y, por supuesto, lista para ser modificada.

Teniendo mucho código preconstruido nos ayuda, y muestra cómo hospedar un BlazorWebView en el XAML de su aplicación y cómo usar el contenido de Razor en HTML hospedado, sin tanta codificación por parte del desarrollador o del equipo desarrollador. Como la mayor parte de la lógica de la interfaz de usuario de su aplicación estará en el código ASP.NET Core Razor alojado en WebView junto con cualquier componente de BLAZOR, no hay mucho más que hacer antes de comenzar a escribir su interfaz de usuario web.

El valor aquí no es tanto en MAUI como en la ejecución del código Blazor del lado del cliente. MAUI proporciona un host multiplataforma conveniente para su código Razor, y si bien sus habilidades de C# funcionarán bien en ambos lados de la división de WebView, lo más importante es crear una página Blazor receptiva que pueda escalar entre teléfonos y PC de escritorio.

Blazor Hybrid en Windows .NET

No está limitado a MAUI para Blazor Hybrid. También pretende ser una carga de trabajo compatible con las herramientas estándar de la interfaz de usuario de Windows .NET para que pueda usarla dentro de marcos familiares como Windows Presentation Foundation o Windows Forms. Como está en versión preliminar, deberá ejecutar una versión preliminar de Visual Studio 2022 con las herramientas de desarrollo de escritorio de .NET instaladas. Una vez que haya configurado sus herramientas, cree una aplicación WPF estándar usando .NET 6 o posterior. (Puede usar la versión preliminar actual de .NET 7 si desea estar a la vanguardia del desarrollo de .NET). A continuación, instale el administrador de paquetes WebView WPF NuGet para hospedar su código Blazor. Una vez que esté instalado, puede comenzar a programar con el SDK de Razor para crear los elementos Blazor de la interfaz de usuario de su aplicación. Esto ahora le permite usar componentes de Blazor en su aplicación, usando las mismas técnicas que usamos para agregar HTML y JavaScript a las interfaces de usuario de WebView. Una vez que tenga el marco de una aplicación web en su lugar, puede comenzar a usar la sintaxis Razor de Blazor para agregar componentes y código en línea en su HTML. Si está familiarizado con la antigua sintaxis anterior a .NET ASP, entonces Razor le resultará muy familiar, usando C# en línea en su HTML junto con las directivas de Razor para agregar funcionalidad a los botones y cargar componentes de visualización que se controlan desde su código C#. No olvide editar el XAML de su vista para configurar un BlazorWebView que use la URL local de su contenido como página de inicio. Entonces debería estar listo para compilar y ejecutar cualquier código Blazor, usándolo para conectarse a servicios back-end o trabajar con contenido local, incorporando aplicaciones web en su código .NET.

Blazor es un framework de código abierto que incluye herramientas para crear aplicaciones web usando C#, HTML y CSS.1​ Esta es una alternativa a otras soluciones como Angular, React o Vue.js, entre otras. Una de sus principales características es la utilización del lenguaje C#, dejando en segundo nivel a JavaScript, tanto para el código del lado del cliente como para el código del lado del servidor. Blazor forma parte del proyecto ASP.NET, el cual provee herramientas para desarrollar sitios y aplicaciones web (además de que también fue creado por Microsoft).

A pesar de la confusión que podrían generar las descripciones de ASP.NET y Blazor, este último se enfoca en la creación de aplicaciones web con el objetivo de usar el lenguaje de programación C# en vez del lenguaje JavaScript, comúnmente usado en este tipo de aplicaciones.

Blazor, al igual que ASP.NET y ASP.NET Core, es uno de los frameworks web más usados.” Wikipedia

Conclusión

Esta tecnología por parte de Microsoft viene a generar código embebido, el cual ya es conocido, pero permitiendo no ser exlusivo de una plataforma que se ejecute sólo en pocos ambientes operativos, sino que viene a fortalecer el desarrollo ya conocido y poder ejecutar en diferentes ambientes ya sea tanto de escritorio como dispositivos móviles.

Los ambientes multiplataforma están teniendo cada vez más y más adopción entre las casas desarrolladoras por muchos factores entre los que destacan los costos, el tiempo y la fácil actualización y/o migración de los sistemas desarrollados así como su mantenimiento, permitiendo tener software de utilidad corriendo en los dispositivos nuevos sin conocer a cada uno por separado para poder implementar y/o generar soluciones de software tanto en la industria como soluciones particulares.

Logo DA
DA Desarrollo y Asesoría

DA Desarrollo y Asesoría | Tecnologías a tu servicio
Marketing Digital, Programación Web, Programación de Sistemas a Medida, Sistemas y Herramientas para Recursos Humanos, Implementación de Sistemas de Contabilidad, Facturación, Nóminas, Almacenes, Puntos de Venta, ECommerce, WordPress, Casa de Software, Automatización de Procesos, Asesor Fiscal, Contabilidad Electrónica,Automatizacón basada en Mapeo de Procesos con modelo ISO, Cursos de Capacitación Excel, Word, Power Point, Gestión y Administración del Tiempo, Inteligencia Emocional.

Nos encontramos en León Guanajuato, y damos asesorías en todo el Bajío y Corredor Industrial

Escrito por José Hugo Larios


0 Comentarios

Deja un comentario

Marcador de posición del avatar