Se hai cercato un'app per screenshot di codice su iPhone, probabilmente ti aspettavi una carrellata. Dieci app, una tabella comparativa, un vincitore.
Non c'è niente da scrivere. Vai a cercare e trovi strumenti web da aprire in Safari, ed editor di codice che colorano la sintassi ma non producono immagini da condividere. La categoria che sul desktop abbonda, come software iPhone nativo quasi non esiste.
È un vuoto strano per una cosa che tantissimi sviluppatori fanno, e vale la pena capirlo prima di accontentarsi della prima scheda del browser che si carica.
Trasparenza prima di proseguire: noi facciamo Codeshot, una delle poche opzioni native, e non è gratuita. L'ultima sezione dice a chi non conviene comprarla. Ecco com'è su un iPhone, così sai per cosa si sta argomentando:
Cosa trovi davvero
Strumenti web. Carbon.now.sh, ray.so e una lunga coda di siti simili. Sono loro i veri occupanti del campo. Funzionano su un telefono nel senso che la pagina si carica.
Editor di codice. Textastic e Koder sono app iOS native davvero buone che colorano il codice. Nessuna delle due cerca di produrre un'immagine impaginata per un post: semplicemente non è quello che fa un editor.
Pochissimo in mezzo. Quel vuoto è tutto l'argomento di questa pagina.
Per correttezza verso l'App Store: è enorme, e può benissimo esistere qualcosa che né noi né una ricerca facciamo emergere. Ma il fatto che si debba cercare è già il risultato. Sul desktop questa categoria è affollata fino alla parodia.
Perché il vuoto esiste
Non perché non lo voglia nessuno. Per quanto costa costruire la cosa.
Uno strumento per screenshot di codice è fatto di tre pezzi che devono andare d'accordo. Un evidenziatore di sintassi che copra abbastanza linguaggi da essere utile — cioè distribuire e mantenere un insieme di grammatiche, non scrivere una regex. Un renderer che imposti il testo con il carattere, le spaziature e la cornice giusti, e produca gli stessi pixel ogni volta. Una catena di esportazione che scali in modo pulito e consegni l'immagine dove deve andare.
Sul web tutti e tre sono quasi gratis. Il browser ha già un motore di layout, highlight.js è un tag script e l'esportazione è un canvas. È per questo che Carbon esiste, ed è per questo che anche la dozzina di strumenti che sono seguiti sono pagine web: il costo marginale del prossimo è bassissimo.
In nativo è l'opposto. Ti porti il tuo evidenziatore, il tuo layout del testo, il tuo rendering. E a differenza di uno strumento web, non spedisci una correzione con un push su un branch.
L'incentivo ha quindi sempre puntato verso il browser. Le app che sono andate native sono andate dove il nativo paga: gli editor, dove ti serve comunque una vera gestione del testo.
Cosa si rompe quando uno strumento web incontra un telefono
Niente di drammatico. È attrito, tre volte, ogni volta.
Far entrare il codice. L'editor è un'area di testo web. Le maniglie di selezione, il cursore e la correzione automatica si comportano come in qualsiasi altro campo web su iOS, cioè non come un editor di codice.
Regolare qualunque cosa. La premessa di Carbon è che tutto sia regolabile: tema, carattere, riempimento, sfondo, scala. Su una scrivania è una fila di menu che scorri. Su un telefono sono bersagli piccoli da cercare, e ognuno copre l'anteprima che stai regolando. ray.so regge meglio proprio perché offre meno.
Far uscire l'immagine. L'esportazione è un download del browser. Su iOS significa che il file finisce da qualche parte e lo vai a cercare, invece di passare dritto nell'app da cui stavi pubblicando.
Una volta al mese non conta nulla di tutto questo. Ogni settimana, sono sempre le stesse tre battaglie.
Cosa dà davvero il nativo
Tre cose, e riguardano tutte le estremità più che il centro.
Gli appunti sono un tocco. Gli appunti universali fanno sì che lo snippet copiato sul Mac sia già sul telefono. Un'app nativa può prenderlo direttamente.
L'esportazione va nel pannello di condivisione. Non un download: dritto in Messaggi, Slack, una bozza, File o la libreria foto.
Le tue impostazioni restano. Tema, sfondo e rapporto sono ancora quelli che hai scelto l'ultima volta, ed è gran parte del motivo per cui la decima immagine richiede secondi e non minuti.
Ce n'è una quarta che per alcuni conta e per altri per niente: il tuo codice non finisce mai in una pagina web. Se stai incollando lavoro per clienti o una funzionalità non ancora uscita, quella distinzione può contare per qualcuno sopra di te anche se per te non conta.
Quindi cosa dovresti usare
Ogni tanto — ray.so in Safari. Gratuito, con abbastanza poche opzioni da non trasformare uno schermo piccolo in un problema, e un risultato dignitoso. Uno strumento gratuito che usi due volte al mese non ha bisogno di essere sostituito.
Soprattutto alla scrivania — Carbon.now.sh sul Mac, e smetti di provarci dal telefono. È gratuito, open source ed eccellente dove è stato pensato per essere usato.
Regolarmente, dal telefono — è per questo caso che il nativo esiste. Codeshot è un'app nativa per Mac e iPhone: incolli dagli appunti con un tocco, 30 temi di sintassi, 60 linguaggi riconosciuti dal codice stesso, rapporti da 1:1 a 9:16 ed esportazione nel pannello di condivisione.
Mai — lo screenshot integrato. Cattura la larghezza del tuo telefono anziché quella del tuo codice, e le righe sono già mandate a capo prima che tu prema qualcosa.
Chi non dovrebbe comprare la nostra
Costa 5,99 $ ed è solo per dispositivi Apple. Ogni strumento web di questa pagina è gratuito e gira ovunque.
Se fai un'immagine di codice al mese, ray.so è la risposta giusta e preferiremmo che usassi quello. Se non sei né su iPhone né su Mac, questa decisione non ti riguarda. E se le tue immagini le fai sempre a una scrivania, Carbon sul computer è gratuito e ottimo.
L'argomento a favore di un'app nativa è stretto e preciso: lo fai spesso, lo fai dal telefono, e l'attrito ha iniziato a costarti più dell'app.
Se sei tu, Come catturare codice su iPhone lo percorre per intero, e Carbon.now.sh su iPhone approfondisce cosa si rompe nel browser.