SlideShare una empresa de Scribd logo
1 de 30
Luis Beltrán
• Microsoft MVP (AI, Developer
Technologies, Azure)
• Investigador en Tomás Bata University
in Zlín
• Docente en Tecnológico Nacional de
México en Celaya
@darkicebeam
luis@luisbeltran.mx
luisbeltran.mx
Blazor
Blazor
• Un framework web de .NET
que se ejecuta en el
navegador
• Usa C#/Razor para crear
• Se ejecuta en un runtime de
.NET implementado en
WebAssembly
• Browser + Razor = Blazor
1. Los archivos de código de C# y Razor se
compilan en ensamblados .NET
2. Los ensamblados y el runtime de .NET se
descargan en el explorador
3. Blazor utiliza JavaScript para arrancar el
runtime de .NET (Mono) cargando las
referencias de ensamblado necesarias
3. Blazor utiliza JavaScript para arrancar el
runtime de .NET (Mono) cargando las
referencias de ensamblado necesarias
4. Blazor permite la manipulación DOM/llamadas
a la API del navegador desde el runtime de .NET a
través de la interoperabilidad de JavaScript
C#
Render Tree Blazor
JavaScript
Change DOM
DOM
Event Trigger
C#
UI Differences
Blazor
JavaScript
Change DOM
DOM
Process Event
Blazor Hybrid
Aplicaciones híbridas con .NET y Blazor
Requisitos
• Visual Studio 2022 Preview con el workload de .NET MAUI instalado
• Microsoft Edge WebView2 para ejecutar una app nativa en Windows.
No se necesita si se usan los emuladores de Visual Studio.
• Habilitar aceleración de hardware (si se usa emulador de Android)
Estructura de la solución
MainPage.xaml
MauiProgram.cs
Demo
https://github.com/icebeam7/PokedexBlazorNetMauiApp
Beneficios
• Con Blazor, podemos usar .NET y C# para crear tanto la interfaz de usuario
web front-end como la lógica back-end
• Podemos usar el mismo conjunto de habilidades de C# tanto para la UI
como para la lógica de back-end, lo que acelerará el desarrollo y reducirá el
costo.
• Podemos desarrollar aplicaciones multiplataforma nativas con .NET MAUI
para Windows, Android, iOS, macOS, Web.
• Código compartido y diseño de interfaz de usuario coherente.
• Podemos utilizar un solo proyecto que será fácil de mantener y trabajar
• Podemos usar todas las bibliotecas .NET y características de C#
• Tecnología moderna y fuerte apoyo de la comunidad
Soporte
• .NET MAUI
• iOS 10 o superior
• Android 5 (API 21) o superior
• macOS 10.15 o superior (Mac Catalyst)
• Windows 10 version 1809 o superior (Windows 11 inclusive)
• .NET MAUI Blazor Apps
• iOS 14 o superior
• Android 7 (API 24) o superior
• macOS 11 o superior (Mac Catalyst)
Q & A
¡Gracias!
About Me:
https://about.me/luis-beltran

Más contenido relacionado

La actualidad más candente

عرض بوربوينت
عرض بوربوينتعرض بوربوينت
عرض بوربوينتata1404
 
Bench, a Framework for Benchmarking Kafka Using K8s and OpenMessaging Benchma...
Bench, a Framework for Benchmarking Kafka Using K8s and OpenMessaging Benchma...Bench, a Framework for Benchmarking Kafka Using K8s and OpenMessaging Benchma...
Bench, a Framework for Benchmarking Kafka Using K8s and OpenMessaging Benchma...HostedbyConfluent
 
YOW2018 - Events and Commands: Developing Asynchronous Microservices
YOW2018 - Events and Commands: Developing Asynchronous MicroservicesYOW2018 - Events and Commands: Developing Asynchronous Microservices
YOW2018 - Events and Commands: Developing Asynchronous MicroservicesChris Richardson
 
الشبكات السلكية واللاسلكية
الشبكات السلكية واللاسلكية الشبكات السلكية واللاسلكية
الشبكات السلكية واللاسلكية Dania Lŭcifer
 
