Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introducción a WPE WebKit: el Motor Web para Si...

Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux

Las tecnologías Web están cada vez más presentes en dispositivos embebidos, desde televisores y otros dispositivos de electrónica de consumo hasta paneles industriales o sistemas de señalización digital. Pero para ejecutar estas aplicaciones no basta con un navegador, es necesario un motor Web integrable, eficiente y adaptado a ese tipo de entornos.

Esta charla presentará una introducción a WPE WebKit, un motor Web de código abierto mantenido por Igalia, diseñado para ese caso de uso y actualmente presente en millones de dispositivos.

Veremos qué es WPE WebKit, en qué se diferencia de un navegador tradicional, cómo encaja en un stack Linux moderno (gráficos, multimedia e integración de sistema) y qué ventajas aporta al desarrollar productos con interfaces Web.

El objetivo de esta sesión es dar una visión práctica de por qué el uso de estándares Web en Linux embebido es una opción relevante, y cómo WPE WebKit permite hacerlo con una base sólida, abierta y mantenida de forma activa.

(c) Congreso esLibre 26
April 18th, 2026
Melide - A Coruña (Spain)
https://eslib.re/2026

Avatar for Mario Sánchez Prada

Mario Sánchez Prada

May 19, 2026

More Decks by Mario Sánchez Prada

Other Decks in Technology

