Apple Maps e Google Maps – Pro e contro per gli sviluppatori iOS

Di - 29 March 2013 - in
Post image for Apple Maps e Google Maps – Pro e contro per gli sviluppatori iOS

Le mappe di Apple, nate con l’ultima major release di iOS, hanno ormai raggiunto una qualità ragionevolmente buona per un utilizzo pratico, nonostante l’esordio disastroso che ha indirettamente colpito anche diverse applicazioni che ne hanno dovuto fare uso, e sembrano in continuo miglioramento. La qualità e le funzionalità di MapKit, l’interfaccia per sviluppatori fornita da Apple, sono ormai paragonabili a quelle del Google Maps SDK, recentemente sbarcato su iOS sfruttando anche il flop dichiarato del sistema di Cupertino.

Dopo un periodo in cui l’obbligo era MapKit, unico prodotto disponibile, e un periodo in cui Maps SDK era di molto superiore, è arrivato il momento di chiedersi quale dei due prodotti utilizzare nelle proprie applicazioni.

FastCompany Labs ha intervistato due sviluppatori di applicazioni molto diffuse per iOS: Lee Armstrong, che ha realizzato la notissima app Plane Finder, che consente di mostrare la posizione di aerei (e che ha visto la sua app passare da cinque a tre stelle con l’introduzione di MapKit)  e Bryce McKinlay, autore di TubeTamer, applicazione per il tracciamento dei mezzi di trasporto londinesi.

I due hanno spiegato molto obiettivamente i pro e i contro dell’utilizzo dei due sistemi, che esporremo analizzeremo qui.

Il primo grande vantaggio del sistema Google rispetto a quello Apple è l’accuratezza. Nonostante i miglioramenti, infatti, Apple Maps non raggiunge ancora i livelli di accuratezza di Google Maps, e per applicazioni come PlaneFinder, che non lavorano sulle ormai molto accurate aree urbane (anche gli aeroporti sono spesso in zone rurali), il rischio di veder atterrare gli aerei in mezzo ai campi invece che sulla pista è elevato. Inoltre, le API Places di Google consentono di trovare punti di interesse, aeroporti e stazioni comprese, in maniera estremamente precisa, e non hanno una controparte Apple.

Altri grandi vantaggi del sistema Google sono nella visualizzazione delle mappe. Prima di tutto, le foto satellitari di Google sono qualitativamente molto buone in tutte le aree interessanti, mentre quelle di Apple offrono ancora una qualità molto variabile. A questo si aggiungono problemi di qualità percepita: le mappe di Google possono essere ruotate e viste in prospettiva, mentre quelle di Apple, utilizzate via MapKit nelle applicazioni, non consentono quest’operazione. Inoltre, nella visualizzazione ibrida, che mostra le strade sopra alle foto satellitari, le strade sono mostrate trasparenti e poco ingombranti in Google Maps, mentre sono opache e ingombranti su MapKit, rendendo il sistema Apple meno usabile. Nella foto che segue, vediamo le mappe di Google a sinistra, le mappe di Apple viste via MapKit al centro e le mappe di Apple viste dall’app proprietaria a destra:

Sebbene nella zona ripresa nell’immagine, la qualità delle fotografie non sia troppo dissimile, l’utente percepisce la prima mappa come di gran lunga superiore alle altre due, considerando anche che mostra in maniera molto chiara punti di riferimento interessanti (la stazione della metropolitana è mostrata anche da Apple Maps, ma non via MapKit, non esistendo una API che rende disponibile il dato).

Il problema della qualità percepita, per le applicazioni cross-platform, assume un valore molto particolare: ammettendo di voler sfruttare i vantaggi offerti dal sistema Apple (sí, ce ne sono, ci arriveremo), resta decisamente poco elegante fornire un livello di piacevolezza della grafica su Android, ed avere un’app molto piú “brutta”, o comunque diversa, su iOS. Peraltro, non sembra che, almeno in un prossimo futuro, Apple voglia portare il suo sistema su altre piattaforme.

Infine, l’SDK di Google rende disponibili una buona collezione, in rapida crescita, di servizi accessori. Abbiamo il già citato Places, che permette di trovare i punti di interesse, ma abbiamo anche le indicazioni stradali, il geocoding (la trasformazione, molto precisa, di indirizzi in coordinate) e molto altro.

Per quanto riguarda i vantaggi delle mappe Apple, il primo e piú evidente punto a favore è il costo. MapKit, infatti, può essere utilizzato gratuitamente senza alcun limite, mentre l’SDK di Google ha un limite di 100000 richieste giornaliere. Può sembrare un limite adeguato, ma come fa notare McKinlay, funzioni come l’autocomplete aumentano di molto il numero di richieste per ricerca, rischiando di trovarsi ad avere periodici blocchi sull’applicazione.