Building a Large Scale SolarWinds Installation
Building a Large Scale SolarWinds InstallationBuilding a Large Scale SolarWinds Installation
Building a Large Scale SolarWinds InstallationSolarWinds
 
Overview of ZeroMQ
Overview of ZeroMQOverview of ZeroMQ
Overview of ZeroMQpieterh
 

La actualidad más candente (13)

RabbitMQ
RabbitMQ RabbitMQ
RabbitMQ
 
عرض بوربوينت
عرض بوربوينتعرض بوربوينت
عرض بوربوينت
 
Bench, a Framework for Benchmarking Kafka Using K8s and OpenMessaging Benchma...
Bench, a Framework for Benchmarking Kafka Using K8s and OpenMessaging Benchma...Bench, a Framework for Benchmarking Kafka Using K8s and OpenMessaging Benchma...
Bench, a Framework for Benchmarking Kafka Using K8s and OpenMessaging Benchma...
 
YOW2018 - Events and Commands: Developing Asynchronous Microservices
YOW2018 - Events and Commands: Developing Asynchronous MicroservicesYOW2018 - Events and Commands: Developing Asynchronous Microservices
YOW2018 - Events and Commands: Developing Asynchronous Microservices
 
الشبكات السلكية واللاسلكية
الشبكات السلكية واللاسلكية الشبكات السلكية واللاسلكية
الشبكات السلكية واللاسلكية
 
9 pilot projects rs final
9 pilot projects rs final9 pilot projects rs final
9 pilot projects rs final
 
Microservices
Microservices Microservices
Microservices
 
Ams project insights
Ams project   insightsAms project   insights
Ams project insights
 
webMethods Integration Server Introduction
webMethods Integration Server Introduction webMethods Integration Server Introduction
webMethods Integration Server Introduction
 
Building a Large Scale SolarWinds Installation
Building a Large Scale SolarWinds InstallationBuilding a Large Scale SolarWinds Installation
Building a Large Scale SolarWinds Installation
 
Proyecto de Traduccion CobIT5
Proyecto de Traduccion CobIT5Proyecto de Traduccion CobIT5
Proyecto de Traduccion CobIT5
 
Overview of ZeroMQ
Overview of ZeroMQOverview of ZeroMQ
Overview of ZeroMQ
 
Janus & docker: friends or foe
Janus & docker: friends or foe Janus & docker: friends or foe
Janus & docker: friends or foe
 

Similar a Creación de aplicaciones híbridas multiplataforma con .NET MAUI y Blazor

Introduction to .NET MAUI.pdf
Introduction to .NET MAUI.pdfIntroduction to .NET MAUI.pdf
Introduction to .NET MAUI.pdfLuis775803
 
Azure Tech Frogs La vida despues de Xamarin NET MAUI y el desarrollo de apps....
Azure Tech Frogs La vida despues de Xamarin NET MAUI y el desarrollo de apps....Azure Tech Frogs La vida despues de Xamarin NET MAUI y el desarrollo de apps....
Azure Tech Frogs La vida despues de Xamarin NET MAUI y el desarrollo de apps....Luis Beltran
 
NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017Diego Bersano
 
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo CabelloRealtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo CabelloPlain Concepts
 
Plainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time ApplicationsPlainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time ApplicationsCarlos Landeras Martínez
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsEsteban Saavedra
 
Azure Storage, Cognitive Services y Xamarin - Tepic Nayarit
Azure Storage, Cognitive Services y Xamarin - Tepic NayaritAzure Storage, Cognitive Services y Xamarin - Tepic Nayarit
Azure Storage, Cognitive Services y Xamarin - Tepic Nayaritenriqueaguilar
 
Web matrix session1
Web matrix session1Web matrix session1
Web matrix session1Gonzalo C.
 
Nativescript
NativescriptNativescript
NativescriptAutentia
 
Webinar 1 Intro a NET MAUI.pptx
Webinar 1 Intro a NET MAUI.pptxWebinar 1 Intro a NET MAUI.pptx
Webinar 1 Intro a NET MAUI.pptxLuis775803
 
