Comprensione dell'ecosistema iOS

Prima di iniziare a creare applicazioni iOS, è fondamentale comprendere innanzitutto l'ecosistema. Questo articolo esaminerà i fondamenti del sistema operativo iOS, i vari dispositivi iOS disponibili e l'App Store di Apple.


Perché iOS?

Prima dell'arrivo di Android e Windows Phone, Apple era il giocatore dominante nello spazio mobile, rivaleggiato solo da Nokia e BlackBerry. Con l'emergere di nuove piattaforme mobili, è diventato sempre più importante chiedersi quale piattaforma è più adatta a te. Nonostante l'avvio di Apple nel 2007, Android ha superato iOS nella quota di mercato. Cosa significa questo per iOS? È ancora una piattaforma che vale la pena sviluppare? Lo è di sicuro. Ci sono molti ottimi motivi per iniziare con lo sviluppo di iOS.

  • Forti incentivi finanziari: Le persone spendono più denaro su App Store di Apple che su qualsiasi altra piattaforma mobile. Nonostante Android sia diventato il giocatore dominante nello spazio mobile, la piattaforma iOS rimane più redditizia per gli sviluppatori.
  • Giardino recintato: Anche se l'App Store di Apple ha ricevuto molte critiche da parte di sviluppatori e clienti, in particolare del processo di revisione di Apple, è chiaro che questa politica ha portato ad un App Store in cui la qualità dell'applicazione media è superiore rispetto a qualsiasi altro negozio mobile. Inoltre, i clienti tendono a sentirsi molto più sicuri quando acquistano applicazioni dall'App Store piuttosto che in altri Aperto piattaforme, come Google Play.
  • Comunità e supporto: La community di sviluppatori iOS è una grande community di cui fare parte. C'è una fornitura quasi illimitata di articoli, tutorial e documentazione per aiutarti quando ti trovi bloccato in un problema. Inoltre, la documentazione Apple dell'SDK iOS è superba, per non parlare delle centinaia di video WWDC (World Wide Developer Conference) disponibili per ogni sviluppatore iOS registrato.

Le persone spesso dimenticano o non sanno che Android e iOS sono piattaforme molto diverse. Anche se entrambe le piattaforme sono state progettate per lo spazio mobile, l'ecosistema iOS si differenzia per molti aspetti dall'ecosistema Android di Google. Dal punto di vista dello sviluppo, molte persone sembrano trovare più facile sviluppare per la piattaforma iOS che per la piattaforma Android. Non fraintendermi, non mi riferisco allo stack tecnologico utilizzato da ciascuna piattaforma, né mi riferisco agli strumenti disponibili per ciascuna piattaforma. Due ragioni sono alla base del baratro tra iOS e Android, frammentazione e tasso di adozione.

La frammentazione

Uno dei punti di forza di Android è allo stesso tempo uno dei principali punti deboli. Come molti di voi sanno, il sistema operativo Android viene rilasciato come progetto open source e può quindi essere utilizzato e modificato. Numerosi produttori di hardware hanno visto il potenziale di Android, soprattutto perché supportato da Google. Di conseguenza, Android ha guadagnato rapidamente popolarità. Il problema è che ogni produttore di hardware ha modificato Android in base alle proprie esigenze e dall'introduzione di Android è emersa un'ampia varietà di fattori di forma.

Anche se la quota di mercato di Android può sembrare una grande fonte di miele, è un problema creare software che funziona su ogni versione Android attualmente disponibile. A causa delle migliaia di dispositivi diversi che eseguono Android, testare software su hardware non è un compito banale. Come puoi immaginare, il supporto e la compatibilità diventano una vera sfida.

Tasso di adozione

Tradizionalmente, in molti paesi, il mercato wireless è sotto stretto controllo da parte dei vettori cellulari. Fin dall'inizio, Apple sapeva che era necessario avere il controllo dei propri dispositivi mobili per fornire la migliore esperienza utente possibile. Il risultato è che i clienti possono aggiornare i loro dispositivi iOS all'ultima versione di iOS lo stesso giorno in cui viene rilasciata al pubblico. Questo è un grande vantaggio della piattaforma iOS e il suo risultato è notevole. Meno di tre mesi dopo il rilascio di iOS 7, oltre il 74% dei dispositivi iOS è stato aggiornato a iOS 7.

Confrontiamolo con Android. A dicembre 2013, meno del 55% degli utenti Android aveva aggiornato i propri dispositivi a Jelly Bean (rilasciato a luglio 2012) e l'1,1% era passato a KitKat (rilasciato nell'ottobre 2013).

