Comprendre l'écosystème iOS

Avant de commencer à créer des applications iOS, il est essentiel que vous compreniez d'abord l'écosystème. Cet article examine les principes de base du système d'exploitation iOS, des différents appareils iOS disponibles et de l'App Store d'Apple..


Pourquoi iOS?

Avant l’arrivée d’Android et de Windows Phone, Apple était le principal acteur de l’espace mobile, devant lequel Nokia et BlackBerry étaient les seuls concurrents. Avec l'émergence de nouvelles plates-formes mobiles, il est devenu de plus en plus important de vous demander quelle plate-forme vous convient le mieux. Malgré les débuts d'Apple en 2007, Android a dépassé iOS en termes de parts de marché. Qu'est-ce que cela signifie pour iOS? Est-ce toujours une plateforme à développer? Tout à fait. Il y a beaucoup de bonnes raisons de se lancer dans le développement iOS.

  • Fortes incitations financières: Les gens dépensent plus d'argent sur l'App Store d'Apple que sur toute autre plate-forme mobile. Malgré le fait qu'Android soit devenu le principal acteur de l'espace mobile, la plate-forme iOS reste plus lucrative pour les développeurs..
  • Jardin fermé: Bien que l'App Store d'Apple ait suscité de nombreuses critiques de la part des développeurs et des clients, notamment du processus de révision d'Apple, il est clair que cette politique a conduit à un App Store dans lequel la qualité de l'application moyenne est supérieure à celle de tout autre magasin mobile. Les clients ont également tendance à se sentir beaucoup plus en sécurité lorsqu'ils achètent des applications sur l'App Store que sur d'autres ouvrir plates-formes, telles que Google Play.
  • Communauté et soutien: La communauté de développeurs iOS est une excellente communauté. Il existe une quantité presque illimitée d'articles, de tutoriels et de documentation pour vous aider lorsque vous vous retrouvez aux prises avec un problème. En outre, la documentation fournie par Apple sur le SDK iOS est superbe, sans oublier les centaines de vidéos WWDC (World Wide Developer Conference) disponibles pour tous les développeurs iOS enregistrés..

Les gens oublient souvent ou ne savent pas qu'Android et iOS sont des plateformes très différentes. Bien que les deux plates-formes aient été conçues pour l'espace mobile, l'écosystème iOS diffère à bien des égards de l'écosystème Android de Google. Du point de vue du développement, la plupart des gens semblent trouver qu'il est plus facile de développer pour la plate-forme iOS que pour la plate-forme Android. Ne vous méprenez pas, je ne fais pas référence à la pile de technologies utilisée par chaque plate-forme ni aux outils disponibles pour chaque plate-forme. Deux raisons sont à la base du gouffre entre iOS et Android, fragmentation et Taux d'adoption.

Fragmentation

L'une des principales forces d'Android est en même temps l'une de ses principales faiblesses. Comme la plupart d'entre vous le savent, le système d'exploitation Android est publié en tant que projet open source et peut donc être utilisé et modifié. De nombreux fabricants de matériel informatique ont vu le potentiel d’Android, notamment grâce au soutien de Google. En conséquence, Android a rapidement gagné en popularité. Le problème est que chaque fabricant de matériel a modifié Android pour répondre à leurs besoins et une grande variété de facteurs de forme ont émergé depuis l'introduction d'Android..

Même si la part de marché d’Android peut sembler être un gros pot de miel, il est difficile de créer un logiciel fonctionnant sur chaque version Android actuellement disponible. En raison des milliers de périphériques différents qui exécutent Android, tester des logiciels sur du matériel n’est pas une mince tâche non plus. Comme vous pouvez l'imaginer, le support et la compatibilité deviennent un véritable défi.

Taux d'adoption

Traditionnellement, dans de nombreux pays, le marché des services sans fil est étroitement contrôlé par les opérateurs de téléphonie mobile. Dès le début, Apple a compris qu'elle devait maîtriser ses appareils mobiles pour offrir la meilleure expérience utilisateur possible. Le résultat est que les clients peuvent mettre à niveau leurs appareils iOS vers la dernière version d'iOS le jour même de sa publication. C'est un avantage majeur de la plate-forme iOS et le résultat est substantiel. Moins de trois mois après la sortie d’iOS 7, plus de 74% des appareils iOS avaient été mis à niveau vers iOS 7..

