Google ha un’ambizione non più segreta che nel medio-lungo periodo potrebbe diventare un serio problema per Apple. È un ragionamento obliquo, complicato, seguiamolo, partendo da una premessa.
La rinascita di Apple, giusto venti anni fa con l’arrivo dell’iMac e poi di altre novità volute da Steve Jobs, è passata sicuramente per lo stile, il design, l’attenzione del pubblico di massa (iMac, iPod e seguenti) ma anche dalla creazione di strumenti per i professionisti sempre più solidi (PowerMac e PowerBook, e poi Mac Pro e MacBook Pro) che all’inizio del millennio hanno settato il passo per un’intera generazione di professionisti.
Oltre al pubblico delle aziende, dei lavoratori autonomie e al pubblico dei creativi, a cui sempre si fa riferimento quando si dice che Apple si è messa all’incrocio tra tecnologia e arti liberali, fin troppe volte dimentichiamo che c’è anche il pubblico delle persone che maneggiano il codice. Stiamo parlando di chi fa pagine web, di chi fa app, di chi fa software aziendale, di chi fa amministrazione di reti o quant’altro, non stiamo parlando di una nicchia minuscola e irrilevante. Bisogna mettere in prospettiva: solo per lo sviluppo delle app di iOS serve Xcode e quindi serve un Mac. E se andiamo avanti, possiamo comprendere anche chi sta nell’ambito delle scienze naturali, della fisica, della matematica. Il Mac come computer “possibile” per scienza e tecnologia: meglio di Windows, più facile di Linux.
E questo lentamente si è fatto sentire. Non è stata una spinta che è passata dalle riviste di moda o dai servizi del telegiornale, ma le “mind-share”, le quote di mercato mentali che ha conquistato anche in ambito scienza e tecnologia è stata la base per la rivoluzione che ha portato macOS (e indirettamente anche una parte di iOS) a vincere.
Questa è la premessa da tenere a mente per il ragionamento che segue. Perché, mentre macOS sta lentamente diventando meno rilevante anche alla luce del tentativo di Microsoft con Windows 10 e la PowerShell, Bash e ambiente di sviluppo sempre più “comodo” per chi fa codice, siti web, reti etc, di conquistare le stesse “mind-share” che fino ad oggi aveva Apple, all’orizzonte arriva Google con il suo Chrome OS.
Negli annunci che vengono fuori da Google I/O 2018 (qui la nostra prima cronaca) non ci sono solo Google Assistant, la nuova faccia di Google News e Android P. Invece, un annuncio quasi secondario arriva a segnare le possibilità di sviluppo e crescita di Chrome OS.
Infatti, uno degli obiettivi di Google quest’anno è anche quello di consentire agli sviluppatori di scrivere codice direttamente sui Chromebook. Come fare a farlo? Servono degli strumenti che non sono tanto Xcode (questo è un desiderio più strettamente vincolato alla visione di Apple) ma anche tutta la galassia di cose open source che solitamente pensiamo appartengano a Linux e a macOS in quanto Unix (con l’aiuto magari di un gestore di pacchetti come Homebrew).
Vuoi che Chrome OS esegua il terminale Linux, la bash, Git, Sublime, Vim o Emacs? Tutto questo sarà possibile a partire da quest’anno. «Basta andare – dice Kan Liu, direttore di gestione dei prodotti di Chrome OS a VentureBeat – dove si trovano normalmente le app, sia sui siti Web che tramite apt-get nel terminale Linux, e ottenere quelle applicazioni come qualsiasi altra distribuzione Linux». Detto fatto, facile facile. Arriva anche AndroidStudio per Chrome OS, ma questa è un’altra storia.
Quel che invece appare chiaro è che Google scommette su Chrome OS come suo sistema operativo “alla macOS”, che fa il lavoro grosso ma dietro le quinte, per un pubblico relativamente diverso da quello Android: scuole, utenti leggeri, sviluppatori front e backend, domani anche persone che lavorano in ambito scientifico e tecnologico grazie agli strumenti che si possono usare nel cloud ma anche grazie alla possibilità di utilizzare l’edge computing della macchina sulla quale si sta lavorando.
Google utilizza Debian Stretch, la versione 9 della distribuzione base di Linux e la mossa, che in realtà sarebbe stata possibile da tempo dato che Chrome OS è comunque basato su Linux, apre la strada a quello che tutti gli informatici “vecchia scuola” ritengono essere fondamentale: un computer facile da usare ma anche configurabile sino al più piccolo dettaglio e dotato degli strumenti per poter sviluppare direttamente al suo interno nuovo software. Magari le app Android, magari il front end di un sito web.
Google implementa questo tramite una macchina virtuale chiusa in una sandbox con il suo sistema operativo (Debian) e lo storage, che però funziona fianco a fianco al sistema operativo e permette di scambiare documenti con la massima sicurezza. Praticamente, come usare Windows su Mac con Parallels. Per adesso è sperimentale, funziona solo con i Pixelbook e non è ancora stabile.
Tutto questo, chiudiamo il cerchio, on è attualmente possibile con iOS. Intendiamoci: il sistema operativo dei tablet e smartphone di Apple giunto alla versione 11 è produttivo e non solo “di consumo”, perché consente l’utilizzo di app sempre più ricche e complesse con soluzioni tecniche di sistema sempre più intelligenti (File, la gestione dei documenti trasversale alle differenti sandbox, le schermate appaiate, la possibilità di passare dati da una app all’altra (trascinando da un all’altra), le chiamate strutturate come link tra le app etc). Però non va oltre questo: l’ambiente resta progettualmente chiuso e non è possibile sviluppare codice o installare tutte quelle cose che appartengono al mondo open e dintorni.
Per dire: se vogliamo riprendere la lista di cose che vengono indicate sopra per Chrome OS nell’esempio fatto da Kan Liu, l’equivalente per iOS è frutto di un mix di app, gestione di connessioni remote, utilizzo di sistemi non aggiornati, oppure del tutto assente.
Il terminale e la bash si possono ottenere solo con una app che permetta una connessione SSH a un server esterno, Git si può gestire tramite delle app (la fantastica Working Copy) ma non si può creare un repository locale solo una sua immagine, Sublime Text può essere cambiato con Coda o Textastic, Vim inteso come editor di testo per iOS esiste in versione molto limitata (l’ottimo Buffer Editor ad esempio: l’abbiamo recensito qui) ed Emacs ha anche lui le sue possibili alternative. Ma la sostanza non cambia: che senso ha scrivere codice se poi non puoi compilare e provare a vedere se funziona? Sia esso una pagina web (e qui si può già molto) che un db o un front end in Javascript o meglio ancora una app?
Nel mondo macOS ovviamente le cose non stanno così. Però Apple non permette a strumenti potentissimi come l’ottimo BBEdit di entrare nel mondo iOS, mentre strumenti di semplice scrittura anche complessa come Scrivener invece il salto l’hanno fatto con successo! E adesso anche gli eBook possono essere fatti “per bene” con Pages su iOS, quindi gli spazi di autonomia di iOs lentamente si stanno creando. (Senza contare l’app per imparare a programmare Swift, presente solo su iOS e non su macOS, dove invece si programma davvero con Switf).
Apple in questo momento ha un problema con macOS ma un vantaggio grande con iOS, l’unico sistema moderno, alcuni dicono “del futuro”, su piazza. Google però con Chrome OS è là, dietro la curva, che rimonta rapidamente. La mossa di portare il mondo dello sviluppo del codice di tutti i tipi (del quale diamo quotidianamente ed enfaticamente notizia come “la lingua del futuro” e via dicendo) è una mossa apparentemente secondaria, una tecnicalità, una di quelle cose che non sono importanti, riguardano solo i geek. Poi, quando avremo milioni di ChromeBook che costano poco e vengono usati da tutti per fare sviluppo e lavorare in mobilità, la cosa non sembrerà più così banale o sciocca o scontatamente secondaria.