SlideShare una empresa de Scribd logo
Introducción a Blazor
Introducción a Blazor
Vicente G. Guzmán Lucio
Senior Software Engineer
luciomsp@geeks.ms
@LucioMSP
Acerca de…
Java, .NET, Node.js
#GiraLatamSpeaker
Las aplicaciones web hoy en día
Las aplicaciones web hoy en día
#GiraLatamSpeaker
#GiraLatamSpeaker
Las aplicaciones web hoy en día
Las aplicaciones web hoy en día
#GiraLatamSpeaker
Java, .NET, Node.js
Las aplicaciones web hoy en día
#GiraLatamSpeaker
#GiraLatamSpeaker
WebAssembly (WASM)
#GiraLatamSpeaker
WebAssembly (WASM)
#GiraLatamSpeaker
WebAssembly (WASM)
#GiraLatamSpeaker
WebAssembly (WASM)
#GiraLatamSpeaker
WebAssembly (WASM)
#GiraLatamSpeaker
WebAssembly (WASM)
Demo - WebAssembly
¿Qué es Blazor?
Blazor es una plataforma de trabajo (framework) para la creación de
interfaces de usuario web interactivas del lado cliente con .NET
#GiraLatamSpeaker
• Framework de desarrollo para Single Page Applications
• Te permite crear interfaces de usuario web interactivas utilizando C# en lugar de Javascript.
• Las aplicaciones Blazor, se componen de componentes web reutilizables utilizando C#, HTML
y CSS.
• El código del cliente y servidor son escritos en C#, lo que permite compartir código y
bibliotecas.
• Es una característica de ASP.NET.
¿Qué es Blazor?
#GiraLatamSpeaker
• Sistema de componentes
• Implementación de componentes basada en MVVM
• Sistema de bindings
• Sistema de routing
• Sistema de inyección de dependencias
• Sistema de gestión de errores
• Sistema de plantillas para componer la UI
• Herramientas de compilación
• Herramientas de depuración
• ... etc.
#GiraLatamSpeaker
Podemos utilizar Blazor del lado del cliente en cualquier navegador que cuente con soporte
WebAssembly.
#GiraLatamSpeaker
¿Dondé se puede usar Blazor?
#GiraLatamSpeaker
¿Dondé se puede usar Blazor?
Soportado por la mayoría de navegadores modernos, incluidos dispositivos
móviles
Se utiliza código C#, en lugar de Javascript
Se pueden reutilizar bibliotecas escritas en .NET
Casi rendimiento nativo
Los mejores IDE´s de desarrollo
#GiraLatamSpeaker
¿Porqué utilizar Blazor?
#GiraLatamSpeaker
Blazor WebAssembly
Modelos de Hospedaje Blazor
#GiraLatamSpeaker
#GiraLatamSpeaker
Blazor client-side
Todos los recursos son descargados al navegador
• HTML, CSS y Javascript
• Archivos de la aplicación (Bibliotecas .NET Standard)
• .NET Runtime
No es necesaria una conexión a internet, una vez descargados los archivos
Se ejecuta en WebAssembly
#GiraLatamSpeaker
Blazor client-side
BENEFICIOS:
• Rendimiento casi nativo
• Se puede trabajar fuera de línea
• No se necesita de un servidor
• Se utilizan recursos del lado del cliente
• Se puede ejecutar en todos los navegadores modernos
#GiraLatamSpeaker
Blazor client-side
CONTRAS:
• Restringido a las capacidades del navegador
• El navegador hace todo el trabajo
• Toma más tiempo la descarga de los recursos
• No es buena opción para contraseñas
• No es compatible con navegadores antiguos
#GiraLatamSpeaker
Blazor client-side
Ejecutamos código .NET en el navegador
Necesitamos WebAssembly
Ventaja: Altamente escalable
Desventaja: Descarga del runtime .NET + DLLs
Resumen:
#GiraLatamSpeaker
Blazor client-side
Los recursos son procesados por el servidor, y no se descargan
bibliotecas .NET Standard, ni el .NET Runtime.
Utilizado para clientes “ligeros”
Conexión en tiempo real a través de Web Sockets
Acceso al framework ASP.NET completo
#GiraLatamSpeaker
Blazor server-side
BENEFICIOS:
• Una descarga pequeña
• Acceso al Framework ASP.NET completo
• WebAssembly no es necesario
• Acceso a bases de datos y almacenamiento seguro de claves
#GiraLatamSpeaker
Blazor server-side
CONTRAS:
• No hay soporte fuera de línea
• Se necesita un servidor ASP.NET Core
• Es un poco menos rápido que Blazor WebAssembly
#GiraLatamSpeaker
Blazor server-side
Demo – Modelos de Hospedaje Blazor
Preguntas del día a día
Reducir la dificultad inicial con la que se encuentran los profesionales .NET a la hora de empezar a construir
aplicaciones SPA.
Seguir utilizando el fantástico tooling existente en el ecosistema .NET.
Aprovechar y reutilizar código existente también en las capas de presentación.
Compartir directamente código entre cliente y servidor.
Y por supuesto, las derivadas al utilizar un lenguaje de primer nivel como C#.
#GiraLatamSpeaker
¿En qué se diferencia Blazor de otros frameworks SPA como Angular, React o Vue?
Pero si uso C# para programar mi SPA,
¿ya no puedo usar bibliotecas o código JS existente?
Desde código Blazor (C#) podemos invocar funciones JS.
Desde código JS podemos invocar métodos Blazor (C#)
#GiraLatamSpeaker
¿Preguntas?
/blazoresespanol
@BlazorMX
https://bit.ly/33WV081
#GiraLatamSpeaker
Comunidad
Curso – Introducción a Blazor
https://www.udemy.com/course/curso-blazor-gratis/
https://bit.ly/2W4RUtI
#GiraLatamSpeaker
http://vicenteguzman.mx
Sr. Software Engineer
Vicente Guzmán
/LucioMSP
¡GRACIAS!

Más contenido relacionado

PPTX
Grid Services includes OGSA,OGSI Architecture & Services
PDF
Zs 1009 kapetan miki - oklahoma dzek (enwil & emeri)(5 mb)
PDF
SEI | Conceitos básicos
PPTX
Unity Shader教學:Unity ShaderLab簡介 part2
PDF
اللغة الانكليزية للصف الثاني متوسط
PDF
MISTER NO Lib77 - Zlatno prijestolje
PDF
Guia de esteganografia practica
PDF
VTU 5TH SEM CSE OPERATING SYSTEMS SOLVED PAPERS
Grid Services includes OGSA,OGSI Architecture & Services
Zs 1009 kapetan miki - oklahoma dzek (enwil & emeri)(5 mb)
SEI | Conceitos básicos
Unity Shader教學:Unity ShaderLab簡介 part2
اللغة الانكليزية للصف الثاني متوسط
MISTER NO Lib77 - Zlatno prijestolje
Guia de esteganografia practica
VTU 5TH SEM CSE OPERATING SYSTEMS SOLVED PAPERS

La actualidad más candente (20)

PDF
Tex Lib Kol 023 - Poruka Ta-Hu-Naha.pdf
PDF
สรจักร ผีหลอก
PPTX
Untitled presentation (1).pptx
PDF
Zafiyet tespiti ve sizma yöntemleri
PDF
PDF
Operators in JAVA
PDF
Zagor Ludens 189 - Neistražena zemlja
PDF
Certificate 3 in Engineering - Mechanical
PPT
Network Performance Management
PDF
Manna dövlətinin yaranması və yüksəlişi
PDF
Zs 0308 teks viler - vatre u noci (scanturion & gzp & jock81 & ...
PDF
DBMS Unit - 8 - Database Security
PPTX
Zərfin mena növləri 1
PDF
Quran with Tajwid Surah 63 ﴾القرآن سورۃ المنافقون﴿ Al-Munafiqun 🙪 PDF
PDF
Khazina e-ruhaniyaat (june'2018)
PPTX
Windows File Systems
PDF
Zagor LUD 299 - Newfoundland.pdf
PDF
Cümlənin məqsəd və intonasiyaya görə növləri
PDF
DDBMS Paper with Solution
Tex Lib Kol 023 - Poruka Ta-Hu-Naha.pdf
สรจักร ผีหลอก
Untitled presentation (1).pptx
Zafiyet tespiti ve sizma yöntemleri
Operators in JAVA
Zagor Ludens 189 - Neistražena zemlja
Certificate 3 in Engineering - Mechanical
Network Performance Management
Manna dövlətinin yaranması və yüksəlişi
Zs 0308 teks viler - vatre u noci (scanturion & gzp & jock81 & ...
DBMS Unit - 8 - Database Security
Zərfin mena növləri 1
Quran with Tajwid Surah 63 ﴾القرآن سورۃ المنافقون﴿ Al-Munafiqun 🙪 PDF
Khazina e-ruhaniyaat (june'2018)
Windows File Systems
Zagor LUD 299 - Newfoundland.pdf
Cümlənin məqsəd və intonasiyaya görə növləri
DDBMS Paper with Solution
Publicidad

Similar a Introducción a Blazor (20)

PPTX
Net Maui Blazor Jornada ASP Net en Español.pptx
DOCX
Sistemas Operativos
PPTX
Software en la actualidad
PDF
Desarrollando de aplicaciones web modernas para Linux, Windows y Mac con ASP....
PDF
Frameworks de Desarrollo Web Grails
PPTX
Novedades .Net Core - NetBaires
PDF
Programación Reactiva, Javascript Isomorfo y Meteorjs !
PDF
los-diferentes-lenguajes-de-programacion-para-la-web
PDF
los diferentes lenguajes de programación para-la-web
PPTX
Web matrix razor_aspnetmvc_finalv2_techdays2010
PPTX
Microsoft Developer Day UNED-CR
PPT
ventajas y desventajas de programas informaticos
PPT
ventajas y desventajas de programas informaticos
PDF
DukeScript: HTML5 y JavaScript desde Java
PPTX
Dreamweaver
PPTX
Dreamweaver
PDF
2. Revision de Tecnologias Web.pdf
PPTX
PDF
WebMatrix.- Introducción y Helpers
PDF
Optimización de aplicaciones web con base de datos NoSQL In-Memory
Net Maui Blazor Jornada ASP Net en Español.pptx
Sistemas Operativos
Software en la actualidad
Desarrollando de aplicaciones web modernas para Linux, Windows y Mac con ASP....
Frameworks de Desarrollo Web Grails
Novedades .Net Core - NetBaires
Programación Reactiva, Javascript Isomorfo y Meteorjs !
los-diferentes-lenguajes-de-programacion-para-la-web
los diferentes lenguajes de programación para-la-web
Web matrix razor_aspnetmvc_finalv2_techdays2010
Microsoft Developer Day UNED-CR
ventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticos
DukeScript: HTML5 y JavaScript desde Java
Dreamweaver
Dreamweaver
2. Revision de Tecnologias Web.pdf
WebMatrix.- Introducción y Helpers
Optimización de aplicaciones web con base de datos NoSQL In-Memory
Publicidad

Más de Vicente Gerardo Guzman Lucio (20)

PPTX
Codificando con Superpoderes Python y GitHub Copilot.pptx
PPTX
AWS Community Day Colombia 2025 - 🗣️ Alexa Para Todos: Integrando Nova Micro ...
PPTX
Amazon Q Dev: Tu Compañero para Programar
PDF
SageMaker: Transformando el Aprendizaje Automático en AWS
PDF
GPPB2024 - Integrando ChatGPT en Power Automate
PPTX
Introducción a Amazon Alexa.pptx
PDF
Creando un Chatbot en C# con ChatGPT.pdf
PPTX
ChatGPT & Alexa.pptx
PDF
Bienvenido .Net MAUI - la evolución de Xamarin.Forms
PPTX
Conectando un Azure Bot con una Alexa Skill
PPTX
Azure DevOps y Blazor Web Assembly
PDF
Desarrollo de Interfaces de Voz: Alexa Skills
PPTX
PPTX
Infraestructura como Código en Azure
PDF
Diseño de Experiencias de Voz con Amazon Alexa
PDF
Alexa Skill con .NETCore & AWS Lambda
PPTX
Skills Nights - Vol.III - Primeros Pasos
PDF
¿Qué es la Nube?
PDF
Consumiendo un servicio externo con Axios en Alexa
PPTX
La era de los Chatbots
Codificando con Superpoderes Python y GitHub Copilot.pptx
AWS Community Day Colombia 2025 - 🗣️ Alexa Para Todos: Integrando Nova Micro ...
Amazon Q Dev: Tu Compañero para Programar
SageMaker: Transformando el Aprendizaje Automático en AWS
GPPB2024 - Integrando ChatGPT en Power Automate
Introducción a Amazon Alexa.pptx
Creando un Chatbot en C# con ChatGPT.pdf
ChatGPT & Alexa.pptx
Bienvenido .Net MAUI - la evolución de Xamarin.Forms
Conectando un Azure Bot con una Alexa Skill
Azure DevOps y Blazor Web Assembly
Desarrollo de Interfaces de Voz: Alexa Skills
Infraestructura como Código en Azure
Diseño de Experiencias de Voz con Amazon Alexa
Alexa Skill con .NETCore & AWS Lambda
Skills Nights - Vol.III - Primeros Pasos
¿Qué es la Nube?
Consumiendo un servicio externo con Axios en Alexa
La era de los Chatbots

Último (8)

PPTX
Derechos_de_Autor_y_Creative_Commons.pptx
PPTX
sistemas de informacion.................
DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
PDF
simulacion de teoria de control para maquinas
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PDF
modelos de control para sistemas digitales
PDF
DIMENSIONADO DE UNA INSTALACION FOTOVOLTAICA.pdf
Derechos_de_Autor_y_Creative_Commons.pptx
sistemas de informacion.................
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
Su punto de partida en la IA: Microsoft 365 Copilot Chat
simulacion de teoria de control para maquinas
AutoCAD Herramientas para el futuro, Juan Fandiño
modelos de control para sistemas digitales
DIMENSIONADO DE UNA INSTALACION FOTOVOLTAICA.pdf

Introducción a Blazor

Notas del editor

  • #5: Antes de responder la pregunta, de qué es blazor.. Analicemos una aplicación web típica hoy en día. Normalmente, cuando creamos una aplicación para servidor, utilizamos alguna plataforma bastante popular, llámese java, .net, node.js entre muchas otras. Esto es algo común hoy en día.
  • #6: También es común, que se escriban aplicaciones que se ejecutarán del lado del cliente, aplicaciones llamativas e interactivas. Esto para que la gente se quede en ellas el mayor tiempo posible.
  • #7: Estos desarrollos, comúnmente utilizan algún framework popular, tales como vue, angular, react, etcétera, pero aprender alguno de ellos, e incluso, varios de ellos conlleva una ruta de aprendizaje algo tardada.
  • #8: Y a final de cuentas, todos ellos, generan código javascript, el cual, admitámoslo, es algo lento y carece de características potentes que brindan lenguajes como C# ó Java.
  • #9: Aunado a esto, si volvemos a ver los lenguajes y frameworks que se utilizan para el backend y el frontend, vemos que son completamente diferentes. Es decir, existe un déficit de utilización de tu lenguaje preferido en el lado del frontend, lo que significa, que tendríamos que aprender, sí ó sí, Javascript, ya sea puro o con algún framework.
  • #10: Bueno, eso se acaba con la entrada de WebAssembly. Y seguramente ya se estaran haciendo la pregunta, de qué es eso de webassembly?
  • #11: Bueno, Web Assembly es un formato de instrucciones binario para una máquina virtual basada en una pila (stack).  Y que quiere decir esto, bueno, esto quiere decir que al requerir apenas esfuerzo para convertir el código en binario, esto hace que WebAssembly sea más rápido. Y seguramente viendo la imagen, debes pensar, ¡ja! Facilísimo de programar. Bueno, la gran ventaja que nos ofrece webassembly,
  • #12: Es que no hace falta trabajar con este lenguaje de programación, ya que, en la práctica, la aplicación web puede escribirse en C , C++ ó C#, la cual correrá en el sandbox del runtime javascript. Gracias a las empresas que se han esforzado para lograr llevar a cabo la conversion de nuestro codigo como C, C#, etc.. nosotros ya podemos escribir codigo en estos lenguajes, despues este pasa por un compilador, posteriormente se convierte en codigo binario y este se ejecuta de una manera instantanea en el navegador atraves de WebAssembly, que es uno de los sabores de Blazor.
  • #13: El código fuente, será compilado a código bytecode de webassembly, y será ejecutado a una velocidad casi nativa. Pero no sólo eso, sino que no se necesita un plugin como anteriormente se hacía con flash, ó Silverlight, ya que webassembly, es una característica soportada por todos los navegadores modernos, tanto de escritorio, como móviles, lo que se resume en que podrás ejecutar tu aplicación, en cualquier lugar. Pero cómo se ejecuta el código C#, que es el lenguaje que nos interesa, en webasembly?
  • #14: Bueno, esto es posible, ya que el rumtime de .net es compilado en código bytecode de webassembly. Este runtime, se ejceuta en el navegador, y esto permite que podamos ejecutar cualquier dll compatible con .net.
  • #15: Lo que nos permite entonces, ejecutar código C# escrito con Blazor, que se ejecutará directamente en el navegador. ---------------------------------------------
  • #17: Una vez que conocemos acerca de WebAssembly, y su importancia en el mundo blazor, ahora sí, es el momento de descubrir qué es realmente blazor. La definición por parte de Microsoft, nos dice, que blazor es un nuevo framework open-source (licencia Apache 2.0) que viene incluido de forma oficial en la nueva version de .NET Core 3.0 para desarrollar Single Page Applications (SPA) en el mundo .NET utilizando Razor y C#. Si vienes de otros frameworks que tienen el mismo objetivo, como Angular, Vue o React, todas estas características te sonarán porque ya las has visto antes. ¿Nada nuevo bajo el sol?
  • #18: Esto lo que significa, es que tenemos un nuevo framework, que nos permitirá crear single page application Este nuevo framework blazor, es simple y divertido de usar , ya que podemos escribir código con C# en lugar de javascript. Las aplicaciones Blazor están basadas en componentes web reutilizables, que podemos escribir con c#, html y css. Este tema lo veremos más adelante. De igual forma, la lógica del cliente y servidor son escritos en el lenguaje c#, lo que te permite compartir código y bibliotecas. Y por último, es una característica de ASP.NET. ------------------------------------------
  • #19: Pero obviamente, hay mucho por detrás de esta escueta descripción. Blazor incluye todo lo que necesitamos para construir aplicaciones profesionales en una única página (SPA) y de calidad:
  • #20: Podemos utilizar Blazor del lado del cliente en cualquier navegador que soporte WebAssembly. Hoy en día cualquier navegador moderno soporta WebAssembly, por lo que en la mayoría de los casos no deberías tener problemas sin embargo es bueno verificar el soporte WebAssembly y verificando las versiones de los navegadores que soportan WebAssembly y ver si tu no necesitas darle soporte a una de esas versiones de los navegadores.
  • #21: En la grafica podemos ver cuales son navegadores que soportan WebAssembly> Edge, FireFox, Chrome, Safari, Opera, iOS Safari, Android Browser, Opera Mobile, Chrome para Android, Firefox para Android y Samsung Internet. Como puedes ver los navegadores mas utilizados soportan WebAssembly, sin embargo es de entender que a veces necesitamos dar soporte a navegadores mas antiguos como Internet Explorer. Si este fuera su caso no podran utilizar Blazor del lado del cliente, además en la documentación oficial de Microsoft solamente listan a Internet Explorer 11 para ser soportada por Blazor del lado del servidor y aun asi se requiere el uso de Polley feels . En resumen, si necesitas solamente soportar navegadores modernos estas de suerte y puedes utilizar Blazor sin problemas. Sin embargo si necesitas darle soporte a navegadores como Microsoft Internet Explorer entonces probablemente no sea buena opción utilizar Blazor. https://caniuse.com/#feat=wasm
  • #22: Tal vez aún tengan dudas, sobre porqué deberian utilizar blazor, para despejar esas dudas, vamos a enumerar una serie de beneficios que obtendremos al utilizar blazor. En primer lugar, al ser webassembly una característica implementada en todos los navegadores modernos, tanto desktop como móivles, podemos desplegar nuestras aplicaciones desarrolladas con blazor en casi cualquier dispositivo. Si ya has trabajado anteriormente con .net, seguramente, reutilizar tus conocimientos con C# te será de gran utilidad, ya que no tendrás que volverte un experto en jvascript, o algún framework similar como vue, angular, etcétera. Otra gran característica, y que aporta muchísimo valor, es que podremos reutilizar bibliotecas escritas en .net. Esto quiere decir que podrás utilizar bibliotecas del repositorio de nugets, o bien, alguna que hayas escrito anteriormente con un propósito específico. Contaremos con un rendimiento casi nativo, Y por útlimo, tendremos a nuestra disposición, los mejores entornos de desarrollo, estoy hablando, de Visual studio. Estas características, seguramente como me pasó a mí, te han sonado fantásticas, no es cierto? ----------------------------------
  • #23: Blazor, inicialmente era un proyecto separado independiente en GitHub, pero finalmente Microsoft decidió integrarlo en ASP. NET Core 3.0. Éste nos brinda toda la potencia para construir aplicaciones web de tipo Single Page Applications capaces de ejecutar en cualquier navegador moderno que incluyen dentro del propio framework, inyección de dependencias, enrutamiento, componentes, seguridad, gestión de estado y errores, incluso interoperabilidad con JavaScript.
  • #24: Blazor es un marco web diseñado para ejecutar el lado cliente en el explorador en un entorno de tiempo de ejecución de .NET basado en WebAssembly ( Blazor WebAssembly) o el lado servidor en ASP.NET Core (Servidor Blazor ). Independientemente del modelo de hospedaje, los modelos de la aplicación y los componentes son los mismos. A continuación, vamos a hablar sobre estos modelos de hospejado un poco más a detalle.
  • #26: Hablemos primero de Blazor WebAsemby, en este tipo de proyecto, todos los recursos son descargados al navegador. Esto es, que los archivos htmls, css y javascript, si es que existen, son descargados al navegador. Adicionalmente, también son descargados el .net runtime, y cada uno de los archivos de la aplicación ó bibliotecas .net standard que requiera la aplicación. El .net runtime se ejecuta sobre web assembly, y esto nos proporciona un entorno en el cual, una vez se descarga la aplicación, no es necesaria una conexión a internet.
  • #27: Los principales beneficios de este modelo de hospejade, son, en primer lugar, que tenemos un rendimiento casi nativo. También, al ser descargados los recrusos al navegador, se puede trabajar con un concepto fuera de línea. De igual forma, no es necesrio un servidor, ya que podemos generar los archivos estáticos, y trabajar directamente con ellos. En este tipo de aplicaciones, también se utilizan los recursos del lado del cliente, y por último, como ya hemos mencionado antes, es posible ejecutar estas aplicaciones en todos los navegadores modernos.
  • #28: Si tuviéramos que enumerar algunos contras de blazor webassembly, serían los siguientes. Primero, al ser el navegador el que ejecuta toda la aplicación, estamos restringidos a sus capacidades. De igual forma, al ser descargado el .net runtime y todas las bibliotecas al mismo, esto provoca que exista un mayor tiempo en la descarga de los recursos. También, al ser descargada toda la información al navegador, no sería conveniente almacenar información sensible como contraseñas en este tipo de aplicaciones Y por último, al ser webassembly relativamente nuevo, los navegadores con mucha antigüedad no podrían ejecutar aplicaciones tipo blazor webassembly.
  • #29: Los principales beneficios de este modelo de hospejade, son, en primer lugar, que tenemos un rendimiento casi nativo. También, al ser descargados los recursos al navegador, se puede trabajar con un concepto fuera de línea. De igual forma, no es necesrio un servidor, ya que podemos generar los archivos estáticos, y trabajar directamente con ellos. En este tipo de aplicaciones, también se utilizan los recursos del lado del cliente, y por último, como ya hemos mencionado antes, es posible ejecutar estas aplicaciones en todos los navegadores modernos.
  • #30: El segundo modelo de hospedaje, se llama blazor server. En este modelo, los recursos son procesados por el servidor, y no se descarga ningún tipo de componente .net, ni el runtime .net. Va más enfocado en crear clientes ligeros, es decir, aplicaciones pequeñas que se descarguen rápidamente al navegador. La conexión con el servidor en tiempo real, se realiza a través de una conexión SignalR, con el uso de web sockets. Por último, gracias a que se ejecuta en el servidor, se tiene acceso al framework asp.net completo.
  • #31: Los principales beneficios de este esquema, son que En primer lugar, se realiza una descarga pequeña. Se tiene acceso al framework asp.net completo. No se requiere webassembly, por lo que los navegadores antiguos puede ejecutar este tipo de aplicaciones también. Y por último, podemos acceder a bases de datos y almacenar claves de una forma más segura.
  • #32: Pero también tenemos algunas desventajas. Primero, no tenemos un soporte a conexiones fuera de línea, es decir, siempre tendremos que tener una conexión activa a internet. De igual forma, necesitaremos sí o sí, un servidor asp.net core para ejecutar la aplicación. Y también, al necesitar de una conexión constante al servidor,la aplicación será menos rápida que blazor webassembly. Con esto no quiero decir que la aplicación se ejecutará lentamente, puede que ni siquiera notemos la diferencia de velocidad, pero siempre una aplicación blazor webaasembly se ejecutará más rápido que una aplicación tipo blazor server. Ahora que hemos visto teóricamente ambos hosting models, vamos a revisarlos de forma práctica. --------------------------------
  • #35: Visto el punto anterior, no parece que Blazor aporte mucho sobre los numerosos frameworks existentes que persiguen el mismo fin, la construcción de aplicaciones SPA y que, de hecho, se parecen bastante entre ellos. Pero Blazor añade un objetivo, tan ambicioso como atractivo, que es lo que lo hace único…. Y es que nosotros como desarrolladores no tendremos que utilizar JavaScript, sino C#, lo cual aporta las siguientes ventajas interesantes:
  • #36: No he dicho eso 😉 De hecho, sería una pena desaprovechar la gran cantidad de bibliotecas, componentes y código que la comunidad JavaScript ha estado aportando a la humanidad durante tantos años. Aunque Blazor está diseñado para que todo lo implementemos con C#, existen "puentes" que permiten utilizar JavaScript en dos direcciones, de forma que podemos aprovechar lo mejor de ambos mundos: Por ejemplo, si nos gusta Bootstrap, resulta sencillo crear componentes Blazor que encapsulen los componentes de este framework, tanto en lo relativo a presentación (marcado HTML) como el código de métodos y eventos JS que presentan ciertos elementos visuales, como los diálogos modales, pestañas, etc. De esta forma, los consumidores de estos componentes Blazor no tendrán que ver JS en absoluto, interactuarán con Bootstrap directamente desde C#, dando lugar a "componentes nativos Blazor".