La ragione per sollevare questi numeri non è minimizzare la piattaforma Android o qualsiasi altra piattaforma mobile. Quello che voglio sottolineare è l'impatto che il tasso di adozione ha sull'ecosistema applicativo di queste piattaforme. Gli utenti più lenti adottano una nuova versione di un sistema operativo, gli sviluppatori più lunghi sono costretti a supportare versioni precedenti del sistema operativo e diventa meno attraente adottare nuove tecnologie, che possono essere utilizzate solo su una frazione dei dispositivi Android.

monetazione

Anche se Android sta recuperando terreno, iOS è ancora di gran lunga la migliore piattaforma in termini di monetizzazione. Durante l'evento più recente di Apple, Tim Cook ha annunciato che i clienti avevano scaricato oltre 60 miliardi di applicazioni e che Apple aveva pagato più di $ 13 miliardi agli sviluppatori iOS. Nel settembre 2013, durante l'annuale evento iPhone di Apple, Tim Cook ha annunciato che la società aveva venduto oltre 700 milioni di dispositivi iOS. Se stai pensando di sviluppare per una piattaforma mobile, allora iOS è una scelta eccellente e l'incentivo finanziario per farlo è improbabile che cambi in qualsiasi momento presto.


Perché nativo?

Se sei un lettore frequente di Envato Tuts +, potresti aver sentito parlare di framework multipiattaforma come PhoneGap o Titanium Mobile. Potresti chiederti perché dovresti affrontare il problema dell'apprendimento di Objective-C quando puoi creare applicazioni iOS utilizzando JavaScript. Lascia che ti dia una breve panoramica delle tue opzioni se decidi di sviluppare applicazioni iOS.

  • Applicazioni Web: Un'applicazione web è la tua prima opzione e questa era in effetti l'unica opzione prima dell'introduzione dell'SDK iOS nativo nel 2008. L'aspetto positivo delle applicazioni Web è che non devono occuparsi dell'App Store o del processo di revisione di Apple. Perché? Un'applicazione web è un nome di fantasia per un sito Web che agisce e si comporta come un'applicazione. Tutto ciò di cui hai bisogno è un browser, come Mobile Safari o Google Chrome.
    Le applicazioni Web hanno chiari vantaggi. Sono multipiattaforma per impostazione predefinita poiché l'applicazione viene eseguita in un browser. Un altro vantaggio è la curva di apprendimento per creare applicazioni web. Se hai familiarità con lo sviluppo web, sarai subito operativo.
    Ovviamente, gli svantaggi delle applicazioni Web non possono essere ignorati. Un'applicazione web ha un accesso limitato alle funzionalità dei dispositivi su cui eseguono. Le applicazioni web mobili sono piuttosto potenti grazie a HTML5 e JavaScript. Tuttavia, ci sono restrizioni distinte in termini di ciò che possono fare. Non sarai in grado di utilizzare tutte le fantastiche funzioni di iPad e iPhone. Inoltre, le applicazioni Web in genere richiedono il funzionamento di una connessione di rete, sebbene esistano eccezioni a questa regola. Tuttavia, forse il più grande svantaggio di creare esclusivamente applicazioni web è che, in generale, si sentiranno molto più lenti delle applicazioni native. La reattività delle app Web è in costante miglioramento, ma il ritardo ereditato aggiunto dal browser non deve essere trascurato o ignorato.
  • Quadro mobile multipiattaforma: La promessa di un framework multipiattaforma è che gli sviluppatori possono scrivere un'applicazione che può essere distribuita su più dispositivi mobili da una singola base di codice. Questo si ottiene con una serie di approcci diversi. Alcuni framework, come PhoneGap, utilizzano l'SDK nativo della piattaforma per creare una visualizzazione Web in cui è incorporata l'applicazione. Come con le applicazioni web, questo impone limitazioni in termini di funzionalità. Il vantaggio principale è che l'applicazione si presenta come un'applicazione nativa in termini di esperienza utente e che può essere distribuita attraverso lo store della piattaforma.
    Anche se i framework di sviluppo mobile potrebbero sembrare il Santo Graal per lo sviluppo mobile, ci sono una serie di aspetti negativi che devono essere considerati. Lo svantaggio più importante è che l'applicazione dipende da un framework di terze parti. In altre parole, l'intera base di codici diventa dipendente dalla società che fornisce la soluzione multipiattaforma. Se questa azienda fallisce o è lenta nell'attuare le modifiche apportate all'SDK nativo, potresti essere costretta a ricominciare da capo. Questo è un rischio che non dovrebbe essere ignorato.
  • SDK iOS: La scelta di sviluppare con l'SDK nativo è la scelta migliore se si desidera creare applicazioni che si distinguono e sfruttare appieno le funzionalità del dispositivo. Optare per un'applicazione nativa significa anche lavorare in un ambiente di sviluppo robusto e affidarsi agli strumenti di sviluppo, alle utility e al supporto di Apple.

