Running JavaScript Actually Everywhere

This ad is not shown to multipass and full ticket holders
React Summit
React Summit 2026
June 11 - 15, 2026
Amsterdam & Online
The biggest React conference worldwide
Upcoming event
React Summit 2026
React Summit 2026
June 11 - 15, 2026. Amsterdam & Online
Learn more
Bookmark
Rate this content

Introducción al ecosistema JS

  • Móvil: React Native y Expo
  • Escritorio: Tauri y Electron
  • Servidor: Node, Bun y Deno

Declaración del problema

  • ¿Cómo puedes compartir la lógica multiplataforma? Node, Bun y Deno no pueden reutilizarse en móviles. Escribir en Kotlin y Swift es extremadamente costoso. 
  • La mayor parte del uso de internet hoy en día ocurre en aplicaciones móviles.
  • Esto es aún mayor en economías emergentes donde los smartphones de gama baja son el único dispositivo.
  • Bare es la consecuencia de alcanzar limitaciones usando node.js

Solución

  • Comparación entre node, deno, bun y bare.
  • Cómo enlazar Bare con React Native
  • Demostración móvil
  • Características clave de bare
  • Ligero 
  • Compatible con Node.js
  • Complemento nativo
  • Ejecutable único
  • Actualizaciones sin preocupaciones

This talk has been presented at Node Congress 2026, check out the latest edition of this JavaScript Conference.

Tony Gorez
Tony Gorez
21 min
26 Mar, 2026

Comments

Sign in or register to post your comment.
Video Summary and Transcription
El ecosistema de JavaScript permite un desarrollo versátil para móviles utilizando frameworks como React Native, Expo y Bear. Surgen desafíos al portar la lógica del servidor a móviles debido a las limitaciones en la reutilización de la lógica central entre el backend y el móvil. Bear se destaca como un runtime versátil para iOS, Android, React Native y Expo, permitiendo la integración selectiva de módulos. La integración de Bear con React Native simplifica el desarrollo de aplicaciones móviles y la ejecución de tareas en segundo plano. Bear enfatiza una filosofía de 'menos es más', ofreciendo flexibilidad en la compilación del motor y compatibilidad con varias plataformas. También admite un desarrollo simplificado de complementos nativos, soporte NAPI y actualizaciones controladas para empujar los límites del runtime.

1. Challenges in Mobile Server Logic Porting

Short description:

El ecosistema de JavaScript permite un desarrollo versátil con React Native, Expo, Tauri, Electron, Deno, Node.js y bin. Surge un desafío al portar la lógica del servidor a móvil. Reutilizar la lógica central entre el backend y el móvil presenta limitaciones. Contratar desarrolladores nativos para tal integración es costoso para los equipos de JavaScript.

JavaScript tiene un ecosistema increíble. Puedo trabajar en una aplicación móvil con React Native o Expo en segundos. Y si quiero desarrollar aplicaciones de escritorio, puedo hacerlo con Tauri o Electron. Y también puedo escribir código de servidores de aplicaciones con Deno, Node.js o bin.

Pero no hay un solo runtime que me permita portar mi lógica de servidor al móvil y viceversa. Por ejemplo, digamos que tengo un módulo NPM dedicado al trabajo criptográfico. Realiza algún trabajo intensivo de CPU, operación del sistema de archivos e interactúa con la pila de red. Lo uso en mi backend, y realmente necesito reutilizarlo y reutilizar esa lógica central como backend.

No puedo portar esa lógica directamente a una aplicación de React Native. Así que si uso Deno, Node.js o bin, no podré portar la lógica directamente a React Native. Y por otro lado, no puedo contratar a un desarrollador nativo para reimplementar esa lógica en Swift o Kotlin. Y luego escribir un binding para React Native, porque me costará mucho dinero. Y tal vez tenga muchos desarrolladores de JavaScript en mi equipo, y no puedo contratar este tipo de perfil específico.

2. Mobile Code Portability Challenges

Short description:

El dominio móvil requiere portabilidad de código. Limitaciones de Node.js, Deno.js o bin.js en móviles exploradas. Bear surge como un runtime versátil para iOS, Android, React Native y Expo. Bear permite la integración selectiva de módulos, a diferencia de Node.js. El desarrollo de aplicaciones móviles con Bear simplifica el uso de módulos en React Native.

Y me gustaría presionarme para hacer una pregunta. El móvil está en todas partes. Más del 90% del tiempo móvil se pasa en aplicaciones y no en navegadores. Y para los próximos mil millones de usuarios, el smartphone es todo el Internet. Y luego ejecutar código nativamente en dispositivos de gama baja no es una opción. Es necesario, porque todos tienen un teléfono en su bolsillo. Y es como los dispositivos reales donde tienes que estar.

Incluso en JavaScript. Así que me pregunté por qué Node.js, Deno.js o bin.js no se ejecutan en móviles. Y antes de realmente ver eso, hagamos una verificación rápida. Así que en esa tabla, intenté comparar Node.js, Deno.js y bin.js en lo que respecta a móviles. Así que primero veremos que Deno.js y bin.js están fuera del alcance. Todavía hay paquetes móviles de Node.js, que son paquetes de terceros no mantenidos por los mantenedores principales o por Node.js en sí. El verdadero punto negativo con eso es que cuando quieres incrustar tu código de Node.js, tienes que traer toda la base de código de Node.

