Android e iOS
Dopo aver dato una veloce idea di come funziona il lato html di Meteor, è ora di tornare sull’aspetto più interessante, la possibilità di non limitarsi a gestire il codice di client e server, ma anche aggiungere due piattaforme mobili, di gran lunga le più diffuse, grazie all’integrazione di Apache Cordova.
Lo svilupo di applicazioni mobili, nella documentazione è descritto sostanzialmente solo per unix: sia Linux, sia OS X. La creazione di applicazioni per iOS richiede espressamente un Mac, perché la catena di compilazione per iOS è legata a XCode e OS X, mentre lo sdk di Android può essere installato ovunque.
Il primo passo consiste nell’installazione degli ambienti di sviluppo
meteor install-sdk android # per Android
meteor install-sdk ios # per iOS
Nel caso di iOS dobbiamo completare l’installazione lanciando XCode e accettando le condizioni di licenza, mentre lo sdk per Android non ha bisogno di rifiniture.
Il secondo passo nell’aggiunta del supporto per le piattaforme, cioè dei package meteor necessari per lo sviluppo mobile. Ricordiamoci che Meteor eredita da Node.js un eccellente sistema di gestione dei package, chiamato npm.
meteor add-platform android # per Android
meteor add-platform ios # per iOS
Adesso, possiamo mandare in esecuzione l’applicazione di test sugli emulatori delle due piattaforme
meteor run android # per Android
meteor run ios # per iOS
Meteor ci assiste anche nel lancio dell’applicazione su veri device connessi al sistema
meteor run android-device # per Android
meteor run ios-device # per iOS
Il verdetto
Meteor è una grossa novità ed è opportuno tenerla nel radar strategico. Sul web, Meteor è stato definito quello che è stato Rails per Ruby, una definizione che coglie alcuni punti di contatto, precisamente l’estensione di un concetto elegante a un’eleganza diffusa in tutta la catena di sviluppo.
Usare un solo linguaggio per client e server ha dei vantaggi indiscutibili. In questa epoca che tende a favorire i client robusti, nei team sono richieste conoscenze di qualità sia dal lato client, sia dal lato server. Se il linguaggio e le tecniche sono le stesse, ci sono benefici indiscutibili.
I punti di forza sono solidissimi
Il framework non è una promessa. Nonostante sia sempre in crescita è già maturo e le tecnologie su cui si appoggia, come Node.js e Cordova, sono quelle che comunque sono rilevanti per qualsiasi nuovo progetto. Il team di sviluppo è notevole e la comunità è molto attiva, questo significa che non solo c’è abbondanza di documentazione, ma esistono anche numerosi siti satelliti, come crater.io, eventedmind.com, meteortips.com. In particolare, segnaliamo una introduzione ai punti di forza dell’ambiente alla url bit.ly/whymeteor.
La base che offre Node.js è notevole, per esempio possiamo procurarci il necessario per gestire gli account sul nostro sito, con la scelta fra account nativi e account offerti dalle principali piattaforme che supportano openID, con questi comandi
meteor add accounts-password
meteor add accounts-twitter
meteor add accounts-google
meteor add accounts-facebook
e infine aggiungere una infrastruttura di interfaccia utente per il login con
meteor add accounts-ui
Questo è molto meglio che rivolgere uno sguardo a metà fra condiscendente e disperato al cliente e al direttore tecnico che chiedono il supporto per un login più semplice.
Abbiamo anche già visto quanti dettagli, come una accurata compilazione degli header, sono resi non necessari dagli automatismi del framework. La semplicità con cui si crea uno scheletro di applicazione e quella con cui si riveste lo scheletro di bellezza, con un po’ di css, sono un altro elemento importante: è facile e rapido avere qualcosa da far vedere, una funzione molto importante con i tempi che corrono e fanno correre.
Infine aggiungiamo a multipiattaforma un’altra parola chiave su cui riflettere: real time.
Michele Costabile