Ecosistema iOS

Uno degli aspetti più interessanti dell'ecosistema iOS è la sua semplicità. L'elenco di dispositivi in ​​grado di eseguire iOS è sorprendentemente breve se confrontato con Android o Windows Phone. Ciò significa che testare le applicazioni iOS è molto meno ingombrante rispetto ad altre piattaforme.

Come affermato in precedenza, Android ha superato iOS in termini di quota di mercato, ma questa è solo una parte della storia. La piattaforma iOS rappresenta oltre il 50% dell'utilizzo del web su dispositivi mobili. Cosa ci dice questo sullo spazio mobile? Ci dice che iOS rimane il sistema operativo più utilizzato nello spazio mobile, almeno online, e questo nonostante la maggiore quota di mercato di Android.

dispositivi

Esistono essenzialmente due famiglie di dispositivi all'interno dell'ecosistema iOS: la famiglia di dispositivi iPhone, che include anche l'iPod Touch e la famiglia di dispositivi iPad. Per una panoramica completa, ti consiglio di dare un'occhiata a questo elenco.

Le principali differenze nella famiglia di dispositivi iPhone sono le capacità hardware e le dimensioni dello schermo. L'iPhone 5, 5S, 5C e l'iPod Touch di 5a generazione hanno tutti uno schermo da 4 "più ampio, mentre i modelli precedenti hanno il più familiare schermo da 3,5". La differenza di dimensioni dello schermo ha un impatto sullo sviluppo, ma non aggiunge molto overhead per la maggior parte delle applicazioni. Ne parlerò di più nel corso della serie.

Nel 2012, la famiglia iPad è stata ampliata con l'introduzione dell'iPad Mini. Anche se l'introduzione di iPad Mini ha causato un'ondata nel settore della tecnologia, ha un impatto minimo per gli sviluppatori iOS. Lo schermo dell'iPad Mini è significativamente più piccolo di quello del 10 "iPad e iPad Air, ma la risoluzione è identica alla risoluzione degli iPad da 10". A causa dello schermo più piccolo dell'iPad Mini, la dimensione media degli obiettivi tattili è inferiore e questo potrebbe rappresentare un problema per alcune applicazioni esistenti.

iOS

Apple rilascia tradizionalmente una nuova versione del proprio sistema operativo mobile ogni anno. Ad oggi, Apple ha rilasciato sette versioni principali del suo sistema operativo mobile con la versione più recente di iOS 7. Il supporto dei dispositivi è un aspetto di iOS che le persone spesso trascurano. Prendi l'iPhone 4, per esempio. L'iPhone 4 è stato rilasciato nel 2010 ed è ancora in grado di eseguire iOS 7. Non esiste una piattaforma mobile che si avvicini anche a questo in termini di supporto dei dispositivi.

App Store

Uno dei motivi principali per lo sviluppo della piattaforma iOS è l'incredibile successo dell'App Store. La vendita di software non è mai stata così semplice, grazie all'App Store e al Mac App Store. Apple ha recentemente annunciato che l'App Store ha superato il traguardo di 1 milione di applicazioni. Sta diventando un po 'affollato nell'App Store, ma tieni presente che anche il numero di dispositivi iOS continua a crescere esponenzialmente.

Lo spazio mobile è ancora nella sua infanzia e c'è ancora così tanto potenziale che è in attesa di essere scoperto. Proprio come lo è stato con il web alla fine degli anni '90, lo spazio mobile continuerà a crescere a un ritmo veloce e la quantità di denaro che può essere aumentata aumenta con ogni nuovo smartphone o tablet venduto.


Conclusione

Ora hai una chiara immagine dell'ecosistema iOS e spero di essere stato in grado di convincerti a iniziare lo sviluppo di iOS. Nel prossimo post, ti mostrerò come iniziare con l'SDK nativo impostando l'ambiente di sviluppo. Sarai sorpreso di quanto sia facile.

Risorse extra

Se non conosci lo sviluppo di iOS o lo sviluppo di dispositivi mobili in generale, potresti essere interessato a consultare la nostra pagina di sviluppo dell'app in Envato Studio.