js. Y como probablemente sepas, Node.js viene como un todo, y no por módulo según tus necesidades. Además, soporta React Native, no Expo, y tampoco tiene una especie de integración nativa con iOS o Android, por ejemplo. Intentemos echar un vistazo a Bear ahora. Así que Bear es un runtime moderno. Y por diseño, podemos usar Bear en iOS y Android.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Cómo Bun Hace que Construir Aplicaciones React Sea Más Simple y Rápido
React Day Berlin 2022React Day Berlin 2022
9 min
Cómo Bun Hace que Construir Aplicaciones React Sea Más Simple y Rápido
Top Content
BUN is a modern all-in-one JavaScript runtime environment that achieves new levels of performance. It includes BUN dev, a fast front-end dev server, BUN install, a speedy package manager, and BUN run, a fast package runner. BUN supports JSX, has optimized React server-side rendering, and offers hot module reloading on the server. The priorities for BUN include stability, node compatibility, documentation improvement, missing features in BUN install, AST plugin API, native Windows support, Bundler and Minifier optimization, and easier deployment to production. BUN's AST plugin API allows for bundle-time JavaScript execution and embedding code, potentially inspiring new frameworks.
Nunca te preocupes por CORS nuevamente
JSNation US 2025JSNation US 2025
28 min
Nunca te preocupes por CORS nuevamente
Talk on Bund: Overview of Bund, its speed optimization, components like runtime, package manager, test runner, and bundler. Efficient features include fast npm manager, pnpm lockfile support, Jest-compatible test runner, and optimized runtime components. Built-in features like modern password hashing, WebSocket server, file glob API, and database clients. API design focuses on common use cases and optimization. Enhanced JavaScript functionality with SIMD, native code, and performance improvements. Challenges in JavaScript productivity, BUN adoption, deployment, and support. React support, community involvement, security, Next.js compatibility, and transition.
Compatibilidad con Node.js en Deno
Node Congress 2022Node Congress 2022
34 min
Compatibilidad con Node.js en Deno
Deno aims to provide Node.js compatibility to make migration smoother and easier. While Deno can run apps and libraries offered for Node.js, not all are supported yet. There are trade-offs to consider, such as incompatible APIs and a less ideal developer experience. Deno is working on improving compatibility and the transition process. Efforts include porting Node.js modules, exploring a superset approach, and transparent package installation from npm.
Bun, Deno, Node.js? Recreando un runtime de JavaScript desde cero - Entender la magia detrás de Node.js
Node Congress 2023Node Congress 2023
29 min
Bun, Deno, Node.js? Recreando un runtime de JavaScript desde cero - Entender la magia detrás de Node.js
Top Content
The Talk explores the magic behind Node.js and delves into its components, including V8, libuv, and the C++ bridge. It discusses the workflow and execution process, the use of NodeMod, and the understanding of console functions. The Talk also covers Node.js functions and scheduling, the introduction of runtimes, and the collaboration between JavaScript runtimes. It concludes with insights on content production, the choice of Node.js, and the inspiration behind it.
Evaluar todas las cadenas! - JavaScript endurecido
Node Congress 2023Node Congress 2023
8 min
Evaluar todas las cadenas! - JavaScript endurecido
NPM packages can be potentially dangerous, so it's important to be proactive in managing them. Lava Mode allows you to detect and investigate suspicious packages before deploying your app. Lavamote prevents unauthorized access to sensitive resources by isolating dependencies and using hardened JavaScript. Lava Mode makes it easier to analyze obfuscated files and understand their actions.
Crea tu propio tiempo de ejecución de JavaScript
Node Congress 2023Node Congress 2023
21 min
Crea tu propio tiempo de ejecución de JavaScript
This Talk introduces Deno, a custom JavaScript runtime similar to Node.js, and discusses the benefits of using a custom runtime. It explores the process of building a custom runtime with Deno in Rust, including the integration with Cargo and the ability to mix and match crates and APIs. The Talk also covers the implementation of the setTimeout function in both Run.js and Runtime.js, and provides examples of how to fix errors and implement additional functions. Overall, the Talk highlights the flexibility and possibilities of creating custom runtimes with Deno.

Workshops on related topic

Construye aplicaciones peer-to-peer con Pear Runtime
JSNation 2024JSNation 2024
152 min
Construye aplicaciones peer-to-peer con Pear Runtime
WorkshopFree
David Mark Clements
David Mark Clements
Aprende cómo construir rápidamente aplicaciones peer-to-peer con Pear Runtime. No se requieren servidores. Comprende los paradigmas peer-to-peer y construye aplicaciones a partir de bloques de construcción bien definidos. En este masterclass se cubrirá cómo crear aplicaciones de escritorio y terminales (con discusión para móviles) que funcionan completamente peer-to-peer desde cualquier lugar del mundo. Al final de este masterclass, deberías saber cómo construir un nuevo tipo de aplicación altamente escalable con costos infraestructurales reducidos (~0) junto con arquitecturas adecuadas y mejores prácticas para aplicaciones peer-to-peer. Del creador de Pear Runtime y la compañía que nos trae keet.io. Tabla de contenido:- Introducción a Pear- Preguntas y respuestas iniciales- Configuración- Creación de una aplicación de escritorio Pear- Compartir una aplicación Pear- Ejecutar una aplicación Pear- Creación de una aplicación terminal Pear- Lanzamiento de una aplicación Pear- Discusiones arquitecturales- Preguntas y respuestas finales