Desarrollos de aplicaciones móviles con tecnologías web
Desarrollos de aplicaciones móviles con tecnologías webDesarrollos de aplicaciones móviles con tecnologías web
Desarrollos de aplicaciones móviles con tecnologías webJulio Alfaro
 

Similar a Creación de aplicaciones híbridas multiplataforma con .NET MAUI y Blazor (20)

Introducción a Asp.Net Mvc
Introducción a Asp.Net MvcIntroducción a Asp.Net Mvc
Introducción a Asp.Net Mvc
 
Introduction to .NET MAUI.pdf
Introduction to .NET MAUI.pdfIntroduction to .NET MAUI.pdf
Introduction to .NET MAUI.pdf
 
Azure Tech Frogs La vida despues de Xamarin NET MAUI y el desarrollo de apps....
Azure Tech Frogs La vida despues de Xamarin NET MAUI y el desarrollo de apps....Azure Tech Frogs La vida despues de Xamarin NET MAUI y el desarrollo de apps....
Azure Tech Frogs La vida despues de Xamarin NET MAUI y el desarrollo de apps....
 
Introducción a Blazor
Introducción a BlazorIntroducción a Blazor
Introducción a Blazor
 
Vuelven los "Pelochos"
Vuelven los "Pelochos"Vuelven los "Pelochos"
Vuelven los "Pelochos"
 
Autobuses de Madrid en tiempo real con Azure Relay
Autobuses de Madrid en tiempo real con Azure RelayAutobuses de Madrid en tiempo real con Azure Relay
Autobuses de Madrid en tiempo real con Azure Relay
 
NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017
 
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo CabelloRealtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
 
Plainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time ApplicationsPlainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time Applications
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web Grails
 
Introducción a Visual Studio .net
Introducción a Visual Studio .netIntroducción a Visual Studio .net
Introducción a Visual Studio .net
 
Azure Relay (Hybrid connections) & .NET Core ARM
Azure Relay (Hybrid connections) & .NET Core ARMAzure Relay (Hybrid connections) & .NET Core ARM
Azure Relay (Hybrid connections) & .NET Core ARM
 
Azure Storage, Cognitive Services y Xamarin - Tepic Nayarit
Azure Storage, Cognitive Services y Xamarin - Tepic NayaritAzure Storage, Cognitive Services y Xamarin - Tepic Nayarit
Azure Storage, Cognitive Services y Xamarin - Tepic Nayarit
 
C_Basico_Parte_I.pptx
C_Basico_Parte_I.pptxC_Basico_Parte_I.pptx
C_Basico_Parte_I.pptx
 
Web matrix session1
Web matrix session1Web matrix session1
Web matrix session1
 
5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web
 
Nativescript
NativescriptNativescript
Nativescript
 
Webinar 1 Intro a NET MAUI.pptx
Webinar 1 Intro a NET MAUI.pptxWebinar 1 Intro a NET MAUI.pptx
Webinar 1 Intro a NET MAUI.pptx
 
Desarrollos de aplicaciones móviles con tecnologías web
Desarrollos de aplicaciones móviles con tecnologías webDesarrollos de aplicaciones móviles con tecnologías web
Desarrollos de aplicaciones móviles con tecnologías web
 
Front end
Front endFront end
Front end
 

Más de Luis775803

TalentLand - Entendiendo tus documentos con Azure Form Recognizer.pptx
TalentLand - Entendiendo tus documentos con Azure Form Recognizer.pptxTalentLand - Entendiendo tus documentos con Azure Form Recognizer.pptx
TalentLand - Entendiendo tus documentos con Azure Form Recognizer.pptxLuis775803
 
IA Conversacional con Power Virtual Agents.pptx
IA Conversacional con Power Virtual Agents.pptxIA Conversacional con Power Virtual Agents.pptx
IA Conversacional con Power Virtual Agents.pptxLuis775803
 
Colombia Cloud Bootcamp - IA y Accesibilidad Pronunciation Assessment.pptx
Colombia Cloud Bootcamp - IA y Accesibilidad Pronunciation Assessment.pptxColombia Cloud Bootcamp - IA y Accesibilidad Pronunciation Assessment.pptx
Colombia Cloud Bootcamp - IA y Accesibilidad Pronunciation Assessment.pptxLuis775803
 