Altro ovvio vantaggio del kit di sviluppo di Cupertino è il suo essere già integrato nel sistema. Chi utilizza l’SDK di Google, infatti, deve includere nell’applicazione anche le librerie di Google Maps, che occupano un paio di MB nel pacchetto scaricabile, che una volta installate utilizzano 6MB circa della memoria del telefono. L’integrazione con il sistema poi, permette a MapKit di essere molto piú reattivo, e la cosa si percepisce molto nelle operazioni per le quali è richiesta una buona fluidità, come il pinch-to-zoom.

Molti sviluppatori, piú che all’estetica delle mappe stesse, saranno interessati alle possibilità offerte per disegnare marcatori e linee sulle mappe, che è l’utilizzo piú comune di questo genere di API. Tanto Armstrong con Plane Finder, che mostra rotte e posizioni degli aerei, quanto McKinlay, che sulle mappe in TubeTamer mostra linee di trasporti e percorsi a piedi, fanno largo uso di questa funzionalità.

E anche in questo campo vince il MapKit di Apple: l’API di Google per disegnare linee è molto scarna, e permette solo il tracciamento di line poligonali. Mapkit, invece, è piú flessibile, e permette ad esempio di colorare le linee con un gradiente, cosa che ha molte applicazioni pratiche, come visualizzare l’altitudine in Plane Finder. Le due immagini che seguono confrontano PlaneFinder con Google Maps, a sinistra, e Apple Maps, a destra.

Per quanto riguarda i marcatori, l’approccio di Google è quello di imporre la creazione di oggetti che contengono le coordinate e l’immagine. Apple, invece, permette di creare oggetti con le coordinate e un testo, che rimanda all’immagine. Questo permette la creazione di codice piú complesso, ma anche piú snello e ordinato, non costringendo a ridefinire l’immagine per ogni singolo marcatore.

I marcatori di Google infine, diversamente da quelli di Apple, non possono essere trascinati o animati.

Entrambi gli sviluppatori però, concordano sul fatto che l’API di Google sia di piú immediata comprensione ed utilizzo e che per progetti non grandi in termini di numero di marcatori da disegnare, dove l’ordine non sia una priorità, sia vantaggioso l’utilizzo del sistema Google.

Per concludere, quale è il migliore?

Difficile a dirsi. Il kit di sviluppo proposto da Google è un prodotto ancora immaturo, ma è in sviluppo rapidissimo e continuo, e conta su delle mappe di qualità veramente ottima. D’altra parte, il sistema Apple, pur offrendo la garanzia di essere disponibile anche in un futuro non prossimo, essendo parte di iOS, si evolve lentamente e a scatti, assieme alle release del sistema operativo. Non si può quindi escludere che in breve tempo Google si trovi a surclassare Apple anche per quanto riguarda le funzionalità offerte.

Inoltre, va notato che non c’è un sistema che abbia piú funzionalità: sono entrambi molto evoluti in campi diversi: Google offre una maggiore quantità di dati, peraltro di qualità migliore (come si nota nell’immagine che segue, a sinistra Google e a destra Apple), mentre Apple offre un ottimo sistema per disegnare dati sulle mappe.

Personalmente, nonostante MapKit di Apple sia di piú semplice utilizzo essendo già integrato, punterei molto sull’utilizzo della Google Maps API. È si molto bello poter realizzare disegni graficamente accattivanti in maniera facile ed efficiente, ma è pessimo mostrarli su mappe poco dettagliate o imprecise. La rapida maturazione delle Maps API poi, fanno sperare in miglioramenti importanti, che rendono il kit di Google un investimento davvero molto buono. Infine, sebbene Apple garantisca il supporto delle funzionalità attuali anche in futuro, l’esperienza insegna come le funzionalità introdotte ad ogni rilascio non vengano rese disponibili su tutte le versioni del sistema. Il sistema di Google, piú trasversale, potrebbe offrire vantaggi anche in questo senso.

È un approccio interessante utilizzare entrambi i kit, ed offrire all’utente la scelta. Armstrong ha fatto cosí per il suo Plane Finer, ma sottolinea come sia necessario scrivere lo stesso codice due volte, con svantaggi anche nell’overhead sul peso dell’applicazione e sulla semplicità di sviluppo.

Via | FastCompany Labs

Leave a Reply

Lorenzo Breda Articolo scritto da

Studente di Informatica a Roma, si occupa di programmazione web sopratutto lato server, e di accessibilità del web. Utilizza e ama Debian GNU/Linux, e si interessa di fisica, fumetto, trekking e fotografia (gli ultimi due possibilmente abbinati). Collabora con Googlab da aprile 2012.

Contatta l'autore

Previous post:

Next post: