Si has buscado una app de captura de código para iPhone, probablemente esperabas un recopilatorio. Diez apps, una tabla comparativa, un ganador.
No hay ninguno que escribir. Si buscas, lo que encuentras son herramientas web que abres en Safari y editores de código que resaltan sintaxis pero no producen imágenes compartibles. La categoría que abunda en el escritorio apenas existe como software nativo de iPhone.
Es un hueco raro para algo que hacen tantos desarrolladores, y merece la pena entenderlo antes de conformarte con la primera pestaña que cargue.
Aviso antes de seguir: nosotros hacemos Codeshot, una de las pocas opciones nativas, y no es gratis. El último apartado dice quién no debería comprarla. Así se ve en un iPhone, para que sepas qué se está defendiendo aquí:
Qué encuentras realmente
Herramientas web. Carbon.now.sh, ray.so y una larga cola de sitios parecidos. Son las verdaderas ocupantes del terreno. Funcionan en un teléfono en el sentido de que la página carga.
Editores de código. Textastic y Koder son apps nativas de iOS realmente buenas que resaltan código. Ninguna intenta producir una imagen con estilo para una publicación: sencillamente no es para lo que sirve un editor.
Muy poco en medio. Ese hueco es todo el asunto de esta página.
Siendo justos con el App Store: es enorme, y bien puede existir algo que ni nosotros ni una búsqueda saquemos a la luz. Pero que haya que buscar ya es el hallazgo. En el escritorio esta categoría está abarrotada hasta la parodia.
Por qué existe el hueco
No porque nadie lo quiera. Por lo que cuesta construir la cosa.
Una herramienta de captura de código son tres piezas que tienen que entenderse entre sí. Un resaltador de sintaxis que cubra suficientes lenguajes para ser útil: eso significa distribuir y mantener un conjunto de gramáticas, no escribir una expresión regular. Un renderizador que componga texto con la tipografía, el espaciado y el marco de ventana correctos, y produzca los mismos píxeles cada vez. Una cadena de exportación que escale limpiamente y entregue la imagen allá donde vaya.
En la web las tres salen casi gratis. El navegador ya tiene un motor de maquetación, highlight.js es una etiqueta script y exportar es un canvas. Por eso existe Carbon, y por eso la docena de herramientas que vinieron después también son páginas web: el coste marginal de la siguiente es bajísimo.
En nativo es al revés. Traes tu propio resaltador, tu propia maquetación de texto y tu propio renderizado. Y, a diferencia de una herramienta web, no despachas un arreglo empujando a una rama.
Así que el incentivo siempre ha apuntado al navegador. Las apps que sí fueron nativas fueron donde lo nativo compensa: editores, donde de todas formas necesitas un manejo real del texto.
Qué se rompe cuando una herramienta web se encuentra con un teléfono
Nada dramático. Es fricción, tres veces, cada vez.
Meter el código. El editor es un área de texto web. Los tiradores de selección, el cursor y la autocorrección se comportan como en cualquier otro campo web de iOS, es decir, no como un editor de código.
Ajustar cualquier cosa. La premisa de Carbon es que todo sea ajustable: tema, tipografía, relleno, fondo, escala. En un escritorio es una fila de menús que repasas. En un teléfono son objetivos pequeños que hay que buscar, y cada uno tapa la vista previa que estás ajustando. ray.so sobrevive mejor a esto precisamente porque ofrece menos.
Sacar la imagen. Exportar es una descarga del navegador. En iOS eso significa que el archivo aterriza en algún sitio y vas a buscarlo, en vez de pasar directo a la app desde la que publicabas.
Una vez al mes, nada de esto importa. Cada semana, son las mismas tres peleas siempre.
Qué aporta de verdad lo nativo
Tres cosas, y todas tienen que ver con los extremos, no con el medio.
El portapapeles es un toque. El portapapeles universal hace que el fragmento que copiaste en el Mac ya esté en tu teléfono. Una app nativa puede cogerlo directamente.
La exportación va a la hoja de compartir. No una descarga: directo a Mensajes, Slack, un borrador, Archivos o la fototeca.
Tus ajustes se quedan. El tema, el fondo y la proporción siguen siendo los que elegiste la última vez, y eso explica casi todo lo que hace que la décima imagen tarde segundos y no minutos.
Hay una cuarta que a algunos les importa y a otros nada: tu código no entra nunca en una página web. Si estás pegando trabajo de cliente o una función sin lanzar, esa distinción puede importarle a alguien por encima de ti aunque a ti no.
Entonces, ¿qué deberías usar?
De vez en cuando — ray.so en Safari. Gratis, con las opciones justas para que una pantalla pequeña no sea un problema, y un resultado decente. Una herramienta gratuita que usas dos veces al mes no necesita reemplazo.
Sobre todo en un escritorio — Carbon.now.sh en tu Mac, y deja de intentarlo en el teléfono. Es gratis, de código abierto y excelente donde se diseñó para usarse.
Con regularidad, desde el teléfono — para este caso existe lo nativo. Codeshot es una app nativa para Mac e iPhone: pegas del portapapeles en un toque, 30 temas de sintaxis, 60 lenguajes detectados del propio código, proporciones de 1:1 a 9:16 y exportación a la hoja de compartir.
Nunca — la captura de pantalla integrada. Registra el ancho de tu teléfono en vez del de tu código, y las líneas ya vienen partidas antes de que pulses nada.
Quién no debería comprar la nuestra
Cuesta 5,99 $ y es solo para dispositivos Apple. Todas las herramientas web de esta página son gratuitas y funcionan en cualquier sitio.
Si haces una imagen de código al mes, ray.so es la respuesta correcta y preferiríamos que la usaras. Si no estás en un iPhone ni en un Mac, esta decisión ni se te plantea. Y si tus imágenes se hacen siempre en un escritorio, Carbon en el ordenador es gratis y muy bueno.
El argumento a favor de una app nativa es estrecho y concreto: haces esto a menudo, lo haces desde el teléfono, y la fricción ha empezado a costarte más que la app.
Si ese eres tú, Cómo capturar código en iPhone lo recorre entero, y Carbon.now.sh en iPhone profundiza en qué se rompe en el navegador.