SlideShare una empresa de Scribd logo
1 de 33
Joaquín
Ruiz
CTO EN FLAT 101
@JokiRuizLite
#Flat101DS @SomosFlat101 info@flat101.es
El futuro de las tecnologías
frontend y su impacto en la
conversión
WebAssembly
17 de abril de 2020
#Flat101DS @SomosFlat101
Indice:
01
Introducción
02
Evolución de las
Tecnologías Frontend
03
JavaScript para todo
04
WebAssembly al
rescate
05
Demo: Compila un programa sencillo en Wasm
@JokiRuizLite
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
01
Introducción
@JokiRuizLite
Nombre de la charla
El Cliente envía una petición a un servidor
¿Cómo funciona
la navegación
web?
El Servidor envía una respuesta con
Información
Nuestro navegador, ejecuta algoritmos para
presentar la información de forma óptima y
amable -> Tecnologías Frontend
El servidor, ejecuta servicios y algoritmos
para buscar y responder la información
requerida -> Tecnologías BackEnd
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
Nombre de la charla
Implementado en los Navegadores: (HTML,
CSS, JavaScript, Ajax…)
En constante evolución
Tecnologías Frontend
Importante conocerlas y manejarlas
correctamente para el CRO:
- Implementación de herramientas de
analítica cualitativa https://jsfiddle.net/
jokiruiz/dnoyb4zx/
- Desarrollo de Test A/B
- Optimización de recursos del navegador
- Algoritmos de Inteligencia Artificial
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
02
Evolución de las
Tecnologías Frontend
@JokiRuizLite
Inicio de los 90s
• Primeros (y diversos) Navegadores
• Módems de 28.8kbps
• Primeras Aplicaciones web (formularios)
• Tecnología frontend: Enviar y Recibir
información
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
2000 2010 20201995 2009
1990
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
Año 1995
1990 2000 2010 202020091995
Año 1995
• Navegación lenta / Complejidad Aplicaciones web
• Brendan Eich (Netscape, Mozilla)
https://www.um.es/docencia/barzana/DIVULGACION/
INFORMATICA/Javascript-diez-dias.html
• Lenguaje de programación en el Navegador (JavaScript)
• Ejecución en el navegador sin comunicación con el
servidor
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
1990 2000 2010 202020091995
Los 2000
• librerías como dojo, prototype, jQuery…
• JavaScript para todos
• Código spaghetti
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
1990 2010 20201995 2009
2000
2009 - hoy
• Aplicaciones cada vez más complejas
• Deficiencias del HML, buenas prácticas
• Elementos dinámicos, reactivos
• 2009 : AngularJS
• Vue, React, Angular…
• Código Limpio, Potente y “Sencillo"
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
1990 1995
2000 202020102009
03
JavaScript para todo
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
@JokiRuizLite
¿Para todo?
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
¿Para qué usamos hoy
en día el navegador?
• Aplicaciones de Escritorio
• Sólo necesitamos el navegador?
• Correo Electrónico, Videollamadas
• Series, Películas
• Escribimos textos, presentaciones
• Videojuegos (https://got.gtarcade.com/)
• Redes Sociales…
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
¿Cómo funciona?
• Máquina Virtual (VM) para ejecutar el código
JavaScript
• API HTML5 para controlar los recursos del
ordenador o dispositivo
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
Rendimiento Nativo
• Límites de JavaScript
• Problemas de Rendimiento: Juegos 3D, realidad
virtual y aumentada, visión por computación,
edición de imagen y vídeo.
• Necesidad de un rendimiento Nativo
• Coste: Descarga, Análisis y compilación de
aplicaciones JavaScript
• Dispositivos móviles con no tantos recursos
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
04
WebAssembly al rescate
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
@JokiRuizLite
¿Qué código ofrece
un mejor
rendimiento?
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
Los códigos
binarios
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
• No diseñados para ser escritos a mano
• Compilados para lenguajes de bajo nivel
• C, C++, Rust
Lenguajes de
alto nivel
• Flexibles y Expresivos
• Tipificados dinámicamente
• Ecosistema muy potente
WebAssembly: un
lenguaje tipo
ensamblador con un
formato binario
compacto para
ejecutarse en el
navegador
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
Características de
WebAssembly (Wasm)
• Rápido, eficiente y portátil
• Legible y depurable
• Seguro
• Don’t break the web
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
Wasm vs JavaScript
https://takahirox.github.io/WebAssembly-benchmark/
*Wasm es un tipo de código, no es un lenguaje de programación
WASM:
- Es simplemente más rápido
- Se ejecuta en formato binario
- Está fuertemente tipado
JavaScript:
- Tipado dinámico
- Muy flexible
- Se ejecuta como código legible
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
¿Cómo se ejecuta Wasm?
- Herramienta para compilar nuestro código fuente (C,C++,…) a
WebAssembly (hello-flat.c -> fello-flat.wasm)
- Javascript que carga nuestro wasm y lo comunica con la API del
navegador
- HTML que incluye el código JavaScript
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
05
Demo: Compila un
programa sencillo en
Wasm
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
@JokiRuizLite
El Compilador
Emscripten es un compilador Source-to-Source o transcompilador.
Por lo tanto, utilizaremos el SDK de Emscripten para compilar nuestro
C, C++ en formato Wasm
Más info: https://github.com/emscripten-core/emsdk
01
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
Instalación
$ git clone https://github.com/emscripten-core/emsdk.git
$ cd emsdk
$ ./emsdk install latest
$ ./emsdk activate latest
01
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
Escribimos nuestro
código en C
02
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
Compilamos nuestro
código
$ emcc hello-flat.c
http://localhost:8080/hello-flat.html
03
El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
Nombre de la charla
¡Gracias por la asistencia!
#Flat101DS @SomosFlat101 info@flat101.es

Más contenido relacionado

Similar a El futuro de las tecnologías frontend y su impacto en la conversión
WebAssembly

Aplicaciones web
Aplicaciones webAplicaciones web
Aplicaciones webRuthReyes71
 
Cristalab AIR: Flash, Flex y AJAX en el escritorio
Cristalab AIR: Flash, Flex y AJAX en el escritorioCristalab AIR: Flash, Flex y AJAX en el escritorio
Cristalab AIR: Flash, Flex y AJAX en el escritorioJohn Freddy Vega
 
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con Xamarin
Plain Concepts Tech Day:  Desarrollo de aplicaciones multiplataforma con XamarinPlain Concepts Tech Day:  Desarrollo de aplicaciones multiplataforma con Xamarin
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con XamarinJavier Suárez Ruiz
 
Code Blast 2012 - Node.js
Code Blast 2012 - Node.jsCode Blast 2012 - Node.js
Code Blast 2012 - Node.jsINSIGNIA4U
 
Bargento 1.0 – Zend – Por qué Zend Technologies ?
Bargento 1.0 – Zend – Por qué Zend Technologies ?Bargento 1.0 – Zend – Por qué Zend Technologies ?
Bargento 1.0 – Zend – Por qué Zend Technologies ?Bargento ES
 
Estandares Web, Accesibilidad y Usabilidad
Estandares Web, Accesibilidad y UsabilidadEstandares Web, Accesibilidad y Usabilidad
Estandares Web, Accesibilidad y Usabilidadricardogil
 
Prog. web. equipo 5
Prog. web. equipo 5Prog. web. equipo 5
Prog. web. equipo 5Luis Mendez
 
Progressive web apps
Progressive web apps Progressive web apps
Progressive web apps Biko
 
Python para desarrollo web de ultima generación
Python para desarrollo web de ultima generaciónPython para desarrollo web de ultima generación
Python para desarrollo web de ultima generaciónFutura Networks
 
DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!Javier Suárez Ruiz
 
Aplicaciones web enriquecidas "RIA"
Aplicaciones web enriquecidas "RIA"Aplicaciones web enriquecidas "RIA"
Aplicaciones web enriquecidas "RIA"Erick Cerna
 
Aplicaciones RIA: Rich Internet Application Technologies
Aplicaciones RIA: Rich Internet Application TechnologiesAplicaciones RIA: Rich Internet Application Technologies
Aplicaciones RIA: Rich Internet Application TechnologiesJesus Caceres Tello
 
AWS Cloud Experience CA: Desplegando y Desarrollando Aplicaciones Modernas en...
AWS Cloud Experience CA: Desplegando y Desarrollando Aplicaciones Modernas en...AWS Cloud Experience CA: Desplegando y Desarrollando Aplicaciones Modernas en...
AWS Cloud Experience CA: Desplegando y Desarrollando Aplicaciones Modernas en...Amazon Web Services LATAM
 

Similar a El futuro de las tecnologías frontend y su impacto en la conversión
WebAssembly (20)

Aplicaciones web
Aplicaciones webAplicaciones web
Aplicaciones web
 
Cristalab AIR: Flash, Flex y AJAX en el escritorio
Cristalab AIR: Flash, Flex y AJAX en el escritorioCristalab AIR: Flash, Flex y AJAX en el escritorio
Cristalab AIR: Flash, Flex y AJAX en el escritorio
 
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con Xamarin
Plain Concepts Tech Day:  Desarrollo de aplicaciones multiplataforma con XamarinPlain Concepts Tech Day:  Desarrollo de aplicaciones multiplataforma con Xamarin
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con Xamarin
 
Code Blast 2012 - Node.js
Code Blast 2012 - Node.jsCode Blast 2012 - Node.js
Code Blast 2012 - Node.js
 
Bargento 1.0 – Zend – Por qué Zend Technologies ?
Bargento 1.0 – Zend – Por qué Zend Technologies ?Bargento 1.0 – Zend – Por qué Zend Technologies ?
Bargento 1.0 – Zend – Por qué Zend Technologies ?
 
0. Antecedentes Asp
0. Antecedentes Asp0. Antecedentes Asp
0. Antecedentes Asp
 
Dinamicas
DinamicasDinamicas
Dinamicas
 
Dinamicas
DinamicasDinamicas
Dinamicas
 
Día del software libre
Día del software libreDía del software libre
Día del software libre
 
JAVASCRIPT.pptx
JAVASCRIPT.pptxJAVASCRIPT.pptx
JAVASCRIPT.pptx
 
JAVASCRIPT.pptx
JAVASCRIPT.pptxJAVASCRIPT.pptx
JAVASCRIPT.pptx
 
Estandares Web, Accesibilidad y Usabilidad
Estandares Web, Accesibilidad y UsabilidadEstandares Web, Accesibilidad y Usabilidad
Estandares Web, Accesibilidad y Usabilidad
 
Prog. web. equipo 5
Prog. web. equipo 5Prog. web. equipo 5
Prog. web. equipo 5
 
Barcamp Mobile Web
Barcamp Mobile WebBarcamp Mobile Web
Barcamp Mobile Web
 
Progressive web apps
Progressive web apps Progressive web apps
Progressive web apps
 
Python para desarrollo web de ultima generación
Python para desarrollo web de ultima generaciónPython para desarrollo web de ultima generación
Python para desarrollo web de ultima generación
 
DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!
 
Aplicaciones web enriquecidas "RIA"
Aplicaciones web enriquecidas "RIA"Aplicaciones web enriquecidas "RIA"
Aplicaciones web enriquecidas "RIA"
 
Aplicaciones RIA: Rich Internet Application Technologies
Aplicaciones RIA: Rich Internet Application TechnologiesAplicaciones RIA: Rich Internet Application Technologies
Aplicaciones RIA: Rich Internet Application Technologies
 
AWS Cloud Experience CA: Desplegando y Desarrollando Aplicaciones Modernas en...
AWS Cloud Experience CA: Desplegando y Desarrollando Aplicaciones Modernas en...AWS Cloud Experience CA: Desplegando y Desarrollando Aplicaciones Modernas en...
AWS Cloud Experience CA: Desplegando y Desarrollando Aplicaciones Modernas en...
 

Más de Flat 101

SEO en e-commerce 2020: estrategia user-centric
SEO en e-commerce 2020: estrategia user-centricSEO en e-commerce 2020: estrategia user-centric
SEO en e-commerce 2020: estrategia user-centricFlat 101
 
Personalización En E-commerce Con Adobe Target
Personalización En E-commerce Con Adobe TargetPersonalización En E-commerce Con Adobe Target
Personalización En E-commerce Con Adobe TargetFlat 101
 
Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...
Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...
Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...Flat 101
 
Diferencias Y Similitudes Entre Google Analytics Y Adobe Analytics
Diferencias Y Similitudes Entre Google Analytics Y Adobe AnalyticsDiferencias Y Similitudes Entre Google Analytics Y Adobe Analytics
Diferencias Y Similitudes Entre Google Analytics Y Adobe AnalyticsFlat 101
 
DATASTUDIO Vitaminado
DATASTUDIO VitaminadoDATASTUDIO Vitaminado
DATASTUDIO VitaminadoFlat 101
 
El motor de la personalización: Dynamic Yield
El motor de la personalización: Dynamic YieldEl motor de la personalización: Dynamic Yield
El motor de la personalización: Dynamic YieldFlat 101
 
Prototipar en papel: Mi mejor herramienta para diseñar interfaces complejas e...
Prototipar en papel: Mi mejor herramienta para diseñar interfaces complejas e...Prototipar en papel: Mi mejor herramienta para diseñar interfaces complejas e...
Prototipar en papel: Mi mejor herramienta para diseñar interfaces complejas e...Flat 101
 
Publicidad personalizada, ¿eres consciente?
Publicidad personalizada, ¿eres consciente?Publicidad personalizada, ¿eres consciente?
Publicidad personalizada, ¿eres consciente?Flat 101
 
Sketch Tips & Tricks que optimizan la creatividad
Sketch Tips & Tricks que optimizan la creatividadSketch Tips & Tricks que optimizan la creatividad
Sketch Tips & Tricks que optimizan la creatividadFlat 101
 
UX para mayores de 60 años
UX para mayores de 60 añosUX para mayores de 60 años
UX para mayores de 60 añosFlat 101
 
SEO Manager: guía de Supervivencia
SEO Manager: guía de SupervivenciaSEO Manager: guía de Supervivencia
SEO Manager: guía de SupervivenciaFlat 101
 
DAT-ART: Diseño de dashboards visualmente atractivos
DAT-ART: Diseño de dashboards visualmente atractivosDAT-ART: Diseño de dashboards visualmente atractivos
DAT-ART: Diseño de dashboards visualmente atractivosFlat 101
 
Diversidad funcional, accesibilidad e inclusión en el diseño de productos dig...
Diversidad funcional, accesibilidad e inclusión en el diseño de productos dig...Diversidad funcional, accesibilidad e inclusión en el diseño de productos dig...
Diversidad funcional, accesibilidad e inclusión en el diseño de productos dig...Flat 101
 
Gestión De CRO En Moda
Gestión De CRO En ModaGestión De CRO En Moda
Gestión De CRO En ModaFlat 101
 

Más de Flat 101 (14)

SEO en e-commerce 2020: estrategia user-centric
SEO en e-commerce 2020: estrategia user-centricSEO en e-commerce 2020: estrategia user-centric
SEO en e-commerce 2020: estrategia user-centric
 
Personalización En E-commerce Con Adobe Target
Personalización En E-commerce Con Adobe TargetPersonalización En E-commerce Con Adobe Target
Personalización En E-commerce Con Adobe Target
 
Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...
Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...
Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...
 
Diferencias Y Similitudes Entre Google Analytics Y Adobe Analytics
Diferencias Y Similitudes Entre Google Analytics Y Adobe AnalyticsDiferencias Y Similitudes Entre Google Analytics Y Adobe Analytics
Diferencias Y Similitudes Entre Google Analytics Y Adobe Analytics
 
DATASTUDIO Vitaminado
DATASTUDIO VitaminadoDATASTUDIO Vitaminado
DATASTUDIO Vitaminado
 
El motor de la personalización: Dynamic Yield
El motor de la personalización: Dynamic YieldEl motor de la personalización: Dynamic Yield
El motor de la personalización: Dynamic Yield
 
Prototipar en papel: Mi mejor herramienta para diseñar interfaces complejas e...
Prototipar en papel: Mi mejor herramienta para diseñar interfaces complejas e...Prototipar en papel: Mi mejor herramienta para diseñar interfaces complejas e...
Prototipar en papel: Mi mejor herramienta para diseñar interfaces complejas e...
 
Publicidad personalizada, ¿eres consciente?
Publicidad personalizada, ¿eres consciente?Publicidad personalizada, ¿eres consciente?
Publicidad personalizada, ¿eres consciente?
 
Sketch Tips & Tricks que optimizan la creatividad
Sketch Tips & Tricks que optimizan la creatividadSketch Tips & Tricks que optimizan la creatividad
Sketch Tips & Tricks que optimizan la creatividad
 
UX para mayores de 60 años
UX para mayores de 60 añosUX para mayores de 60 años
UX para mayores de 60 años
 
SEO Manager: guía de Supervivencia
SEO Manager: guía de SupervivenciaSEO Manager: guía de Supervivencia
SEO Manager: guía de Supervivencia
 
DAT-ART: Diseño de dashboards visualmente atractivos
DAT-ART: Diseño de dashboards visualmente atractivosDAT-ART: Diseño de dashboards visualmente atractivos
DAT-ART: Diseño de dashboards visualmente atractivos
 
Diversidad funcional, accesibilidad e inclusión en el diseño de productos dig...
Diversidad funcional, accesibilidad e inclusión en el diseño de productos dig...Diversidad funcional, accesibilidad e inclusión en el diseño de productos dig...
Diversidad funcional, accesibilidad e inclusión en el diseño de productos dig...
 
Gestión De CRO En Moda
Gestión De CRO En ModaGestión De CRO En Moda
Gestión De CRO En Moda
 

Último

Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdfFAUSTODANILOCRUZCAST
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfOscarBlas6
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COMCOMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COMcespitiacardales
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 

Último (10)

Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdf
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COMCOMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 

El futuro de las tecnologías frontend y su impacto en la conversión
WebAssembly

  • 1. Joaquín Ruiz CTO EN FLAT 101 @JokiRuizLite #Flat101DS @SomosFlat101 info@flat101.es
  • 2. El futuro de las tecnologías frontend y su impacto en la conversión WebAssembly 17 de abril de 2020 #Flat101DS @SomosFlat101
  • 3. Indice: 01 Introducción 02 Evolución de las Tecnologías Frontend 03 JavaScript para todo 04 WebAssembly al rescate 05 Demo: Compila un programa sencillo en Wasm @JokiRuizLite El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
  • 4. El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly 01 Introducción @JokiRuizLite
  • 5. Nombre de la charla El Cliente envía una petición a un servidor ¿Cómo funciona la navegación web? El Servidor envía una respuesta con Información
  • 6. Nuestro navegador, ejecuta algoritmos para presentar la información de forma óptima y amable -> Tecnologías Frontend El servidor, ejecuta servicios y algoritmos para buscar y responder la información requerida -> Tecnologías BackEnd El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
  • 7. Nombre de la charla Implementado en los Navegadores: (HTML, CSS, JavaScript, Ajax…) En constante evolución Tecnologías Frontend Importante conocerlas y manejarlas correctamente para el CRO: - Implementación de herramientas de analítica cualitativa https://jsfiddle.net/ jokiruiz/dnoyb4zx/ - Desarrollo de Test A/B - Optimización de recursos del navegador - Algoritmos de Inteligencia Artificial
  • 8. El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly 02 Evolución de las Tecnologías Frontend @JokiRuizLite
  • 9. Inicio de los 90s • Primeros (y diversos) Navegadores • Módems de 28.8kbps • Primeras Aplicaciones web (formularios) • Tecnología frontend: Enviar y Recibir información El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly 2000 2010 20201995 2009 1990
  • 10. El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly Año 1995 1990 2000 2010 202020091995
  • 11. Año 1995 • Navegación lenta / Complejidad Aplicaciones web • Brendan Eich (Netscape, Mozilla) https://www.um.es/docencia/barzana/DIVULGACION/ INFORMATICA/Javascript-diez-dias.html • Lenguaje de programación en el Navegador (JavaScript) • Ejecución en el navegador sin comunicación con el servidor El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly 1990 2000 2010 202020091995
  • 12. Los 2000 • librerías como dojo, prototype, jQuery… • JavaScript para todos • Código spaghetti El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly 1990 2010 20201995 2009 2000
  • 13. 2009 - hoy • Aplicaciones cada vez más complejas • Deficiencias del HML, buenas prácticas • Elementos dinámicos, reactivos • 2009 : AngularJS • Vue, React, Angular… • Código Limpio, Potente y “Sencillo" El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly 1990 1995 2000 202020102009
  • 14. 03 JavaScript para todo El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly @JokiRuizLite
  • 15. ¿Para todo? El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
  • 16. ¿Para qué usamos hoy en día el navegador? • Aplicaciones de Escritorio • Sólo necesitamos el navegador? • Correo Electrónico, Videollamadas • Series, Películas • Escribimos textos, presentaciones • Videojuegos (https://got.gtarcade.com/) • Redes Sociales… El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
  • 17. ¿Cómo funciona? • Máquina Virtual (VM) para ejecutar el código JavaScript • API HTML5 para controlar los recursos del ordenador o dispositivo El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
  • 18. Rendimiento Nativo • Límites de JavaScript • Problemas de Rendimiento: Juegos 3D, realidad virtual y aumentada, visión por computación, edición de imagen y vídeo. • Necesidad de un rendimiento Nativo • Coste: Descarga, Análisis y compilación de aplicaciones JavaScript • Dispositivos móviles con no tantos recursos El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
  • 19. 04 WebAssembly al rescate El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly @JokiRuizLite
  • 20. ¿Qué código ofrece un mejor rendimiento? El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
  • 21. Los códigos binarios El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly • No diseñados para ser escritos a mano • Compilados para lenguajes de bajo nivel • C, C++, Rust Lenguajes de alto nivel • Flexibles y Expresivos • Tipificados dinámicamente • Ecosistema muy potente
  • 22. WebAssembly: un lenguaje tipo ensamblador con un formato binario compacto para ejecutarse en el navegador El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
  • 23. Características de WebAssembly (Wasm) • Rápido, eficiente y portátil • Legible y depurable • Seguro • Don’t break the web El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
  • 24. Wasm vs JavaScript https://takahirox.github.io/WebAssembly-benchmark/ *Wasm es un tipo de código, no es un lenguaje de programación WASM: - Es simplemente más rápido - Se ejecuta en formato binario - Está fuertemente tipado JavaScript: - Tipado dinámico - Muy flexible - Se ejecuta como código legible El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
  • 25. ¿Cómo se ejecuta Wasm? - Herramienta para compilar nuestro código fuente (C,C++,…) a WebAssembly (hello-flat.c -> fello-flat.wasm) - Javascript que carga nuestro wasm y lo comunica con la API del navegador - HTML que incluye el código JavaScript El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
  • 26. El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
  • 27. 05 Demo: Compila un programa sencillo en Wasm El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly @JokiRuizLite
  • 28. El Compilador Emscripten es un compilador Source-to-Source o transcompilador. Por lo tanto, utilizaremos el SDK de Emscripten para compilar nuestro C, C++ en formato Wasm Más info: https://github.com/emscripten-core/emsdk 01 El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
  • 29. Instalación $ git clone https://github.com/emscripten-core/emsdk.git $ cd emsdk $ ./emsdk install latest $ ./emsdk activate latest 01 El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
  • 30. Escribimos nuestro código en C 02 El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
  • 31. Compilamos nuestro código $ emcc hello-flat.c http://localhost:8080/hello-flat.html 03 El futuro de las tecnologías frontend y su impacto en la conversión: WebAssembly
  • 32. Nombre de la charla
  • 33. ¡Gracias por la asistencia! #Flat101DS @SomosFlat101 info@flat101.es