SlideShare una empresa de Scribd logo
1 de 11
WebAssembly,
Blazor y JavaScript,
una combinación
explosiva ;-)
Roberto Sanz Ciriano
@rsciriano
Backend developer Co-coordinador
Agenda
- Conociendo WebAssembly
(con algún ejemplo)
- Conociendo Blazor
(con algún ejemplo)
- Un ejemplo explosivo ;-)
He mezclado componentes Blazor en una
aplicación de reactjs y … vamos, que la he
liado parda
WebAssembly: ¿Qué es?
https://webassembly.org/
WebAssembly (abbreviated Wasm) is a binary instruction format
for a stack-based virtual machine. Wasm is designed as a portable
compilation target for programming languages, enabling
deployment on the web for client and server applications.
WebAssembly Web API
- November 2017 – Initial MVP from WebAssembly CG (Chrome, Edge, Firefox, and WebKit)
- 15 February 2018 - W3C First Public Working Draft
- 5 December 2019 - W3C Recommendation
WebAssembly: Principales características
• Eficiente, rápido y seguro
• Multitud de lenguajes de programación (C/C++, Go, Rust, C#, …)
• Su uso se extiende fuera del navegador
https://wasmer.io/
https://github.com/wasm3/wasm3
WebAssembly: Como funciona
https://...
DOM
WebAssembly
Javascript
myapp.js
wasm_exec.js
myapp.wasm
iTerm
$ tinygo build -o myapp.wasm ./myapp.go
Ejemplos
WebAssembly
https://github.com/rsciriano/wasm-samples
https://huningxin.github.io/opencv.js/samples/index.html
Face detection (asm.js) Face detection (wasm.js)
Blazor: Que es
Interactive web UI with C#
Blazor lets you build interactive web UIs using C# instead of JavaScript. Blazor apps are
composed of reusable web UI components implemented using C#, HTML, and CSS.
Both client and server code is written in C#, allowing you to share code and libraries.
• Pertenece al ecosistema .NET
• Desarrollo web moderno en C# (interacciones
en cliente, componentes, …)
• Dos sabores: Server y WASM
• Compatible con WebComponents, Angular y
reactjs
https://dotnet.microsoft.com/en-us/apps/aspnet/web-apps/blazor
Blazor: Como funciona
https://...
DOM
WebAssembly
Razor Components
.NET
https...
DOM
Razor Components
.NET
SignalR
(WS)
Blazor Server Blazor WASM
blazor.server.js
blazor.webassembly.js
WaveEngine powered by Blazor
https://evergine.com/es/
https://www.plainconcepts.com/es/wave-engine-web-net-6/
https://robotarmwasm6.azurewebsites.net/
Wave Engine Web mejora el rendimiento con .NET 6.0
Ejemplos Blazor
https://github.com/rsciriano/reactjs-blazor-sample

Más contenido relacionado

La actualidad más candente

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
 
Flujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontendFlujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontendLeonidas Esteban González
 
Desarrolla tu próxima app con Xamarin & MvvmCross
Desarrolla tu próxima app con Xamarin & MvvmCrossDesarrolla tu próxima app con Xamarin & MvvmCross
Desarrolla tu próxima app con Xamarin & MvvmCrossNicolas Milcoff
 
Serverless: La evolucion de la arquitectura a la nube
Serverless: La evolucion de la arquitectura a la nubeServerless: La evolucion de la arquitectura a la nube
Serverless: La evolucion de la arquitectura a la nubeQuito Lambda
 
Sácale todo el provecho a Stylus el mejor pre procesador de CSS
Sácale todo el provecho a Stylus el mejor pre procesador de CSSSácale todo el provecho a Stylus el mejor pre procesador de CSS
Sácale todo el provecho a Stylus el mejor pre procesador de CSSLeonidas Esteban González
 
Webinar: Introducción a Angular
Webinar: Introducción a AngularWebinar: Introducción a Angular
Webinar: Introducción a AngularArsys
 
