Saltar al contenido
Volver al inicio
Feature

Ejecuta código en 16 lenguajes en Android — en el dispositivo

PocketCode ejecuta 16 lenguajes y tipos de archivo en tu Android, no en un servidor remoto: 13 vienen con la app y 3 son packs opcionales. Qué corre y qué no.

Actualizado:
6 min
Por Pelayo Naredo
Ejecuta código en 16 lenguajes en Android — en el dispositivo

Casi todas las formas de "ejecutar código" en un móvil lo mandan en silencio a otro sitio — un runner en la nube, un sandbox remoto, el servidor de una web. Eso está bien hasta que se cae la señal o preferirías que tu código no saliera del dispositivo. PocketCode hace lo contrario: ejecuta lenguajes reales en el propio dispositivo, así que correr un script es tan local como abrir una nota.

Aquí tienes el cuadro completo: qué se ejecuta, qué está listo al instante, qué necesita una descarga única y qué todavía no está disponible.

Trece lenguajes y tipos de archivo dentro de la app

Estos vienen dentro del APK, así que están desde el primer arranque — sin nada que descargar. Necesitas una cuenta gratuita y conexión para iniciar sesión; después abres un archivo, tocas Run (el botón está marcado como experimental) y tu código se ejecuta en el dispositivo:

LenguajeQué se ejecuta en el dispositivo
JavaScriptUn runtime Node.js real incluido
TypeScriptEse mismo Node incluido, que quita los tipos: no hay comprobación de tipos ni tsc
CEl compilador TCC (0.9.27), que compila y ejecuta un archivo .c
PythonCPython 3.12 compilado a WebAssembly
RubyRuby 3.2 en WebAssembly
PHPPHP 8.2 en WebAssembly, ejecutado como el php de línea de comandos
JavaBeanShell, un intérprete de estilo Java, experimental y limitado: no es javac, no admite procesadores de anotaciones y no se ejecutan las clases con objetos, herencia o interfaces, los genéricos, las lambdas, los enums ni printf
Kotlinkotlinc 2.3 en el móvil; si el proyecto usa una librería que la app no incluye, cae a un modo script más simple que puede fallar
ShellEl sh propio de Android, que no trae la mayoría de herramientas de línea de comandos: si falta una, termina con exit 127
SQLSQLite de Android, sobre una base de datos temporal por archivo
HTMLNo lo renderiza: comprueba la estructura y ofrece Abrir en DevBrowser
MarkdownAbre la vista previa
JSONValida el archivo

HTML, Markdown y JSON son vistas previas y comprobaciones más que runtimes, pero son lo que usas en el trío de cada día ("escribe un script, monta una página, revisa unos datos"). Funcionan en cuanto abres la app.

¿Quieres el detalle de uno? Escribimos una guía completa de cómo ejecutar Python en Android — cómo se ejecuta la build de WebAssembly en local, qué cubre la librería estándar y sus límites honestos (sin pip, así que es un entorno de scripting y aprendizaje, no un stack de ciencia de datos).

Tres más, a una descarga

Más allá de los lenguajes incluidos, PocketCode ofrece packs de lenguaje opcionales. Descargas un pack una vez, desde Ajustes → Compiladores y runtimes → Runtimes de lenguaje adicionales, y a partir de ahí ese lenguaje se ejecuta en el dispositivo, igual que los de serie. Los packs que puedes instalar hoy:

  • Lua 5.4 (unos 0,6 MB). El editor no tiene resaltado para Lua, así que los archivos .lua se abren como texto plano.
  • Go (unos 38 MB), con el intérprete Yaegi. No es un go build completo: solo librería estándar, un archivo cada vez, sin go get y sin proyectos con go.mod.
  • Scripts estilo Rust (unos 1,4 MB), con Rhai. Es un lenguaje de scripting con sintaxis parecida a Rust, no rustc: sin traits avanzados, lifetimes, async ni crates.

En total son 16 lenguajes y tipos de archivo, con 17 runners (Kotlin tiene un runner de respaldo), desde el mismo editor, en el mismo móvil, sin un servidor de por medio.

Lo que todavía no se ejecuta

El gestor de complementos también lista Perl, C++ (Clang), C#, Zig, Dart y Swift, pero ninguno de los seis se puede instalar en esta versión: la app no incluye la huella que necesita para descargarlos. Sus archivos se abren en el editor y Run queda deshabilitado. Java tampoco se compila, y no hay un rustc real ni una toolchain completa de Go. No contamos nada de esto como ejecutable.

Por qué "en el dispositivo" lo es todo

