Blazor Desktop

Blazor Desktop: como Electron para Javascript pero… ¿para .NET?

Dotnetsafer
Dotnetsafer

Blazor Desktop: Electron para .NET? 🤔

No hace mucho, Blazor WebAssembly era solo un experimento en tiempo de ejecución para C# en un navegador web Microsoft . Conociendo Microsoft , que ha dejado atrás muchos grandes proyectos corporativos, no se sabía qué esperar de Blazor . Con el paso del tiempo, Blazor se convirtió en un proyecto real y entró en producción en un tiempo récord. Ahora todos los rumores corren por Blazor Desktop.


A mediados de febrero, Microsoft lanzó la primera versión LTS de vista previa de .NET 6 para su lanzamiento en noviembre. Su presentación habló sobre Blazor Desktop , pero lo que más confundió a los desarrolladores fue que no mencionaron que la versión preliminar de .NET 6 no incluía esa característica.


Electron para aplicaciones .NET ✅

La pregunta que nos hacemos en este momento es…

  • ¿Qué es realmente Blazor Desktop?

Microsoft le gusta compararlo con Electron , que es el contenedor de escritorio para aplicaciones JavaScript, con el que funcionan aplicaciones como Slack . Electron hoy en día sigue siendo bastante popular a pesar de sus problemas y lo más curioso de todo es que está desarrollado por GitHub , que es propiedad de de Microsoft.

El punto es que Electron no solo se usa para ejecutar código JavaScript para páginas web, sino que también tiene una versión autohospedada de Node.js y una amplia variedad de extensiones que brindan a las aplicaciones JavaScript capacidades de escritorio. Como sabemos, no hay equivalente en el mundo de Microsoft …

  • ¿Cómo sería un Electron para Blazor al estilo de Microsoft?

La respuesta es WebWindow

WebWindow es un experimento de Steve Anderson que intentó crear un contenedor ligero para alojar aplicaciones Blazor . En los últimos días, Microsoft ha dejado caer que Blazor Desktop está inspirado en WebWindow .

¿Qué funciones tiene Blazor Desktop? 🤔

Para acostumbrarse a la idea, WebWindow hace lo que sugiere su nombre: Ventana de escritorio que muestra la interfaz de usuario web. Esto se genera a partir del propio sistema operativo, para dar un ejemplo, WebKitGTK se usaría en Linux , WebWiew2 en Windows y WKWebView en MacOs.

Es posible que ahora mismo esté pensando que no es innovador ver una página web en una ventana de escritorio. Pero no es la única función de WebWindow , también tiene un modelo de alojamiento para ejecutar aplicaciones Blazor.

La primera gran diferencia es que el contenedor WebWindow no utiliza WebAssembly . Puede ejecutar la misma aplicación Blazor en WebWindow de la misma forma que en una página web. Pero cuando usa una página web, se ejecuta con un .NET Runtime liviano que funciona con WebAssembly . Cuando hace lo mismo en WebWindow , el multiplataforma. NET Runtime se utilizará directamente. Esto asegura que un tiempo de ejecución nativo superará a la versión alojada de WebAssembly.

La segunda gran diferencia es que en una aplicación Blazor Desktop alojada en WebWindow no hay un servidor web integrado , en este caso utiliza .NET 100 % . Aunque por el momento no hemos visto cómo se implementará esto, pero si todo va según los planes de Microsoft, sería como usar Electron sin la necesidad de aprender Node .

La interfaz sigue siendo web 💻

Todo esto plantea una pregunta bastante obvia …

  • ¿Por qué utilizar Blazor Desktop si solo puede crear una aplicación multiplataforma en .NET?

El problema con todo esto es el front-end, ya que .NET 5 ofrece muchas herramientas para la interfaz de usuario (UWP, WPF, Windows Forms) pero no no es uno que funcione en ningún otro sistema operativo que no sea Windows . Blazor Desktop te permitirá programar el backend usando el .NET Runtime del que hablamos antes. Esto se combinaría con el modelo Blazor UI , luego trabajaría a través de WebWindow para administrar la UI.


🟢 Conclusión de Dotnetsafer:

Aún es pronto, pero hagamos un resumen de las posibles funciones de Blazor Desktop:

  • Tamaño de descarga más pequeño que Electron
  • Menos sobrecarga de memoria que Electron
  • Sistema de aplicación de escritorio con interfaz de usuario web multiplataforma
  • Mejor rendimiento nativo que Blazor WebAssembly

¿La parte mala?

Bueno, debería sentirse cómodo con el modelo de aplicación Blazor, ya que tiene mucha influencia de ASP.NET Razor y no se parece a ninguna de las herramientas para aplicaciones Windows .NET.

Y no solo lo es, Blazor Desktop es solo una consecuencia de .NET MAUI , un marco para acercar los modelos de interfaz de usuario de escritorio. También existe la posibilidad de utilizar WebWindow para crear aplicaciones híbridas que combinan el contenido de varias herramientas de interfaz de usuario. Para dar un ejemplo, imagine una ventana con controles WPF junto a una región de contenido Blazor .

Está claro que de la misma manera que a miles de personas les encantará, a muchas de ellas no les gustará. La mayoría de los desarrolladores siguen preguntándose por qué todavía estamos encadenados al modelo HTML y CSS como una superficie de representación para cada interfaz de usuario que creamos. Muchos de ellos también sueñan con un nuevo marco de interfaz de usuario de procesamiento y escritura rápida (basado en algo como XAML).

Lo que ha demostrado la experiencia de un modelo web es que con las extensiones nativas es mucho más fácil crear un nuevo modelo de interfaz de usuario. Aunque si esperas algo mejor, aún tienes Flutter de Google.

Mientras tanto, solo podemos esperar que .NET 6 nos brinde formas más confiables de desarrollar aplicaciones de escritorio similares a la web en cualquier escritorio, ejecutándose en un tiempo de ejecución familiar y escrito en C # completo . Por supuesto, esa posibilidad no parecía viable hace unos años.

Summary
Blazor Desktop: como Electron para Javascript pero… ¿para .NET?
Article Name
Blazor Desktop: como Electron para Javascript pero… ¿para .NET?
Description
Con Blazor Desktop, puedes programar el backend utilizando .NET, combinado con el modelo de interfaz de usuario de Blazor.
Author
Publisher Name
Dotnetsafer
Publisher Logo

0 Comments

Leave a Reply

More great articles

github copilot

GitHub Copilot: ¿La inteligencia artificial nos dejará sin trabajo?

Estoy seguro de que ha visto el anuncio de Copilot , el nuevo producto Github que utiliza Inteligencia artificial para…

Read Story
Protege tus aplicaciones de .NET

Las razones por las que deberías de proteger tus aplicaciones .NET

Muchas veces hemos escuchado que proteger tu aplicación .NET es uno de los aspectos más importantes en relación al software…

Read Story
net 6

.NET 6 Preview 2 (Notas de la versión + Nuevas funciones)

Anuncio de .NET 6 Preview 2 📰 El 11 de marzo de este año .NET 6 Preview 2 fue oficialmente…

Read Story
Arrow-up