Transcript

  1. Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos

    con Linux Mario Sánchez Prada esLibre 2026 Melide (A Coruña) 17-18 de abril de 2026 1 / 40
  2. Acerca de mí Ingeniero de software por la Universidad de

    A Coruña Igalia, Samsung, Endless Mobile. Socio de Igalia Trabajo Open Source: GNOME, Chromium, WebKit. Otros: SOs basados en Linux (e.g. Endless OS), Flatpak, Samsung Smart TV, Maemo (Nokia). Actualmente coordinando el WebKit team de Igalia. Contacto: [email protected] Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 2 / 40
  3. Acerca de Igalia Consultoría de software especializada en Open Source

    Fundada en A Coruña (Galicia) en 2001. Trabajo remoto, estructura horizontal. Top contributor a los motores web principales. Contribuidor principal a WebKit después de Apple. Mantenedores de los dos WebKit ports para Linux. Otro trabajo Open Source: Gráficos, multimedia, compiladores, kernel Linux... Miembros de distintos grupos de trabajo: W3C, WHATWG, TC39, Test262, Khronos... https://www.igalia.com Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 3 / 40
  4. Índice 1. ¿Qué es un motor web? 2. ¿Qué es

    un sistema embebido? 3. ¿Qué es WPE WebKit? 4. Motores web en sistemas embebidos 5. Empezando con WPE WebKit 6. Conclusiones Presentación: Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 4 / 40
  5. ¿Qué es un motor web? Introducción a WPE WebKit: el

    Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 5 / 40
  6. ¿Qué es un motor web? Un motor web es una

    implementación de la Web Platform que: HTML HTML Parser DOM Tree Attachment Style Rules Display DOM API Style Sheets CSS Parser Layout Render Tree Painting Obtiene contenido HTML / CSS / JavaScript de múltiples fuentes. Interpreta el contenido web para crear una representación interna. Genera un resultado con el que los usuarios pueden interactuar. Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 6 / 40
  7. Principales motores web Introducción a WPE WebKit: el Motor Web

    para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 7 / 40
  8. GNOME Web 49.2 + WebKitGTK 2.50.4 Introducción a WPE WebKit:

    el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 8 / 40
  9. ¿Qué es un sistema embebido? Introducción a WPE WebKit: el

    Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 9 / 40
  10. ¿Qué es un sistema embebido? Diseñado para realizar funciones específicas

    en un producto concreto No suele ser un sistema de propósito general como un PC o un servidor. Hay desde dispositivos muy sencillos hasta otros muy complejos Microcontroladores, sistemas operativos en tiempo real (e.g. Zephyr). Variantes de Linux adaptadas a ciertos usos, Android, webOS, Tizen... Suelen tener menos recursos que un ordenador convencional Impacto en CPU, memoria, almacenamiento, consumo o capacidad gráfica. Utilizan hardware diverso (chips de diferentes arquitecturas y fabricantes) Pueden usar ARM, RISC-V o SoCs específicos, frente al hardware más homogéneo presente en PCs y Macs (normalmente arquitectura Intel, pero también ARM64). Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 10 / 40
  11. Ejemplos de sistemas embebidos Autor: · Licencia: · Autor: ·

    Licencia: · oomlout CC BY-SA 2.0 Fuente Simon Waldherr CC BY 4.0 Fuente Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 11 / 40
  12. Ejemplos de sistemas embebidos Autor: · Licencia: · Raimond Spekking

    CC BY-SA 4.0 Fuente Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 12 / 40
  13. Ejemplos de sistemas embebidos Autor: · Licencia: · Autor: ·

    Licencia: · LindaInpijn CC BY-SA 4.0 Fuente Kārlis Dambrāns CC BY 2.0 Fuente Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 13 / 40
  14. Ejemplos de sistemas embebidos Autor: · Licencia: · Pierre Lecourt

    CC BY-NC-SA 2.0 Fuente Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 14 / 40
  15. Ejemplos de sistemas embebidos Autor: · Licencia: · Autor: ·

    Licencia: · Sage Ross CC BY-SA 4.0 Fuente Andri Koolme CC BY 2.0 Fuente Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 15 / 40
  16. ¿Qué es WPE WebKit? Introducción a WPE WebKit: el Motor

    Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 16 / 40
  17. ¿Qué es WebKit? Motor web Open Source (principalmente licencias LGPL

    y BSD) Características principales: 🕸 Implementación de la Web Platform madura y compatible con estándares. 🚀 Objetivos muy fuertes alrededor de rendimiento y estabilidad. 🔒 Énfasis en aspectos relacionados con la privacidad y la seguridad. 🔀 Arquitectura multi-proceso (proceso UI, proceso web...). 🧩 Diseño flexible y modular. 🔌 Prioridad a la capacidad de integración (e.g. API pública estable). Soporte multiplataforma: Escritorio y móvil: Mac, iOS, Windows, Linux, Android (WIP). Embebido: set-top boxes, domótica, cartelería digital... https://webkit.org Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 17 / 40
  18. Arquitectura de WebKit Aplicación: La parte con la que interactúan

    los usuarios finales. WebKit: Expone la API pública que usan las aplicaciones e implementa el modelo multi-proceso. WebCore: Procesamiento de recursos HTML/CSS, renderizado gráfico, acceso a red, multimedia, accesibilidad... Plataforma: Código específico de la plataforma (Linux, Mac...). JavaScriptCore: Motor JavaScript (soporta WebAssembly). JavaScriptCore platform WebCore Application WebKit Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 18 / 40
  19. WebKit Ports WebKit port: adaptación de WebKit a una plataforma

    Ports oficiales: Mac: Safari, Apple Mail, iTunes, App Store... iOS: Navegadores web en iOS (incluido Chrome). Windows: Microsoft Playwright, PlayStation SDK. PlayStation: PlayStation 4 y PlayStation 5. WebKitGTK: GNOME Web, Evolution, GNOME Builder... WPE WebKit: casos de uso personalizados para embebidos. e.g. WebKitGTK port JavaScriptCore glib, gtk, skia, gstreamer, soup WebCore GTK Application WebKitGTK https://docs.webkit.org/Ports/Introduction.html Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 19 / 40
  20. ¿Qué es WPE WebKit? Introducción a WPE WebKit: el Motor

    Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 20 / 40
  21. ¿Qué es WPE WebKit? Un WebKit port para sistemas embebidos

    basados en Linux Desde 2014, inicialmente llamado "WebKit for Wayland". Arquitectura compartida con WebKitGTK Partes comunes: GLib, Skia, GStreamer, libsoup, fontconfig... Diferencias clave: manejo de gráficos y dispositivos de entrada. Arquitectura de E/S basada en backends ej. backends gráficos: DRM, Wayland, headless, X11, GTK4. Enfoque en flexibilidad, seguridad y rendimiento Dependencias mínimas y consumo de recursos reducido Aceleración hardware (específico en cada plataforma) ℹ️ https://wpewebkit.org Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 21 / 40
  22. WPE WebKit: Hardware soportado Fabricante Dispositivos representativos Ejemplos de GPU

    Drivers NXP i.MX 51, 53, 6, 8M Imageon Z460, Vivante GC880/GC2000/GC7000 freedreno, etnaviv, Vivante (privativo) Broadcom Arris VIP5202W, RPi 3/4/5 VideoCore IV/VI/VII Mesa vc4/v3d, privativo Qualcomm APQ8017 Adreno 306 privativo Nvidia Jetson TK1 Tegra K1 — RockChip RK3399 Mali T860MP4 panfrost, Mali (privativo) Hardware tipo PC Cualquier PC x86/x64 AMD, Intel (varios) Mesa amdgpu, i965, iris Otros Beaglebone PowerVR SGX530 privativo https://wpewebkit.org/about/supported-hardware.html Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 22 / 40
  23. WPE WebKit MiniBrowser WPE WebKit compilado el 11 de diciembre

    de 2025 Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 23 / 40
  24. Líneas actuales de trabajo 📺 Rearquitectura del motor gráfico y

    mejoras en la capa multimedia Continuación de las grandes mejoras implementadas en los últimos 2 años. ⚡ Optimización del consumo de memoria en el motor JavaScript Foco especial en el consumo de memoria y mejora de herramientas. 🧩 Nueva API WPEPlatform: simplificando WPE WebKit Versión 1.0 planeada para WPE 2.54 (septiembre 2026) 🤖 WPE en Android y soporte para realidad virtual y aumentada Reemplazar la WebView de Android (basada en Chromium) con WPE WebKit. Foco en la integración con la nueva API y soporte para WebXR con OpenXR. 📖 Infraestructura de QA y mejoras en la documentación Mejora del estado de la infraestructura de testing. Documentación a nivel de API, tutoriales... Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 24 / 40
  25. Aplicación de ejemplo #include <wpe/webkit.h> int main(int argc, const char

    *argv[]) { g_autoptr(GMainLoop) loop = g_main_loop_new(NULL, FALSE); g_autoptr(WebKitWebView) view = webkit_web_view_new(NULL); webkit_web_view_load_uri(view, (argc > 1) ? argv[1] : "https://wpewebkit.org"); g_main_loop_run(loop); return EXIT_SUCCESS; } Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 25 / 40
  26. Motores web en sistemas embebidos Introducción a WPE WebKit: el

    Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 26 / 40
  27. ¿Por qué son importantes? 🎯 Rol estratégico en el stack

    software de los sistemas embebidos Renderizado gráfico, acceso a red, seguridad, sandboxing, E/S, accesibilidad... 🌐 La Plataforma Web es un stack de desarrollo conocido Enorme base de desarrolladores que ya saben crear aplicaciones Web. 🛠️ Flexibilidad para diseñar, prototipar, implementar y probar productos Es posible usar frameworks web populares (ej. React, AngularJS...). 🏭 Permite construir todo tipo de productos ej. smart TVs, domótica, infoentretenimiento, cartelería digital... Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 27 / 40
  28. Smart TVs y Set-Top Boxes Introducción a WPE WebKit: el

    Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 28 / 40
  29. Cartelería digital Introducción a WPE WebKit: el Motor Web para

    Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 29 / 40
  30. Dispositivos smart home Introducción a WPE WebKit: el Motor Web

    para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 30 / 40
  31. Infoentretenimiento Introducción a WPE WebKit: el Motor Web para Sistemas

    Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 31 / 40
  32. WebKit en sistemas embebidos Teléfonos y tablets Smart TVs y

    set-top boxes Cartelería digital Dispositivos smart home Infoentretenimiento Dispositivos de navegación GPS Terminales de Punto de Venta Audio/videoconferencia Sistemas Hi-Fi Consolas de videojuegos Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 32 / 40
  33. Empezando con WPE WebKit Introducción a WPE WebKit: el Motor

    Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 33 / 40
  34. Primeros pasos 1. Explorar el HW soportado y familiarizarte con

    el toolchain e.g. Raspberry Pi es un buen punto de partida. 2. Consultar la documentación y tutoriales Documentación de API, guías de contribución... , 3. Construir WPE con herramientas de la comunidad e.g. recetas Yocto mantenidas por WPE (meta-webkit). 4. Experimentar y prototipar Desarrollar tu aplicación web, probar con el MiniBrowser. Evitar funcionalidades costosas, buenas prácticas. https://wpewebkit.org https://docs.webkit.org Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 34 / 40
  35. Siguientes pasos 💬 Unirse a los canales públicos Listas de

    correo, salas de Matrix, Mastodon, Bluesky... 🌍 Participar en la comunidad upstream Hacer preguntas, reportar bugs, proponer mejoras... Contribuir con código, testing, documentación... 🧩 Explorar la nueva API WPEPlatform Una sola biblioteca modernizada, en lugar de tres componentes separados. Versión 1.0 en WPE 2.54. 👉 . 🤖 Probar WPE en Android Reemplaza la WebView de Android (basada en Chromium) con WPE WebKit. Repositorio en GitHub (experimental): . Blog post sobre cómo probarla usando Fedora o contenedores https://github.com/Igalia/wpe-android Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 35 / 40
  36. Ventajas de trabajar con la comunidad 🤝 Tus posibles cambios

    no se acumulan en un fork Los cambios contribuidos evolucionan con el proyecto. Reducción de parches locales que nadie más mantiene. 🌍 Acceso directo a la comunidad de desarrolladores Resolución de problemas más rápida y aprendizaje compartido. Interacción directa con quienes diseñan y desarrollan el motor web. 🔒 Seguridad y estabilidad compartidas Cada mejora de estabilidad y seguridad beneficia a todos los usuarios. 🧭 Colaborar con la dirección del proyecto Tus necesidades pueden alinearse con las de la comunidad. Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 36 / 40
  37. Conclusiones 🛠️ Los motores web son una buena opción para

    crear productos p. ej. smart TVs/set-top boxes, domótica, infoentretenimiento, cartelería digital... 🌐 WPE WebKit acerca esta posibilidad a los dispositivos embebidos Motor web completamente Open Source para dispositivos con Linux. El equilibrio adecuado entre flexibilidad, rendimiento y seguridad. 🤝 Empezar con WPE WebKit está al alcance de cualquiera Hardware accesible o contenedores, herramientas de la comunidad, documentación abierta. Es posible contribuir al proyecto como parte natural del proceso. 🚀 Proyecto vivo con una comunidad activa y un roadmap ambicioso Nueva API WPEPlatform, soporte Android, mejoras de rendimiento y QA, documentación... Múltiples líneas de trabajo abiertas, gran momento para acercarse al proyecto. Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 37 / 40
  38. Enlaces WPE WebKit: Sitio web: Mastodon: Bluesky: Lista de correo:

    Matrix: WPE Android: Repositorio: WebKit: Sitio web: Lista de correo: Documentación: https://wpewebkit.org https://floss.social/@WPEWebKit https://bsky.app/profile/wpewebkit.org https://lists.webkit.org/mailman3/lists/webkit-wpe.lists.webkit.org #wpe:matrix.org https://github.com/Igalia/wpe-android https://webkit.org https://lists.webkit.org/mailman3/lists/webkit-dev.lists.webkit.org https://docs.webkit.org Introducción a WPE WebKit: el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 38 / 40
  39. ¿Preguntas? Mario Sánchez Prada [email protected] Presentación: Introducción a WPE WebKit:

    el Motor Web para Sistemas Embebidos con Linux Mario Sánchez Prada. esLibre 2026, 17-18 de Abril, Melide (A Coruña) 39 / 40