Ejecutar en local no es una nota técnica al pie — cambia lo que un móvil puede ser:

  • Tu código se ejecuta en el dispositivo. Una vez iniciada la sesión, los lenguajes incluidos y cada pack que hayas descargado se ejecutan en local. Importa justo donde el móvil brilla: trayectos, vuelos, cobertura irregular, redes de mercados emergentes. (La app necesita conexión para iniciar sesión; abrir la app con una sesión ya iniciada funciona sin conexión.)
  • Tu código es tuyo. No se envía nada a un ejecutor de terceros. Los motores WebAssembly (Python, Ruby, PHP, Lua, Go, Rhai) no tienen red por defecto; Ejecutar con argumentos trae un interruptor Permitir red en motores WASM. Node.js, C y el shell no dependen de él.
  • No hay nada que montar. Ni entorno de terminal que arrancar, ni toolchain que compilar a mano. El runtime ya está ahí; solo pulsas Run.
  • Es inmediato. No hay un contenedor remoto que despertar — la ejecución empieza en el dispositivo.

El editor que lo rodea

Un runner es solo la mitad; también quieres escribir bien el código. Cada lenguaje se abre en el mismo editor de código: resaltado de sintaxis TextMate para 39 lenguajes, servidores de lenguaje con un toque para 19 de ellos (Java, Kotlin, Go, Rust, C, C++ y Ruby no están entre ellos), un formateador integrado para 24, edición multicursor y una barra de símbolos de programación. La salida aparece en el panel Run — print/console.log, trazas, códigos de salida y un cuadro de stdin para los programas que leen datos. También hay un terminal integrado: su shell tiene node en el PATH, pero Python, Ruby, PHP, C, Java y Kotlin se ejecutan desde el botón Run del editor, no como comandos de shell.

Qué es, y qué no

Ser claro con el alcance mantiene las expectativas honestas:

  • Genial para scripting, aprender un lenguaje, practicar algoritmos, automatización, prototipado y ejecutar código real lejos del escritorio.
  • No es una granja de compilación nativa completa. El cómputo pesado va a velocidad de intérprete, y los runtimes que dependen de enormes ecosistemas nativos (piensa en los paquetes con extensiones en C de Python) se quedan en lo que cada lenguaje trae en el dispositivo. Los complementos son solo archivos WebAssembly: Google Play no permite descargar compiladores nativos.

Dentro de esas líneas, es un runtime multi-lenguaje de bolsillo que se ejecuta en local.


Un móvil, 16 lenguajes y tipos de archivo, ejecutándose en el dispositivo que tienes en la mano.

PocketCode está disponible en Google Play. Consigue PocketCode para ejecutar tu lenguaje favorito en tu propio dispositivo.

Preguntas frecuentes

¿Se puede ejecutar código en Android?

Sí. PocketCode ejecuta lenguajes de programación reales directamente en el móvil: hoy 16 lenguajes y tipos de archivo, 13 incluidos en la app y 3 como descargas opcionales. Abres un archivo, tocas Run (está marcado como experimental) y el código se ejecuta en el dispositivo.

¿Qué lenguajes se pueden ejecutar en Android?

Hoy se ejecutan 16 lenguajes y tipos de archivo, con 17 runners. Incluidos en la app: JavaScript (Node.js), TypeScript (se quitan los tipos, no se comprueban), Shell, validación de JSON, vista previa de Markdown, una comprobación de HTML, SQL sobre SQLite, Python 3.12, Ruby 3.2 y PHP 8.2 (WebAssembly), Java (experimental y limitado: un intérprete BeanShell, no javac, y la mayor parte del código orientado a objetos, los genéricos, las lambdas y printf no se ejecutan), Kotlin y C (TCC). Descargas opcionales: Lua 5.4, Go (intérprete Yaegi, solo librería estándar) y scripts estilo Rust (Rhai, no rustc). Perl, C++, C#, Zig, Dart y Swift aparecen en el gestor de complementos, pero todavía no se pueden instalar.

¿Hace falta un ordenador o un servidor para ejecutar el código?

No. El código se ejecuta en el propio móvil. Necesitas conexión para iniciar sesión; abrir la app con una sesión ya iniciada funciona sin conexión; después no se sube nada a ningún servidor remoto para ejecutarlo.

¿Necesitas Termux?

No. Los runtimes vienen integrados en PocketCode — no hay nada que instalar desde un gestor de paquetes ni compilar a mano.

¿Se puede compilar código en un móvil?

C sí: el compilador TCC incluido compila un archivo .c y lo ejecuta en el dispositivo. Kotlin se ejecuta con kotlinc en el móvil y, si el proyecto usa una librería que la app no incluye, cae a un modo script más simple. Java es experimental y limitado: lo interpreta BeanShell en lugar de compilarlo javac, y la mayor parte del código orientado a objetos, los genéricos, las lambdas y printf no se ejecutan. C++ todavía no se puede ejecutar.

¿El código que ejecuto puede abrir conexiones de red?

En los motores WebAssembly (Python, Ruby, PHP, Lua, Go, Rhai) no: no tienen red por defecto y puedes permitirla en «Ejecutar con argumentos». Node.js, C y el shell no dependen de ese interruptor.

¿La ejecución de código necesita cuenta o conexión?

Necesitas una cuenta gratuita (email, Google o GitHub) y conexión para iniciar sesión. Después, tu código se ejecuta en el dispositivo.

La herramienta detrás de este artículo

Editor de código

¿Listo para probar PocketCode?

Descarga la app y empieza a programar desde tu móvil.