STEMWeek - Entendiendo tus documentos con Azure Form Recognizer.pptx
STEMWeek - Entendiendo tus documentos con Azure Form Recognizer.pptxSTEMWeek - Entendiendo tus documentos con Azure Form Recognizer.pptx
STEMWeek - Entendiendo tus documentos con Azure Form Recognizer.pptxLuis775803
 
Student Summit - Conoce más sobre mi carrera en IA y Datos.pptx
Student Summit - Conoce más sobre mi carrera en IA y Datos.pptxStudent Summit - Conoce más sobre mi carrera en IA y Datos.pptx
Student Summit - Conoce más sobre mi carrera en IA y Datos.pptxLuis775803
 
Gira Speaker Latam - IA y Accesibilidad con Pronunciation Assessment.pptx
Gira Speaker Latam - IA y Accesibilidad con Pronunciation Assessment.pptxGira Speaker Latam - IA y Accesibilidad con Pronunciation Assessment.pptx
Gira Speaker Latam - IA y Accesibilidad con Pronunciation Assessment.pptxLuis775803
 
Build After Party Bolivia - Hugging Face on Azure.pptx
Build After Party Bolivia - Hugging Face on Azure.pptxBuild After Party Bolivia - Hugging Face on Azure.pptx
Build After Party Bolivia - Hugging Face on Azure.pptxLuis775803
 
Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...
Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...
Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...Luis775803
 
SISWeek Creando un sistema de reconocimiento facial con Face API.pptx
SISWeek Creando un sistema de reconocimiento facial con Face API.pptxSISWeek Creando un sistema de reconocimiento facial con Face API.pptx
SISWeek Creando un sistema de reconocimiento facial con Face API.pptxLuis775803
 
Azure Guatemala.pptx
Azure Guatemala.pptxAzure Guatemala.pptx
Azure Guatemala.pptxLuis775803
 
Conoce las novedades de .NET MAUI en .NET 7.pptx
Conoce las novedades de .NET MAUI en .NET 7.pptxConoce las novedades de .NET MAUI en .NET 7.pptx
Conoce las novedades de .NET MAUI en .NET 7.pptxLuis775803
 
GAIB Philippines - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptx
GAIB Philippines - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptxGAIB Philippines - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptx
GAIB Philippines - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptxLuis775803
 
Power BI Summit 2023 - Embedding PowerBI reports in .NET MAUI mobile apps.pptx
Power BI Summit 2023 - Embedding PowerBI reports in .NET MAUI mobile apps.pptxPower BI Summit 2023 - Embedding PowerBI reports in .NET MAUI mobile apps.pptx
Power BI Summit 2023 - Embedding PowerBI reports in .NET MAUI mobile apps.pptxLuis775803
 
Towards Responsible AI - Global AI Student Conference 2022.pptx
Towards Responsible AI - Global AI Student Conference 2022.pptxTowards Responsible AI - Global AI Student Conference 2022.pptx
Towards Responsible AI - Global AI Student Conference 2022.pptxLuis775803
 
Mes de Datos Ciencia de Datos a otro nivel con Azure Machine Learning.pptx
Mes de Datos Ciencia de Datos a otro nivel con Azure Machine Learning.pptxMes de Datos Ciencia de Datos a otro nivel con Azure Machine Learning.pptx
Mes de Datos Ciencia de Datos a otro nivel con Azure Machine Learning.pptxLuis775803
 
GAIB Germany - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptx
GAIB Germany - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptxGAIB Germany - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptx
GAIB Germany - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptxLuis775803
 
Platzi Azure.pptx
Platzi Azure.pptxPlatzi Azure.pptx
Platzi Azure.pptxLuis775803
 
GAIB Latam - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptx
GAIB Latam - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptxGAIB Latam - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptx
GAIB Latam - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptxLuis775803
 
