È più facile sviluppare un'app/gioco per iOS o per Android?
Come qualcuno che ha costruito e mantenuto applicazioni in entrambi, penso che si tratti di preferenze. Nessuno dei due è "più difficile" nel complesso, anche se ci possono essere cose che sono più facili su uno rispetto all'altro. Eccone alcune che mi vengono in mente:
App Store vs. Play Store
Il primo "più difficile" che posso pensare è il processo di presentazione. È molto più difficile caricare e mantenere le app iOS rispetto ad Android. Questo si riduce a una differenza fondamentale nelle filosofie tra Apple e Google.
Non c'è un processo di revisione per il Play Store e ci vogliono solo 25 dollari (o giù di lì) per iniziare a caricare a vita. Ci vogliono solo poche ore per vedere la tua app sullo store.
La revisione di Apple è molto regolata con cambiamenti ogni stagione, e può richiedere giorni se non settimane per caricare nuove applicazioni. Insieme alla tassa di 99 dollari all'anno.
Storyboards vs XML
In Android Studio, l'UI è mantenuta attraverso file XML che ho trovato molto più facile da costruire le interfacce utente rispetto agli storyboards e agli auto-layouts di Xcode. Ottenere un buon layout ridimensionabile su varie dimensioni dello schermo usando Storyboards può comportare una ripida curva di apprendimento.
Inoltre XML non è solo specifico di Android, e simile all'HTML, quindi ci sono altri casi d'uso al di fuori dello sviluppo mobile dove Storyboards è utile solo in Xcode.
Sebbene Storyboards non sia l'unico modo, è il più popolare. Apple ha cercato di rispondere con SwiftUI, che sembra promettente, ma al momento di questa risposta non è ancora pronto per la "produzione".
Gestione delle dipendenze
Molte volte quando si costruiscono applicazioni si usa il codice di qualcun altro per qualcosa. Potrebbe essere un framework per l'editing video, tastiere speciali, o una libreria di rete.
In Android c'è davvero una sola opzione, Gradle, e questo rende molto più facile la manutenzione in quanto quasi tutte le dipendenze in Android Studio sono disponibili. Aggiornare il vostro progetto è di solito una questione di cambiare qualche riga di codice.
Al contrario, iOS ne ha alcuni popolari (Swift Package Manager, Cocoapods, Carthage) tutti con vari gradi di configurazione iniziale, aggiornamento e manutenzione. Per non parlare del fatto che alcune terze parti potrebbero supportarne solo una, quindi è possibile mischiarle in un progetto, il che aggiunge solo complessità.
Variazioni hardware
Uno dei problemi più difficili che ho affrontato sviluppando per Android è il numero quasi infinito di dispositivi che lo eseguono.
Questo può rendere i test frustranti a volte, perché ciò che funziona sul Samsung, potrebbe incontrare un problema sul Google Pixel, o sul tablet Lenovo, e così via.
La cosa bella di Apple che controlla l'hardware è che ci sono pochissime variazioni tra iPhone e iPad, quindi in genere i bug si presentano sotto forma di problemi software piuttosto che di intoppi hardware.
Il verdetto
Come potete vedere ci sono una serie di motivi per cui uno potrebbe essere considerato "più difficile" dell'altro. A mio parere, trovo che iOS sia molto più ristretto e limitato nello sviluppo a causa delle severe linee guida stabilite da Apple.
Si può sicuramente "farla franca" con molto di più in Android (come il malware, l'accesso ai dati di altre app, ecc.) Questo può essere fantastico dal punto di vista dello sviluppatore, ma forse non così dal punto di vista del consumatore.
In generale, se dovessi sceglierne uno da padroneggiare, sceglierei personalmente iOS. Ma forse tu la vedi diversamente?
Articoli simili
- Confronto dei costi di sviluppo dei giochi: iOS, Android, DS, PSP. Perché è più economico sviluppare su iOS?
- È più facile sviluppare giochi Android in Unity3D o in Android Studio?
- Quanto costa sviluppare un'app di un gioco di Ludo per Android e iOS in India?
- Quanto costa sviluppare un'app di gioco di poker mobile (iOS, Android)?