Programmare su Apple Watch
Fare sul serio con gli esperimenti folli
- Pubblicato
- Aggiornato
- (creato )
- Scritto da
- Willem L. Middelkoop
- Argomenti
- SSH · ThinkPad · apple · creare · creatività · esperimento · hacking · iOS · iPhone · portatile · linux · minimale · programmazione · retro · smartphone · vim · orologio · lavoro
- Versione umana di questo articolo
- https://willem.com/it/2017-02-16_programmare-su-apple-watch/
- English
- Programming on Apple Watch
- Nederlands
- Programmeren op de Apple Watch
- Deutsch
- Programmieren auf der Apple Watch
- Español
- Programando en el Apple Watch
- Français
- Programmer sur l'Apple Watch
- Português
- Programar no Apple Watch
- Papiamentu
- Programá riba Apple Watch
- Frysk
- Programmearje op de Apple Watch
- Lingue
- Tradotto dall’originale inglese da un modello linguistico in due passaggi (traduzione e correzione) con un glossario e un controllo ortografico; non ancora letto da un madrelingua.
Riassunto
Negli ultimi anni gli esperimenti folli non mi sono mai mancati, ma questa volta volevo davvero spingermi all'estremo: programmare su un Apple Watch. Sarebbe davvero possibile scrivere codice su un dispositivo così minuscolo? E perché mai farlo? Questo articolo parla del valore degli esperimenti folli e del perché dovresti provarci anche tu!
Testo completo
Una settimana fa scambiavo qualche e-mail con il mio amico Niels, raccontandogli l'idea di usare un iPhone per lavorare. Lui ha suggerito (in olandese) di portare l'idea al livello successivo... l'Apple Watch.

Lui ha usato le sue geniali capacità con Photoshop, io ho usato Xcode, le mie conoscenze di Linux, SSH, VIM, la rete locale, una tastiera bluetooth, un vero Apple Watch, un po' di tempo e pazienza.... col risultato di questo proof of concept:


Come funziona (per principianti)
Ho creato una piccola app per Watch che si collega a un computer esterno su cui gira il software di sviluppo. La tastiera è collegata a questo computer esterno, così posso davvero scrivere codice. Il principio è semplice e si può paragonare all'app Fotocamera che l'orologio ha di serie: usi l'orologio come mirino per la fotocamera dell'iPhone. Questa app per Watch è come un "mirino" per il codice di programmazione.
Come funziona (per i più tecnici tra noi)
Nella rete locale faccio girare un piccolo server NodeJS su una macchina Linux che fa screenshot di una sessione shell in cui gira il mio editor di codice preferito, VIM. La tastiera è collegata a questo laptop via Bluetooth. Sul Watch ho creato una semplice app che ogni pochi secondi scarica un nuovo screenshot e lo mostra a schermo intero. È un proof of concept, niente di degno dell'App Store (c'è parecchia latenza tra un aggiornamento e l'altro, ma funziona). Se pensi di costruirlo da solo, cerca WKInterfaceImage, UIImage, NSURLSession e dataTaskWithURL

Perché
Sperimento regolarmente, perché mi permette di capire come faccio le cose. Gli esperimenti mi costringono a ripensare cose che do per scontate o normali. Per molti versi "la caccia è meglio della cattura".
Sperimento attivamente con hardware e software nuovi, solo per restare aggiornato e imparare cose nuove. Nel 2008, pochi mesi dopo il lancio dell'App Store, sono stato tra i primissimi a iniziare con lo sviluppo iOS. Anche se il potenziale non era chiaro, ho imparato e sperimentato con la tecnologia. La mia esperienza iniziale mi ha aiutato a programmare l'app Snake '97 nel 2011, un'altra idea folle che si è rivelata un gioco da 20 milioni di download... :-))

Cosa ho imparato
Quindi, invece di chiedere "Perché?", faresti meglio a chiedere "Cosa ho imparato?". Be', parecchie cose in realtà:
- Porta il tuo ambiente di programmazione nel terminale: passa al testo, lascia perdere l'IDE (come Visual Studio) e impara a usare davvero bene VIM (o emacs) con le scorciatoie da tastiera. Questi strumenti girano praticamente su qualsiasi dispositivo e non richiedono un sistema operativo proprietario.
- Addio al mouse: tieni le dita dove scrivi il codice, sulla tastiera. Invece di cercare il mouse, usa la tastiera (le scorciatoie). Ci vuole un po' per imparare, ma alla fine sei molto più veloce. Oltre alla velocità ottieni la possibilità di usare qualsiasi schermo, perché più dispositivi supportano la tastiera ma non il mouse (pensa a console, smart TV, AppleTV, dispositivi d'altri tempi)
- Usa bene i pixel: se ti limiti a uno schermo piccolo, sei costretto a pensare meglio a come usarli. Ti servono davvero tutte quelle barre degli strumenti sempre visibili? Meno elementi dell'interfaccia sono visibili in permanenza, più spazio ottieni per il contenuto vero e proprio. Meno distrazioni, più concentrazione.
- Scrivi codice migliore: per tenere tutto leggibile su uno schermo piccolo, impari a fare davvero attenzione a struttura del codice, logica delle funzioni e nomi. Gli schermi piccoli incoraggiano righe di codice più corte e funzioni più compatte. Ti costringe a semplificare e accorciare, a ripeterti meno. Questi vantaggi valgono anche per gli schermi più grandi.
- Non ti serve più davvero un PC: se è possibile su un Watch, pensa agli altri dispositivi che ti porti dietro, come smartphone e tablet. Riuscire a usare meglio i tuoi dispositivi mobili ti renderà meno dipendente dai PC tradizionali.
- L'Apple Watch ha del potenziale: già tempo fa degli sviluppatori di Facebook sono riusciti a far girare il famoso gioco 3D Doom sull'Apple Watch. Anch'io ho imparato che il dispositivo ha un potenziale serio. Comincio a pensare che l'Apple Watch sia molto più un "computer mobile sempre con te" che qualcosa da paragonare a un tradizionale orologio meccanico.

Conclusione
Tutto questo esperimento mi ha davvero fatto fare un salto avanti nel mobile computing. Ho imparato a ottimizzare i miei strumenti e il mio modo di lavorare. In realtà, l'intero articolo è stato creato su un iPhone, comprese le foto (scattarle, ritagliarle), e non mi è sembrato strano per niente. Lo adoro perché rende tutto più facile, ed è questo che ha reso valido l'esperimento
Bonus: Nokia Communicator e Jolla
Mentre scrivevo questo articolo mi sono chiesto se i miei vecchi Nokia Communicator funzionassero ancora. Dopo aver trafficato un po' con le vecchie batterie sono riuscito a far partire l'E90 e il 9300i. Con Putty e il WiFi 802.11b sono riuscito a collegarmi al nuovo sistema di sviluppo che ho creato per questo esperimento con l'Apple Watch. Indovina un po'? Ha funzionato benissimo: chi ha bisogno di un telefono nuovo, comunque? :-)