Comparons cela avec Android. En décembre 2013, moins de 55% des utilisateurs d'Android avaient mis à niveau leurs appareils vers Jelly Bean (sortie en juillet 2012) et 1,1% avaient mis à niveau vers KitKat (sortie en octobre 2013)..

La raison de ces chiffres n’est pas de minimiser la plate-forme Android ou toute autre plate-forme mobile. Ce que je veux souligner, c'est l'impact du taux d'adoption sur l'écosystème d'applications de ces plateformes. Les utilisateurs les plus lents adoptent une nouvelle version d'un système d'exploitation, plus les développeurs sont obligés de prendre en charge les versions antérieures du système d'exploitation et il devient moins attrayant d'adopter de nouvelles technologies, qui ne peuvent être utilisées que sur une fraction des appareils Android..

Monétisation

Même si Android rattrape son retard, iOS est de loin la meilleure plate-forme en termes de monétisation. Lors du dernier événement organisé par Apple, Tim Cook a annoncé que ses clients avaient téléchargé plus de 60 milliards d'applications et qu'Apple avait versé plus de 13 milliards de dollars aux développeurs iOS. En septembre 2013, lors de l'événement annuel Apple sur l'iPhone, Tim Cook a annoncé que la société avait vendu plus de 700 millions d'appareils iOS. Si vous envisagez de développer une plate-forme mobile, iOS est un excellent choix et l'incitation financière à le faire ne changera probablement pas de sitôt..


Pourquoi autochtone??

Si vous lisez fréquemment Envato Tuts +, vous avez peut-être entendu parler de structures multiplateformes telles que PhoneGap ou Titanium Mobile. Vous vous demandez peut-être pourquoi vous ne devriez pas avoir la peine d'apprendre Objective-C lorsque vous pouvez créer des applications iOS à l'aide de JavaScript. Permettez-moi de vous donner un bref aperçu de vos options si vous décidez de développer des applications iOS..

  • Des applications Web: Une application Web est votre première option et c'était en fait la seule option avant l'introduction du SDK iOS natif en 2008. L'avantage des applications Web est qu'elles n'ont pas à traiter avec le processus de révision de l'App Store ou d'Apple. Pourquoi donc? Une application Web est un nom de fantaisie pour un site Web qui agit et se comporte comme une application. Tout ce dont vous avez besoin est un navigateur, tel que Mobile Safari ou Google Chrome..
    Les applications Web présentent des avantages évidents. Ils sont multi-plateformes par défaut car l'application s'exécute dans un navigateur. Un autre avantage est la courbe d'apprentissage pour créer des applications Web. Si vous êtes familier avec le développement Web, vous serez opérationnel en un rien de temps.
    Bien entendu, les inconvénients des applications Web ne peuvent être ignorés non plus. Une application Web a un accès limité aux capacités des périphériques sur lesquels elle s'exécute. Les applications Web mobiles sont assez puissantes grâce à HTML5 et JavaScript. Cependant, il y a des restrictions distinctes quant à ce qu'ils peuvent faire. Vous ne pourrez pas utiliser toutes les fonctionnalités intéressantes de l'iPad et de l'iPhone. De plus, les applications Web nécessitent généralement une connexion réseau pour fonctionner, bien qu'il existe des exceptions à cette règle. Cependant, l’inconvénient majeur de la création exclusive d’applications Web est qu’elles se sentiront généralement beaucoup plus lentement que les applications natives. La réactivité des applications Web s'améliore constamment, mais le délai hérité ajouté par le navigateur ne doit pas être négligé ou ignoré..
  • Cadres mobiles multiplateformes: La promesse d'un cadre multiplateforme est que les développeurs peuvent écrire une application pouvant être déployée sur plusieurs appareils mobiles à partir d'une base de code unique. Ceci est accompli avec un certain nombre d'approches différentes. Certains frameworks, tels que PhoneGap, utilisent le SDK natif de la plate-forme pour créer une vue Web dans laquelle l'application est incorporée. Comme pour les applications Web, cela impose des limitations en termes de fonctionnalités. Le principal avantage est que l'application ressemble à une application native en termes d'expérience utilisateur et qu'elle peut être distribuée via le magasin de la plateforme..
    Même si les cadres de développement mobile peuvent sembler être le Saint Graal du développement mobile, il existe un certain nombre d'inconvénients à prendre en compte. L'inconvénient le plus important est que votre application dépend d'un framework tiers. En d'autres termes, l'ensemble de votre code dépend de l'entreprise qui fournit la solution multiplate-forme. Si cette société fait faillite ou tarde à mettre en œuvre les modifications apportées au SDK natif, vous pouvez être obligé de tout recommencer à zéro. C'est un risque qui ne devrait pas être ignoré.
  • SDK iOS: Choisir de développer avec le SDK natif est le meilleur choix si vous souhaitez créer des applications qui se démarquent et tirent pleinement parti des capacités du périphérique. Choisir une application native signifie également que vous travaillerez dans un environnement de développement robuste et que vous pourrez compter sur les outils de développement, les utilitaires et le support Apple..