Virtual Azure Community Day - Workloads de búsqueda full-text Azure Search.pptx
Virtual Azure Community Day - Workloads de búsqueda full-text Azure Search.pptxVirtual Azure Community Day - Workloads de búsqueda full-text Azure Search.pptx
Virtual Azure Community Day - Workloads de búsqueda full-text Azure Search.pptxLuis775803
 
Towards Responsible AI - KC.pptx
Towards Responsible AI - KC.pptxTowards Responsible AI - KC.pptx
Towards Responsible AI - KC.pptxLuis775803
 

Más de Luis775803 (20)

TalentLand - Entendiendo tus documentos con Azure Form Recognizer.pptx
TalentLand - Entendiendo tus documentos con Azure Form Recognizer.pptxTalentLand - Entendiendo tus documentos con Azure Form Recognizer.pptx
TalentLand - Entendiendo tus documentos con Azure Form Recognizer.pptx
 
IA Conversacional con Power Virtual Agents.pptx
IA Conversacional con Power Virtual Agents.pptxIA Conversacional con Power Virtual Agents.pptx
IA Conversacional con Power Virtual Agents.pptx
 
Colombia Cloud Bootcamp - IA y Accesibilidad Pronunciation Assessment.pptx
Colombia Cloud Bootcamp - IA y Accesibilidad Pronunciation Assessment.pptxColombia Cloud Bootcamp - IA y Accesibilidad Pronunciation Assessment.pptx
Colombia Cloud Bootcamp - IA y Accesibilidad Pronunciation Assessment.pptx
 
STEMWeek - Entendiendo tus documentos con Azure Form Recognizer.pptx
STEMWeek - Entendiendo tus documentos con Azure Form Recognizer.pptxSTEMWeek - Entendiendo tus documentos con Azure Form Recognizer.pptx
STEMWeek - Entendiendo tus documentos con Azure Form Recognizer.pptx
 
Student Summit - Conoce más sobre mi carrera en IA y Datos.pptx
Student Summit - Conoce más sobre mi carrera en IA y Datos.pptxStudent Summit - Conoce más sobre mi carrera en IA y Datos.pptx
Student Summit - Conoce más sobre mi carrera en IA y Datos.pptx
 
Gira Speaker Latam - IA y Accesibilidad con Pronunciation Assessment.pptx
Gira Speaker Latam - IA y Accesibilidad con Pronunciation Assessment.pptxGira Speaker Latam - IA y Accesibilidad con Pronunciation Assessment.pptx
Gira Speaker Latam - IA y Accesibilidad con Pronunciation Assessment.pptx
 
Build After Party Bolivia - Hugging Face on Azure.pptx
Build After Party Bolivia - Hugging Face on Azure.pptxBuild After Party Bolivia - Hugging Face on Azure.pptx
Build After Party Bolivia - Hugging Face on Azure.pptx
 
Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...
Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...
Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...
 
SISWeek Creando un sistema de reconocimiento facial con Face API.pptx
SISWeek Creando un sistema de reconocimiento facial con Face API.pptxSISWeek Creando un sistema de reconocimiento facial con Face API.pptx
SISWeek Creando un sistema de reconocimiento facial con Face API.pptx
 
Azure Guatemala.pptx
Azure Guatemala.pptxAzure Guatemala.pptx
Azure Guatemala.pptx
 
Conoce las novedades de .NET MAUI en .NET 7.pptx
Conoce las novedades de .NET MAUI en .NET 7.pptxConoce las novedades de .NET MAUI en .NET 7.pptx
Conoce las novedades de .NET MAUI en .NET 7.pptx
 
GAIB Philippines - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptx
GAIB Philippines - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptxGAIB Philippines - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptx
GAIB Philippines - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptx
 
Power BI Summit 2023 - Embedding PowerBI reports in .NET MAUI mobile apps.pptx
Power BI Summit 2023 - Embedding PowerBI reports in .NET MAUI mobile apps.pptxPower BI Summit 2023 - Embedding PowerBI reports in .NET MAUI mobile apps.pptx
Power BI Summit 2023 - Embedding PowerBI reports in .NET MAUI mobile apps.pptx
 