Introduccion meteor.js
Introduccion meteor.jsIntroduccion meteor.js
Introduccion meteor.jsIcalia Labs
 
Presentación rails 3 Santo Tomás Concepción
Presentación rails 3 Santo Tomás ConcepciónPresentación rails 3 Santo Tomás Concepción
Presentación rails 3 Santo Tomás ConcepciónNelson Rojas Núñez
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web modernoSebastián Rocco
 
Rompiendo paradigmas
Rompiendo paradigmasRompiendo paradigmas
Rompiendo paradigmasZuriel Diaz
 
De escritorio a Javascript, nuestra experiencia desde las trincheras
De escritorio a Javascript, nuestra experiencia desde las trincherasDe escritorio a Javascript, nuestra experiencia desde las trincheras
De escritorio a Javascript, nuestra experiencia desde las trincherasRoberto Luis Bisbé
 
Introducción a ASP.NET MVC
Introducción a ASP.NET MVCIntroducción a ASP.NET MVC
Introducción a ASP.NET MVCSebastián Rocco
 

La actualidad más candente (20)

Sazonando la web con HTML5
Sazonando la web con HTML5 Sazonando la web con HTML5
Sazonando la web con HTML5
 
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
 
Flujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontendFlujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontend
 
Desarrolla tu próxima app con Xamarin & MvvmCross
Desarrolla tu próxima app con Xamarin & MvvmCrossDesarrolla tu próxima app con Xamarin & MvvmCross
Desarrolla tu próxima app con Xamarin & MvvmCross
 
Serverless: La evolucion de la arquitectura a la nube
Serverless: La evolucion de la arquitectura a la nubeServerless: La evolucion de la arquitectura a la nube
Serverless: La evolucion de la arquitectura a la nube
 
Visual studio codespaces + azure devops
Visual studio codespaces + azure devopsVisual studio codespaces + azure devops
Visual studio codespaces + azure devops
 
Sácale todo el provecho a Stylus el mejor pre procesador de CSS
Sácale todo el provecho a Stylus el mejor pre procesador de CSSSácale todo el provecho a Stylus el mejor pre procesador de CSS
Sácale todo el provecho a Stylus el mejor pre procesador de CSS
 
Html5 g@tv
Html5 g@tvHtml5 g@tv
Html5 g@tv
 