Écosystème iOS

L'un des aspects les plus attrayants de l'écosystème iOS est sa simplicité. La liste des appareils capables d’exécuter iOS est étonnamment courte par rapport à Android ou Windows Phone. Cela signifie que tester des applications iOS est beaucoup moins lourd par rapport aux autres plates-formes.

Comme indiqué précédemment, Android a dépassé iOS en termes de part de marché, mais ce n’est qu’une partie de l’histoire. La plate-forme iOS représente plus de 50% de l'utilisation du Web sur les appareils mobiles. Qu'est-ce que cela nous dit sur l'espace mobile? Il nous dit qu'iOS reste le système d'exploitation le plus utilisé dans le monde des portables, du moins en ligne, et ce malgré la part de marché plus importante d'Android.

Dispositifs

L'écosystème iOS comprend essentiellement deux familles de périphériques: la famille de périphériques iPhone, qui comprend également l'iPod Touch, et la famille de périphériques iPad. Pour un aperçu complet, je vous recommande de consulter cette liste..

Les principales différences dans la famille de périphériques iPhone sont les capacités matérielles et la taille de l'écran. L'iPhone 5, 5S, 5C et l'iPod Touch de 5e génération ont tous un écran 4 "plus large, alors que les modèles précédents sont dotés d'un écran 3,5" plus familier. La différence de taille d'écran a un impact sur le développement, mais n'entraîne pas de surcharge pour la plupart des applications. Je parlerai plus à ce sujet au cours de la série.

En 2012, la famille iPad a été élargie avec l'introduction de l'iPad Mini. Même si l’introduction de l’iPad Mini a eu des répercussions sur le secteur des technologies, elle n’a guère d’impact sur les développeurs iOS. L'écran de l'iPad Mini est nettement plus petit que celui de l'iPad 10 "et de l'iPad Air, mais la résolution est identique à celle des iPad 10". En raison de la taille réduite de l'écran tactile de l'iPad Mini, la taille moyenne des cibles tactiles est réduite, ce qui peut poser problème pour certaines applications existantes..

iOS

Apple publie traditionnellement une nouvelle version de son système d'exploitation mobile chaque année. À ce jour, Apple a publié sept versions majeures de son système d'exploitation mobile, dont la plus récente est iOS 7. La prise en charge des périphériques est un aspect d'iOS que les utilisateurs négligent souvent. Prenez l'iPhone 4, par exemple. L'iPhone 4 est sorti en 2010 et est toujours capable d'exécuter iOS 7. Aucune plate-forme mobile ne s'en approche même en termes de prise en charge d'appareils..

Magasin d'applications

L'une des principales raisons de développer pour la plate-forme iOS est l'incroyable succès de l'App Store. La vente de logiciels n'a jamais été aussi facile grâce à l'App Store et au Mac App Store. Apple a récemment annoncé que l'App Store avait franchi le cap des 1 million d'applications. Il y a un peu de monde dans l'App Store, mais gardez à l'esprit que le nombre d'appareils iOS continue également de croître de manière exponentielle..

L'espace mobile en est encore à ses balbutiements et il reste encore beaucoup de potentiel à découvrir. Comme ce fut le cas avec le Web à la fin des années 90, l’espace mobile continuera de croître à un rythme rapide et le montant des gains pouvant être généré augmente à chaque nouveau smartphone ou tablette vendu.


Conclusion

Vous avez maintenant une image claire de l'écosystème iOS et j'espère que j'ai pu vous convaincre de démarrer avec le développement iOS. Dans le prochain article, je vais vous montrer comment utiliser le SDK natif en configurant l'environnement de développement. Vous serez surpris de voir à quel point c'est facile.

Ressources supplémentaires

Si vous débutez dans le développement iOS ou dans le développement mobile en général, consultez notre page Développement d'applications dans Envato Studio..