Towards Responsible AI - Global AI Student Conference 2022.pptx
Towards Responsible AI - Global AI Student Conference 2022.pptxTowards Responsible AI - Global AI Student Conference 2022.pptx
Towards Responsible AI - Global AI Student Conference 2022.pptx
 
Mes de Datos Ciencia de Datos a otro nivel con Azure Machine Learning.pptx
Mes de Datos Ciencia de Datos a otro nivel con Azure Machine Learning.pptxMes de Datos Ciencia de Datos a otro nivel con Azure Machine Learning.pptx
Mes de Datos Ciencia de Datos a otro nivel con Azure Machine Learning.pptx
 
GAIB Germany - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptx
GAIB Germany - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptxGAIB Germany - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptx
GAIB Germany - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptx
 
Platzi Azure.pptx
Platzi Azure.pptxPlatzi Azure.pptx
Platzi Azure.pptx
 
GAIB Latam - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptx
GAIB Latam - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptxGAIB Latam - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptx
GAIB Latam - Tailoring OpenAI’s GPT-3 to suit your specific needs.pptx
 
Virtual Azure Community Day - Workloads de búsqueda full-text Azure Search.pptx
Virtual Azure Community Day - Workloads de búsqueda full-text Azure Search.pptxVirtual Azure Community Day - Workloads de búsqueda full-text Azure Search.pptx
Virtual Azure Community Day - Workloads de búsqueda full-text Azure Search.pptx
 
Towards Responsible AI - KC.pptx
Towards Responsible AI - KC.pptxTowards Responsible AI - KC.pptx
Towards Responsible AI - KC.pptx
 

Último

Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramDIDIERFERNANDOGUERRE
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 

Último (20)

Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 

Creación de aplicaciones híbridas multiplataforma con .NET MAUI y Blazor

  • 1.
  • 2. Luis Beltrán • Microsoft MVP (AI, Developer Technologies, Azure) • Investigador en Tomás Bata University in Zlín • Docente en Tecnológico Nacional de México en Celaya @darkicebeam luis@luisbeltran.mx luisbeltran.mx
  • 3.
  • 4.
  • 5.
  • 6.
  • 8. Blazor • Un framework web de .NET que se ejecuta en el navegador • Usa C#/Razor para crear • Se ejecuta en un runtime de .NET implementado en WebAssembly • Browser + Razor = Blazor
  • 9. 1. Los archivos de código de C# y Razor se compilan en ensamblados .NET
  • 10. 2. Los ensamblados y el runtime de .NET se descargan en el explorador
  • 11. 3. Blazor utiliza JavaScript para arrancar el runtime de .NET (Mono) cargando las referencias de ensamblado necesarias
  • 12. 3. Blazor utiliza JavaScript para arrancar el runtime de .NET (Mono) cargando las referencias de ensamblado necesarias
  • 13. 4. Blazor permite la manipulación DOM/llamadas a la API del navegador desde el runtime de .NET a través de la interoperabilidad de JavaScript C# Render Tree Blazor JavaScript Change DOM DOM Event Trigger C# UI Differences Blazor JavaScript Change DOM DOM Process Event
  • 15.
  • 16. Aplicaciones híbridas con .NET y Blazor
  • 17.
  • 18. Requisitos • Visual Studio 2022 Preview con el workload de .NET MAUI instalado • Microsoft Edge WebView2 para ejecutar una app nativa en Windows. No se necesita si se usan los emuladores de Visual Studio. • Habilitar aceleración de hardware (si se usa emulador de Android)
  • 19.
  • 20. Estructura de la solución
  • 23.
  • 24.
  • 25.
  • 27. Beneficios • Con Blazor, podemos usar .NET y C# para crear tanto la interfaz de usuario web front-end como la lógica back-end • Podemos usar el mismo conjunto de habilidades de C# tanto para la UI como para la lógica de back-end, lo que acelerará el desarrollo y reducirá el costo. • Podemos desarrollar aplicaciones multiplataforma nativas con .NET MAUI para Windows, Android, iOS, macOS, Web. • Código compartido y diseño de interfaz de usuario coherente. • Podemos utilizar un solo proyecto que será fácil de mantener y trabajar • Podemos usar todas las bibliotecas .NET y características de C# • Tecnología moderna y fuerte apoyo de la comunidad
  • 28. Soporte • .NET MAUI • iOS 10 o superior • Android 5 (API 21) o superior • macOS 10.15 o superior (Mac Catalyst) • Windows 10 version 1809 o superior (Windows 11 inclusive) • .NET MAUI Blazor Apps • iOS 14 o superior • Android 7 (API 24) o superior • macOS 11 o superior (Mac Catalyst)
  • 29. Q & A