[Code Camp 2009] Introducción a ASP.NET 4.0 con Visual Studio 2010 (Ignacio L...
[Code Camp 2009] Introducción a ASP.NET 4.0 con Visual Studio 2010 (Ignacio L...[Code Camp 2009] Introducción a ASP.NET 4.0 con Visual Studio 2010 (Ignacio L...
[Code Camp 2009] Introducción a ASP.NET 4.0 con Visual Studio 2010 (Ignacio L...
 
ASP.NET MVC Workshop Día 1
ASP.NET MVC Workshop Día 1ASP.NET MVC Workshop Día 1
ASP.NET MVC Workshop Día 1
 
Webinar: Introducción a Angular
Webinar: Introducción a AngularWebinar: Introducción a Angular
Webinar: Introducción a Angular
 
Implementando una Arquitectura de Microservicios
Implementando una Arquitectura de MicroserviciosImplementando una Arquitectura de Microservicios
Implementando una Arquitectura de Microservicios
 
Meteor intro-2014 - spanish
Meteor intro-2014 - spanishMeteor intro-2014 - spanish
Meteor intro-2014 - spanish
 
Introduccion meteor.js
Introduccion meteor.jsIntroduccion meteor.js
Introduccion meteor.js
 
Presentación rails 3 Santo Tomás Concepción
Presentación rails 3 Santo Tomás ConcepciónPresentación rails 3 Santo Tomás Concepción
Presentación rails 3 Santo Tomás Concepción
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web moderno
 
Rompiendo paradigmas
Rompiendo paradigmasRompiendo paradigmas
Rompiendo paradigmas
 
De escritorio a Javascript, nuestra experiencia desde las trincheras
De escritorio a Javascript, nuestra experiencia desde las trincherasDe escritorio a Javascript, nuestra experiencia desde las trincheras
De escritorio a Javascript, nuestra experiencia desde las trincheras
 
Introducción a ASP.NET MVC
Introducción a ASP.NET MVCIntroducción a ASP.NET MVC
Introducción a ASP.NET MVC
 
HTML5
HTML5HTML5
HTML5
 

Similar a Webassembly, Blazor y Javascript, una combinación explosiva

Aprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScriptAprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScriptKarsarmi
 
Programación Reactiva, Javascript Isomorfo y Meteorjs !
Programación Reactiva, Javascript Isomorfo y Meteorjs !Programación Reactiva, Javascript Isomorfo y Meteorjs !
Programación Reactiva, Javascript Isomorfo y Meteorjs !ouuyeah
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoManuel Carrasco Moñino
 
Sesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & Flex
Sesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & FlexSesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & Flex
Sesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & FlexBiz Partner
 
Introduction to .NET MAUI.pdf
Introduction to .NET MAUI.pdfIntroduction to .NET MAUI.pdf
Introduction to .NET MAUI.pdfLuis775803
 
Web matrix session1
Web matrix session1Web matrix session1
Web matrix session1Gonzalo C.
 
Net Maui Blazor Jornada ASP Net en Español.pptx
Net Maui Blazor Jornada ASP Net en Español.pptxNet Maui Blazor Jornada ASP Net en Español.pptx
Net Maui Blazor Jornada ASP Net en Español.pptxLuis775803
 
Plataformas de desarrollo web
Plataformas de desarrollo web Plataformas de desarrollo web
Plataformas de desarrollo web Andy015
 
La importancia del frontend y backend en un proyecto
La importancia del frontend y backend en un proyectoLa importancia del frontend y backend en un proyecto
La importancia del frontend y backend en un proyectoAptitud Emprendedora
 
Tecnologia web
Tecnologia webTecnologia web
Tecnologia webfanyto
 
Plataformas de desarrollo web
Plataformas de desarrollo webPlataformas de desarrollo web
Plataformas de desarrollo webfany concepcion
 
GWT y SmartGWT - Introducción
GWT y SmartGWT - IntroducciónGWT y SmartGWT - Introducción
GWT y SmartGWT - IntroducciónVLASLOV
 
Análisis y planteamiento del problema
Análisis y planteamiento del problemaAnálisis y planteamiento del problema
Análisis y planteamiento del problemaGabriel Mondragón
 
Blazor, un nuevo framework .NET
Blazor, un nuevo framework .NETBlazor, un nuevo framework .NET
Blazor, un nuevo framework .NETJonathan González
 
los-diferentes-lenguajes-de-programacion-para-la-web
 los-diferentes-lenguajes-de-programacion-para-la-web los-diferentes-lenguajes-de-programacion-para-la-web
los-diferentes-lenguajes-de-programacion-para-la-webolguisf
 

Similar a Webassembly, Blazor y Javascript, una combinación explosiva (20)

Introducción a WebAssembly
Introducción a WebAssemblyIntroducción a WebAssembly
Introducción a WebAssembly
 
Aprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScriptAprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScript
 
Programación Reactiva, Javascript Isomorfo y Meteorjs !
Programación Reactiva, Javascript Isomorfo y Meteorjs !Programación Reactiva, Javascript Isomorfo y Meteorjs !
Programación Reactiva, Javascript Isomorfo y Meteorjs !
 
Introducción a Blazor
Introducción a BlazorIntroducción a Blazor
Introducción a Blazor
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrasco
 
Aprendiendo GWT
Aprendiendo GWTAprendiendo GWT
Aprendiendo GWT
 
Sesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & Flex
Sesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & FlexSesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & Flex
Sesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & Flex
 
Cv dennys-jose-marquez-reyes-desarrollador-web
Cv dennys-jose-marquez-reyes-desarrollador-webCv dennys-jose-marquez-reyes-desarrollador-web
Cv dennys-jose-marquez-reyes-desarrollador-web
 
Investigacion de pagina web
Investigacion de pagina webInvestigacion de pagina web
Investigacion de pagina web
 
Introduction to .NET MAUI.pdf
Introduction to .NET MAUI.pdfIntroduction to .NET MAUI.pdf
Introduction to .NET MAUI.pdf
 
Web matrix session1
Web matrix session1Web matrix session1
Web matrix session1
 
Net Maui Blazor Jornada ASP Net en Español.pptx
Net Maui Blazor Jornada ASP Net en Español.pptxNet Maui Blazor Jornada ASP Net en Español.pptx
Net Maui Blazor Jornada ASP Net en Español.pptx
 
Plataformas de desarrollo web
Plataformas de desarrollo web Plataformas de desarrollo web
Plataformas de desarrollo web
 
La importancia del frontend y backend en un proyecto
La importancia del frontend y backend en un proyectoLa importancia del frontend y backend en un proyecto
La importancia del frontend y backend en un proyecto
 
Tecnologia web
Tecnologia webTecnologia web
Tecnologia web
 
Plataformas de desarrollo web
Plataformas de desarrollo webPlataformas de desarrollo web
Plataformas de desarrollo web
 
GWT y SmartGWT - Introducción
GWT y SmartGWT - IntroducciónGWT y SmartGWT - Introducción
GWT y SmartGWT - Introducción
 
Análisis y planteamiento del problema
Análisis y planteamiento del problemaAnálisis y planteamiento del problema
Análisis y planteamiento del problema
 
Blazor, un nuevo framework .NET
Blazor, un nuevo framework .NETBlazor, un nuevo framework .NET
Blazor, un nuevo framework .NET
 
los-diferentes-lenguajes-de-programacion-para-la-web
 los-diferentes-lenguajes-de-programacion-para-la-web los-diferentes-lenguajes-de-programacion-para-la-web
los-diferentes-lenguajes-de-programacion-para-la-web
 

Más de Roberto Sanz Ciriano

wIoT*: Conectando nuestros cacharricos inalámbricos a la nube
wIoT*: Conectando nuestros cacharricos inalámbricos a la nubewIoT*: Conectando nuestros cacharricos inalámbricos a la nube
wIoT*: Conectando nuestros cacharricos inalámbricos a la nubeRoberto Sanz Ciriano
 
DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container...
DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container...DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container...
DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container...Roberto Sanz Ciriano
 
Los contenedores en el mundo Microsoft #ReConnect2016
Los contenedores en el mundo Microsoft #ReConnect2016Los contenedores en el mundo Microsoft #ReConnect2016
Los contenedores en el mundo Microsoft #ReConnect2016Roberto Sanz Ciriano
 
Desarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webDesarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webRoberto Sanz Ciriano
 

Más de Roberto Sanz Ciriano (8)

wIoT*: Conectando nuestros cacharricos inalámbricos a la nube
wIoT*: Conectando nuestros cacharricos inalámbricos a la nubewIoT*: Conectando nuestros cacharricos inalámbricos a la nube
wIoT*: Conectando nuestros cacharricos inalámbricos a la nube
 
DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container...
DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container...DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container...
DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container...
 
Los contenedores en el mundo Microsoft #ReConnect2016
Los contenedores en el mundo Microsoft #ReConnect2016Los contenedores en el mundo Microsoft #ReConnect2016
Los contenedores en el mundo Microsoft #ReConnect2016
 
Desarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webDesarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones web
 
Introducción a TypeScript
Introducción a TypeScriptIntroducción a TypeScript
Introducción a TypeScript
 
ASP.NET and Docker
ASP.NET and DockerASP.NET and Docker
ASP.NET and Docker
 
ASP.NET 5 - DotNetters
ASP.NET 5 - DotNettersASP.NET 5 - DotNetters
ASP.NET 5 - DotNetters
 
Reconnect(); // 2015 - DotNetters
Reconnect(); // 2015 - DotNettersReconnect(); // 2015 - DotNetters
Reconnect(); // 2015 - DotNetters
 

Webassembly, Blazor y Javascript, una combinación explosiva