Cómo Goodnotes llegó a la web con Swift y WebAssembly
La migración de Goodnotes a la web usando Swift y WebAssembly representa un hito en la ingeniería de software multiplataforma. En lugar de reescribir millones de líneas de código para ofrecer una experiencia web, el equipo optó por mantener el núcleo de su motor de renderizado y lógica de negocio intacto, compilándolo directamente para el navegador. Esta decisión no solo aceleró el lanzamiento, sino que garantizó una consistencia absoluta entre dispositivos: el mismo trazo de lápiz, la misma sensibilidad a la presión, la misma respuesta en tiempo real. Detrás de esta hazaña técnica hay lecciones valiosas para cualquier organización que busque extender sus aplicaciones a la web sin sacrificar rendimiento ni coherencia.
El enfoque de Goodnotes demuestra que el desarrollo de aplicaciones a medida puede beneficiarse enormemente de lenguajes como Swift, que ofrecen un ecosistema maduro para compilar a WebAssembly. La arquitectura separó claramente los componentes de interfaz (nativos en cada plataforma) de la lógica compartida: motor de renderizado, modelos de documentos, reconocimiento de escritura y resolución de conflictos mediante CRDTs. Todo ello se mantuvo en un único código base Swift, que se ejecuta tanto en iOS como en la web gracias a WebAssembly. Para lograr un rendimiento de más de 60 FPS en navegadores, fue necesario implementar paralelismo real mediante WASI Threads, Web Workers y SharedArrayBuffer, lo que multiplicó por más de dos la capacidad de respuesta en métricas como Interaction to Next Paint.
Sin embargo, esta complejidad técnica no es un obstáculo insalvable. Empresas que necesitan software a medida con altos requisitos de rendimiento pueden adoptar estrategias similares, apoyándose en socios tecnológicos con experiencia en multiplataforma. En Q2BSTUDIO, entendemos que cada proyecto requiere un análisis profundo de las compensaciones entre reutilización de código, comportamiento consistente y capacidades nativas. Nuestro equipo aborda estos retos con soluciones personalizadas, ya sea integrando inteligencia artificial para optimizar procesos de reconocimiento o aplicando ciberseguridad en entornos que requieren aislamiento entre orígenes (Cross-Origin Isolation) para usar SharedArrayBuffer. También ofrecemos servicios cloud AWS y Azure para desplegar aplicaciones web de alto rendimiento, y servicios inteligencia de negocio con Power BI para extraer valor de los datos generados por estas plataformas.
La experiencia de Goodnotes revela que el camino hacia la web con Swift es viable, pero exige inversiones en capas de abstracción y un diseño cuidadoso de la concurrencia. La migración de libdispatch a Swift Concurrency con async/await y actores fue clave para la portabilidad. Además, la comunidad ha respondido con herramientas como JavaScriptKit, que permiten una interoperabilidad fluida con el ecosistema web. Para las empresas, esta aproximación abre la puerta a desarrollar agentes IA que procesen datos en segundo plano sin bloquear la interfaz, o a implementar ia para empresas que requieran procesamiento de lenguaje natural o visión por computadora directamente en el navegador.
Si tu organización está considerando llevar una aplicación nativa a la web o necesita construir desde cero una solución robusta y multiplataforma, en Q2BSTUDIO ofrecemos asesoramiento y desarrollo especializado. Nuestro enfoque combina la experiencia en lenguajes como Swift y Kotlin con las mejores prácticas de WebAssembly, garantizando que el resultado sea fiable, rápido y mantenible. La historia de Goodnotes demuestra que el futuro del desarrollo es compartir código sin renunciar a la calidad. Nosotros te ayudamos a recorrer ese camino.
Comentarios