Xcode. Interface Builder. El simulador de iOS. Un proyecto completo de Swift con 47 archivos. Todo corriendo a través de mi iPad Pro en una cafetería. Sin concesiones. Sin atajos. Esta es la historia completa.
El problema de «programar en iPad»
Cada año, Apple hace el iPad más potente. Los chips de la serie M. La pantalla Liquid Retina XDR. El Magic Keyboard. Y cada año, los desarrolladores se hacen la misma pregunta: ¿puedo programar de verdad en esto?
La respuesta siempre ha sido «más o menos». Puedes usar VS Code en un navegador con GitHub Codespaces. Puedes conectarte por SSH a un servidor con Blink Shell. Puedes usar apps como Swift Playgrounds para experimentos básicos. Pero en cuanto necesitas las herramientas de verdad —Xcode, Android Studio, Visual Studio, una terminal como Dios manda con tus dotfiles—, estás atascado.
No son limitaciones arbitrarias. Apple no permite IDE completos en iPadOS. Xcode nunca correrá de forma nativa en un iPad (al menos no la versión completa). Y los editores en el navegador, por buenos que sean, están limitados de raíz por lo que puede hacer una pestaña del navegador.
Así que probé otro enfoque. En vez de llevar el IDE al iPad, llevé el iPad al IDE.
La configuración: Remio + Mac mini + iPad Pro
Mi configuración es casi vergonzosamente simple:
- Mac mini M4: en casa, siempre encendida, con Xcode y todas mis herramientas de desarrollo
- iPad Pro de 13": con Magic Keyboard y Apple Pencil, esté donde esté
- Remio: conecta ambos, sin ninguna configuración
Abro Remio en el iPad, escribo el PIN que muestra mi Mac mini y en dos segundos estoy viendo el escritorio de mi Mac. A resolución completa. A todo color. Con todo mi entorno de desarrollo exactamente donde lo dejé.
Sin VPN que configurar. Sin túneles SSH que mantener. Sin cuenta que crear. Solo un PIN y una conexión.
Por qué esto es mejor que programar en el navegador
He probado todas las alternativas. En serio, todas. Esta es la razón por la que Remio con una Mac de verdad supera a cualquier solución basada en navegador que he probado.
GitHub Codespaces / VS Code Web
Codespaces es realmente impresionante para el desarrollo web. Pero corre en un contenedor Linux. Sin Xcode. Sin Interface Builder. Sin simulador de iOS. Sin editor de modelos de Core Data. Si estás creando apps para iOS o macOS, simplemente no es una opción. E incluso para desarrollo web, estás limitado por el sandbox del navegador: sin acceso a archivos locales, sin terminal nativa, sin poder ejecutar procesos arbitrarios en segundo plano.
SSH + editores de terminal
Amo Vim. De verdad. Pero crear una app SwiftUI con 47 archivos, xibs, catálogos de recursos y un modelo de Core Data en un editor de terminal no es productividad, es masoquismo. Las funciones de un IDE como el autocompletado, la refactorización, las vistas previas en vivo y el depurador visual existen por algo.
Escritorios en la nube (AWS WorkSpaces, Shadow PC)
Puedes rentar una Mac en la nube por unos 50-100 dólares al mes. Pero tú ya tienes una Mac. ¿Por qué pagar por rentar una peor? Con Remio usas tu máquina real, con tus archivos reales, tu cadena de herramientas real, tu entorno real. Y la latencia es mejor porque tu Mac está en tu red doméstica, no en un centro de datos en Virginia.
Un día de trabajo real
Te cuento cómo es un día de trabajo real: un martes en la cafetería.
08:30 AMMe siento, me conecto, retomo
Me siento en una cafetería con mi iPad y el Magic Keyboard. Abro Remio. Me conecto a mi Mac mini en casa. Xcode ya está abierto con mi proyecto de anoche: cada punto de interrupción, cada pestaña, cada cambio sin confirmar, exactamente donde lo dejé.
08:35 AMEscribo SwiftUI
Escribo código SwiftUI. El autocompletado funciona perfecto porque es Xcode de verdad corriendo en una Mac de verdad con un compilador de Swift de verdad. Cada pulsación se siente instantánea: el manejo de entrada nativo de Remio hace que no haya un retraso perceptible entre presionar una tecla y ver aparecer el carácter.
Entrada nativa entregada directamente al host: unos 8 ms de procesamiento en una LAN, medidos internamente; el resto es la cadencia de actualización de 60 Hz de tu propia pantalla.
09:15 AMEjecuto en el simulador de iOS
Necesito probar en el simulador de iOS. Presiono ⌘R. El simulador se abre en mi Mac y lo veo en la pantalla del iPad. Puedo interactuar con el iPhone simulado con gestos táctiles en mi iPad, lo cual resulta sorprendentemente natural. Tocar, deslizar, desplazar. Simplemente funciona.
10:00 AMTrabajo de interfaz en Interface Builder
Hora de trabajar en la interfaz. Abro Interface Builder. Arrastro restricciones, ajusto diseños, veo vistas previas en distintos tamaños de dispositivo. Este es exactamente el tipo de trabajo imposible en un editor en el navegador. Las herramientas visuales son insustituibles.
11:30 AMDepuro concurrencia
Depuro un problema de concurrencia complicado. Pongo puntos de interrupción, avanzo paso a paso por el código, inspecciono variables en el depurador. LLDB funciona perfecto porque uso el original, no una aproximación web.
01:00 PMCambio a Android
Después de comer, cambio a mi proyecto de Android. Cierro Xcode y abro Android Studio. La misma conexión, la misma configuración. A Remio no le importa qué app esté usando: transmite todo el escritorio.
07:00 PMBalance del día
Al final del día, escribí unas 400 líneas de Swift, corregí tres errores, envié una compilación a TestFlight y revisé dos pull requests. Todo desde un iPad en una cafetería. Nada de esto requirió configuración especial ni concesiones.
Los detalles que lo hacen funcionar
Atajos de teclado
Aquí es donde la mayoría de las apps de escritorio remoto se caen. Remio reenvía todos los atajos de teclado correctamente. ⌘B para compilar. ⌘R para ejecutar. ⌘⇧O para abrir rápido. ⌃⌘Space para emojis (sí, hasta eso). Las teclas modificadoras del Magic Keyboard se asignan 1:1 a las de la Mac. No hay capa de traducción ni confusión por reasignación de teclas.
Renderizado de texto
El código es texto pequeño. Mucho. Una app de escritorio remoto que difumina el texto o introduce artefactos es totalmente inutilizable para programar. La codificación H.265 con ajustes optimizados para texto de Remio mantiene el código nítido como una navaja. Los colores del resaltado de sintaxis son exactos. Los grosores de fuente son correctos. A la resolución del iPad Pro, de verdad parece que Xcode corre de forma local.
Cambiar entre pantallas
En mi Mac mini tengo una segunda pantalla virtual. Remio me permite cambiar la pantalla que estoy viendo con un toque: código en una, el simulador en la otra. En el iPad, deslizo entre ellas o uso Stage Manager para organizar mi espacio de trabajo.
Portapapeles y transferencia de archivos
¿Necesitas tomar un mensaje de error de la consola para buscarlo después? La sincronización del portapapeles de Remio lo hace sin esfuerzo: copias texto en un dispositivo y lo pegas en el otro. Y cuando quiero un archivo de referencia dentro de la carpeta de mi proyecto, lo envío directo del iPad a la Mac.
Mis consejos de flujo de trabajo
Después de seis meses programando así, desarrollé algunos hábitos que mejoran aún más la experiencia.
- Mantén tu Mac con conexión por cable. Mi Mac mini está conectada al router por Ethernet. Esto elimina la mayor variable en la calidad de la transmisión.
- Usa una conexión Wi-Fi estable en el iPad. El Wi-Fi de 5 GHz de una cafetería suele estar bien. Si la conexión es inestable, la calidad adaptativa de Remio se ajusta automáticamente, pero una conexión estable significa texto siempre nítido.
- Configura el tamaño de fuente de Xcode en 13-14 pt. Se lee cómodamente en la pantalla del iPad Pro a través de Remio sin necesidad de hacer zoom.
- Usa atajos de teclado para todo. Mientras menos uses el toque o el mouse para operaciones del IDE, más rápido serás. Es un buen consejo también para el desarrollo local.
- Activa «Reducir movimiento» en los ajustes de iPadOS. Reduce un poco la carga de animaciones en el iPad y le da a Remio un poco más de margen de rendimiento.
Lo que no puedo hacer (con honestidad)
Para ser totalmente honesto, estas son las limitaciones.
- Necesitas internet. Si estás en un avión sin Wi-Fi, esto no funciona. Aunque lo he usado con éxito con el Wi-Fi a bordo: era lento pero funcional.
- Tu Mac tiene que seguir encendida. No es un servicio en la nube. Si alguien desconecta tu Mac o se reinicia por una actualización, pierdes la conexión hasta que vuelva.
- Las tareas extremadamente sensibles a la latencia, como los juegos o la producción de audio en tiempo real, tienen un retraso notable (aunque pequeño). Para programar, la latencia es imperceptible.
Esas concesiones son reales. Pero para mí, las supera con creces poder llevar todo mi entorno de desarrollo en una tableta de 700 gramos.
El sueño del desarrollador con iPad, hecho realidad
Durante años esperé a que Apple trajera Xcode al iPad. En algún momento me di cuenta de que quizá nunca pase, al menos no la versión completa y profesional. Así que dejé de esperar y encontré una respuesta mejor.
Remio no pone Xcode en tu iPad. Pone toda tu Mac en tu iPad. Cada app, cada herramienta, cada archivo. Con una calidad de pantalla y una respuesta de entrada que hacen sentir que la Mac está justo frente a ti, porque, en todo lo que importa, lo está.
La mejor configuración de desarrollo no es la que tiene más potencia. Es la que de verdad tienes contigo.
Mi iPad Pro con Remio es la mejor máquina de desarrollo que he tenido, no por sus especificaciones, sino porque va a todas partes conmigo y mi entorno de desarrollo completo viene incluido.
Si eres desarrollador con una Mac y un iPad, prueba Remio. La configuración toma dos minutos. No requiere cuenta. Y si te intriga el lado de los juegos, mira nuestra guía sobre cómo jugar juegos de PC en tu iPad: la misma tecnología de baja latencia que hace posible programar también hace increíbles los juegos.