Negli ultimi tre anni l’uso di Working Copy per chi scrive è stato praticamente quotidiano. L’app per iPad (ma funziona anche su iPhone) è il complemento perfetto per gli sviluppatori e non solo, come abbiamo dimostrato con il tutorial in tre parti per scrivere usando git (qui la prima, qui la seconda e qui la terza parte). Con Working Copy (si scarica gratuitamente da qui) è infatti possibile gestire Git, il software open source creato da Linus Torvalds per funzionare da sistema di controllo di versione distribuito. Git è nato per il versionamento del codice sorgente del software, che però è sostanzialmente fatto da file di testo e quindi va bene anche per la prosa e la poesia se scritta in testo semplice. È inoltre un software nato per essere collaborativo e coordinare tra loro i repository locali di tantissimi utilizzatori. Si può utilizzare per la prosa e la poesia, come abbiamo visto nel tutorial, ma in realtà si usa molto meglio per sviluppare. Vediamo come funziona e cosa si può fare.
Com’è fatto Working Copy
L’app è stata creata dallo sviluppatore danese Anders Borum, che ha realizzato qualcosa che non c’era. Soprattutto da quando nel 2018 quelli di Panic hanno deciso di non fare più Transmit per iOS, cioè l’app per fare gestione dei file su una pluralità di protocolli (da Ftp a Sftp sino ad S3 di Amazon), perché non aveva abbastanza acquirenti (Panic però continua a realizzare ancora l’editor Coda e la shell/ssh Prompt 2). Da allora il ruolo delle due app di Anders Borum è diventato sempre più centrale per molti ecosistemi di sviluppo su iOS/iPadOS (per comodità, da adesso iOS e basta). Da una parte, cioè Secure ShellFish (di cui parleremo un’altra volta) e dall’altra la “nostra” Working Copy.
La app è un client git che permette di collegarsi a server remoti, salvare una copia in locale dei vari repository gestendo connessioni sicure con ssh, e integrarsi con altre app per fargli accedere i documenti, dopodiché effettuare il commit e il push verso il repository remoto (opzione freemium a pagamento). Inoltre, l’app ha una anteprima dei file a bordo, con diverse sintassi di linguaggi di programmazione e anche quella per il markdown, e permette anche di editare, vedere e risolvere i conflitti con un tool che fa i “diff” dei file (il metodo che i programmatori utilizzano sulla riga di comando.
Working Copy non è un ambiente di sviluppo integrato, ma su iOS ancora non c’è Xcode o altre IDE che permettano di scrivere, debuggare e fare le build, cioè eseguire il codice e testarlo per verificare che funzioni. Questo su iPad non è possibile se non in un modo un po’ più complicato e indiretto rispetto a quanto si può fare su Mac o su Linux e Windows. Tuttavia, con un approccio a piccoli passi, un mattoncino alla volta, grazie a sviluppatori come Anders Borum e altri, ci stiamo arrivando. Vediamo come.
Come funziona Working Copy
L’app funziona molto bene, letteralmente senza un singolo singhiozzo. Richiede di avere competenze nell’uso di git, che non è il sistema più intuitivo al mondo perché costringe i programmatori a ragionare in maniera piuttosto complessa e tridimensionale per capire la relazione fra il codice che viene scritto in locale, le differenti branch, e gli altri repository. Git non è semplicemente un sistema di versionamento, perché non prevede l’esistenza di un repository “centrale” (la “verità”) e una serie di repository locali minori, ma ognuno dei repository è completo e centrale. In questo modo è possibile riorganizzare il lavoro in modalità molto diverse e con una flessibilità unica.
Working Copy consente di gestire la maggior parte delle operazioni che un operatore che sta lavorando al repository può voler fare. Non è invece un sistema di gestione dei ticket aperti dalle persone che contribuiscono a un sistema centralizzato. Per gestire ad esempio le varie richieste, segnalazioni di bug, richieste di merge e altro di un repository molto popolare, lo sviluppatore che voglia farlo in leggerezza e mobilità utilizzerà altri programmi più completi di questo. Invece Working Copy serve per continuare a lavorare e modificare quel che si fa su qualsiasi progetto che sia conservato in git, a prescindere che si lavori su un altro computer.
Nonostante GitHub, il più popolare tra i creatori di servizi git dal cloud abbia creato in maniera aggressiva le proprie app per la gestione dei repository, su iPad questa è decisamente la migliore app a disposizione e poi è ovviamente compatibile con gli altri fornitori (GitLab, BitBucket) oltre a tutti i repository web che vogliamo creare anche su nostri server. Vediamo nel dettaglio come va per capire cosa c’è e cosa manca.
Come va Working Copy
Il software per la gestione di git dall’iPad non ha praticamente nessuna funzionalità mancante. Anzi, a ben guardare ne ha più di quelle che ci si potrebbero aspettare per un iPad. Ha preceduto e di molto la crescita della tavoletta magica di Apple e, adesso che il sistema operativo è maturato e si è aggiunta la tastiera con trackpad integrato (o il supporto del mouse) le cose sono diventate straordinariamente buone. È il motivo per cui ve ne stiamo parlando adesso: non occorre essere sviluppatori indiavolati (e desiderosi di fare capriole) per usare iPad. Anche chi crea siti web può voler lavorare in maniera tutt’altro che banale sui propri repository usando Working Copy e una pletora di altre app che permettono di editare il codice.
Da questo punto di vista c’è da dire che la cosa più interessante, oltre alla completezza di funzioni git, che viene offerta da Working Copy e che lo rende un cittadino di prima classe del mondo iPad è la capacità di integrarsi con l’app File e di far trovare i repository che ha salvato in locale anche ad altre app, diventando di fatto un ponte tra quello che si fa sull’iPad e quello che si fa su altri apparecchi.
Inoltre, la funzione di confronto dei file è strutturata in maniera particolarmente felice e si riesce per la prima volta a memoria di questo cronista a fare dei diff sensati con l’iPad. L’app funziona poi con la precisione di un cronografo svizzero e va via come un treno, sincronizzando da più di tre anni senza perdere mai un colpo.
È possibile continuare a lavorare sul proprio sito o sui propri script e progetti software anche fuori da casa, in viaggio, in situazioni di emergenza, ma anche perché si decide di andare a lavorare al parco oppure ci si vuole rilassare in un bar e rivedere un po’ di codice. La sincronizzazione dei documenti di testo è veloce e precisa. Aggiungere un Remote è semplice e praticamente istantaneo e le varie funzioni di sincronizzazione, fetch, merge e push si fanno con immediatezza. C’è inoltre un ricco tutorial per inoltrarsi nelle astruse ma funzionali complicazioni di git che permette di capire cosa serve fare e come.
La sorpresa e il vero punto di forza di quest’app è la sua integrazione con le altre. C’è chi consiglia Textastic come editor di codice e lo abbiamo provato per gestire i nostri file di configurazione e qualche script senza che perdesse un colpo. Inoltre, la guida utente è veramente ricca e completa.
Conclusioni
Lavorare con Working Copy, l’iPad e altre app come Textastic e iA Writer per la prosa vuol dire spostarsi in un sogno. Vuol dire liberarsi dal peso mentale e fisico di un Pc e poter essere ovunque, leggeri, senza problemi e senza limitazioni. Ci si perde in quel che si sta facendo perché si recupera una esperienza paragonabile a quella di utilizzare un terminale concentrandosi solo sul codice. È la semplicità, è la possibilità di fare di più con meno. Anche perché molte, moltissime volte non serve avere di più, perché non bisogna fare molto. La difficoltà e l’importanza delle cose da fare non è direttamente proporzionale alla loro complessità.
Working Copy si presenta come una app che permette di clonare, editare, fare commit, push, pull e molto altro: l’app mantiene tutte le sue promesse e fa anche di più. Lo sviluppatore sta continuando ad arricchirla, certo di aver trovato uno spazio (con il suo pubblico di programmatori) forse non enorme ma certamente esigente e che apprezza le capacità di questa app. Dal punto di vista di chi scrive poter usare un software come questo, assieme a pochi altri, crea una catena del valore che rende prezioso l’iPad e il suo lavoro. È una app costosa, ma che vale il prezzo che lo sviluppatore fa pagare.
Pro
- Ha una interfaccia molto chiara e viene aggiornata e ripulita ulteriormente dallo sviluppatore molto spesso.
- Ha un tool per fare diff interno.
- Permette di sincronizzare i repository in locale per lavorarci offline e li condivide con le altre app iOS con il document picker a partire di iOS/iPadOS.
- Permette di accedere ai file sull’iPad o iPhone con grande semplicità ed è compatibile con il markdown oltre ad avere la possibilità di gestire l’anteprima di svariati tipi di linguaggi (Markdown, HTML, AsciiDoc, org-mode o Jupyter Notebooks anche su display esterni connessi tramite AirPlay o via HDMI).
Contro
- Il modello di vendita è freemium, la funzione push è considerata premium e bisogna pagare per averla. E costa cara
- Non supporta account multipli di GitHub.
Prezzo
Working Copy si scarica gratuitamente su App Store, funziona su iPadOS e iOS a partire dalla versione iOS 13.3 e si aggiorna alla versione pro con un acquisto in-app da 17,99 euro.