Notas del editor

  1. .NET Multi-platform App UI (.NET MAUI) Interfaz de usuario para aplicación multiplataforma en .NET es un framework multiplataforma para crear aplicaciones móviles y de escritorio nativas con C# y XAML. integrados en .NET a partir de .NET 6 y posteriores. Utilizando .NET MAUI, puede desarrollar aplicaciones que se pueden ejecutar en Android, iOS, macOS y Windows desde una única base de código compartida.
  2. Todo comienza con el código de tu aplicación. Aquí es donde quieres pasar todo tu tiempo para que sea productivo. Esta es tu lógica de negocios. Para desarrollar se hace uso de un par de capas. La primera capa de la tecnología .NET MAUI. la segunda son los SDK de la plataforma nativa. Esto es lo que Google, Apple y Microsoft envían en sus plataformas para que tu puedas trabajar. Entonces, ¿cómo pasamos del código de nuestra aplicación a esas plataformas y ejecutamos en los dispositivos? Primero, necesitamos algo que pueda ejecutar código .NET, el Runtime de .NET. Para iOS, Mac OS y Android esto todavía usa Mono y usa CoreCLR en Windows A continuación, necesitamos una API .NET común contra la que podamos escribir nuestro código. Y esa es la Biblioteca de clases base o BCL. Lo nuevo en .NET 6 es que todos los runtimes de la aplicación tales como Mono y CoreCLR usan el mismo BCL que acabo de mencionar. Para usar .NET contra SDK de plataforma nativa, necesitamos una representación .NET de los SDKs. Hacemos esto vinculando una API .NET y una implementación a la API nativa. Cuando llama a un método nativo desde C#, es igual que si lo hubieras hecho desde Objective-C, Swift, Java, Kotlin, C++ u otro. La capa final es .NET MAUI. .NET MAUI proporciona una rica biblioteca de controles, diseños y servicios que funcionan en todas las plataformas admitidas, por lo que debe solo dominar una API para obtener todas las aplicaciones nativas con .NET MAUI.
  3. Toda esa complejidad se entrega en un solo framework que te da acceso a todo esto. Así que si aprendes a trabajar con .NET MAUI, puede concentrarse en lo único que es lo más importante: su código de aplicación.
  4. .NET MAUI es una tecnología open-source y la evolución de Xamarin.Forms, con escenarios extendidos de móvil a escritorio, con controles de interfaz de usuario reconstruidos desde cero para el rendimiento y extensibilidad. Si ya has usado Xamarin. Forms para crear interfaces de usuario multiplataforma, notará muchos similitudes con .NET MAUI.
  5. Blazor es una característica de ASP.NET que permite crear interfaces de usuario web interactivas con C# en lugar de JavaScript. Las aplicaciones blazor se componen de componentes de interfaz de usuario web reutilizables implementados con C#, HTML y CSS. Tanto el código cliente como el servidor están escritos en C#, lo que le permite compartir código y bibliotecas. Blazor utiliza estándares web abiertos sin plug-ins ni transpilación de código. La transpilación es el proceso de convertir código escrito en un lenguaje de programación a otro. La transpilación a JavaScript es un enfoque común para permitir que los lenguajes se ejecuten en el navegador, pero a menudo proporciona una funcionalidad limitada. Blazor funciona en todos los navegadores web modernos, incluidos los navegadores móviles. Las aplicaciones blazor pueden usar bibliotecas .NET existentes, gracias a .NET Standard .NET Standard permite usar el mismo código y bibliotecas en el servidor, en el explorador o en cualquier lugar donde se escriba código .NET. Why? Full Stack development using C# and .NET .NET advantages: High Performance Scalability Maintainability Cross Platform Visual Studio
  6. Si eres un desarrollador web, tal vez no te entusiasme aprender un nuevo lenguaje de marcado solo para desarrollar una aplicación móvil. Afortunadamente, Blazor Hybrid es una forma de escribir aplicaciones móviles usando la misma sintaxis que los otros proyectos de Blazor.
  7. Blazor Hybrid permite crear aplicaciones cliente nativas con los componentes de interfaz de usuario web de Blazor existentes. Comparte los mismos componentes de Blazor en dispositivos móviles, de escritorio y web al tiempo que aprovechas el acceso completo a las capacidades nativas del cliente. Usa Blazor Hybrid para crear aplicaciones multiplataforma con .NET MAUI o para modernizar las aplicaciones existentes de WPF y Windows Forms.
  8. En una aplicación Blazor Hybrid, los componentes de Razor se ejecutan de forma nativa en el dispositivo. Los componentes se representan en un control Web View incrustado a través de un canal de interoperabilidad local. Los componentes no se ejecutan en el explorador y WebAssembly no está involucrado. Los componentes de Razor cargan y ejecutan código rápidamente, y los componentes tienen acceso completo a las capacidades nativas del dispositivo a través de la plataforma .NET.
  9. La compatibilidad con Blazor Hybrid está integrada en.NET MAUI. .NET MAUI Blazor permite que tanto la interfaz nativa y web puedan pueden coexistir en la misma app y en una sola vista. .NET MAUI incluye el control BlazorWebView que permite representar componentes de Razor en una vista Web incrustada. Al usar .NET MAUI y Blazor juntos, puede reutilizar un conjunto de componentes de interfaz de usuario web en dispositivos móviles, de escritorio y web.
  10. WebView2 El control WebView2 de Microsoft Edge permite tecnologías web (HTML, CSS y JavaScript) integradas en aplicaciones nativas. El control WebView2 usa Microsoft Edge (Chromium) como motor de renderizado para mostrar el contenido web en aplicaciones nativas. Con WebView2, el código web se puede incrustar en diferentes partes de la aplicación nativa o se puede usar una única instancia de WebView para empaquetar la totalidad de la aplicación.
  11. /Pages Páginas o características basadas en componentes de Razor que se representarán dentro de un componente WebView. /Platforms Archivos específicos de la plataforma, incluidos recursos, configuraciones, lógica empresarial nativa o componentes de interfaz de usuario nativos. /Resources Recursos globales de aplicaciones y archivos estáticos. /Shared Componentes comunes de Razor y componentes de diseño utilizados en Blazor WebViews. /wwwroot Recursos web utilizados en Blazor Webviews. Ej: CSS, fuentes e imágenes. _imports.razor Sentencias Global Using para componentes de razor y páginas .App.xaml(.cs) La vista de aplicación de nivel raíz .Main.razor La vista y el enrutador Blazor a nivel de raíz .MainPage.xaml La vista predeterminada representada por la raíz (App.xaml) .Startup.cs Punto de entrada, arranque y configuración de la aplicación
  12. BlazorWebView utiliza un parámetro HostPage para identificar la página HTML, que arrancará la aplicación Blazor. En index.html, encontrará el documento raíz que aloja la aplicación Blazor dentro de la vista. A diferencia de Blazor WebAssembly, este archivo html inicializa Blazor usando blazor.webview.js en lugar de blazor.webassembly.js. Blazor no está usando WebAssembly, sino el runtime de .NET de la aplicación host.
  13. La página Counter es un componente simple decorado con la directiva page. Este componente muestra la composición básica de un componente de Razor (también conocido como Blazor), incluido el enrutamiento, el enlace de datos y el enlace/control de eventos. El componente de contador utiliza un botón HTML básico para incrementar un campo de contador que se muestra dentro de una etiqueta de párrafo. Las actualizaciones del DOM de BlazorWebView son manejadas por el marco de Blazor a través del enlace de datos.