Pourquoi développer sous iOS quand on est développeur Web ?

Apple Developer

Internet est presque omniprésent aujourd’hui: que ce soit les sites Internet que l’on consulte quotidiennement (réseaux sociaux, blogs, forums, …), les objets connectés en tous genre (fours, aspirateurs, bracelets, …), les jeux vidéos et j’en passe ! En effet, le Blog du Modérateur estime que 85% des foyers sont connectés à Internet en France et que 65% des français de plus de 12 ans possèdent un smartphone. La filière du web est donc perçue comme une filière d’avenir. Et pourtant tous ces métiers n’existaient pas il y a quelques années. En effet le Web ne date que de 1989 (donc moins de 30 ans). Quant au métier de Développeur iOS, l’AppStore ne date que de 2008, c’est donc un métier qui a moins de 10 ans. Je vous propose donc aujourd’hui de faire un tour d’horizon du métier de développeur web et d’expliquer pourquoi développer sous iOS est un choix judicieux.

Le métier de Développeur Web

Pourquoi choisir le métier de Développeur Web ? Quelles sont les qualifications requises ? Quel est le profil idéal ?

Comme premier point je dirai la passion. C’est un métier qui va vous faire réfléchir, vous pousser à vous creuser les méninges pour trouver la solution la plus efficace à un problème donné. Ou trouver comment arriver à faire ce qu’on vous a demandé avec les outils que vous avez en main. De plus, c’est un métier qui ne vous permettra pas de vous ennuyer car dans lequel tout bouge très vite et constamment. Par exemple PHP7, un des langages Web les plus utilisés sur le marché a été mis à jour en novembre 2015. Symfony, un outil utilisé pour développer des sites et qui fonctionne justement avec PHP a vu un mois plus tard sortir une nouvelle version. Développeur est donc un métier extrêmement dynamique qui nécessite de faire une veille technologique pour se tenir au courant des dernières tendances du marché, des dernières mises à jour de différents langages puis s’adapter, ré-apprendre, …

Un marché en pleine expansion

Ensuite, c’est un marché qui grossit de manière exponentielle depuis sa création. Le premier milliard d’utilisateur a été atteint en 2005, le second milliard en 2010 et le 3e milliard en 2014. On estime à 8.4 milliards le nombre d’appareils connectés à Internet en 2017. Et plus il y a de clients potentiels, plus la quantité de développeurs nécessaire augmente.

Enfin, toutes les entreprises peuvent avoir besoin d’un développeur dans leur équipe. Que ce soit pour un simple site vitrine, pour un blog, ou pour leur développer un outil complexe de gestion afin de mieux répondre à leurs besoins et à ceux de leur client et ainsi augmenter leur rendement. Vous aurez donc l’occasion de travailler pour des entreprises aux domaines très divers et avec des professionnels de tous genre au cours de vos différents projets. Et cet atout du métier fait que la filière technologique a un des plus forts taux d’emplois selon l’Apec .

Pour devenir développeur web, aucune connaissance de base n’est nécessaire, c’est un métier que l’on peut apprendre à tout âge et avec tous types de profils. Même s’il est vrai qu’avoir une bonne logique aide bien dans ce métier.

En quoi consiste exactement le métier de Développeur Web ?

En une phrase, le développeur web s’occupe de la conception et du développement de sites web. Mais ses missions ne s’arrêtent pas à la livraison du site web. Si le client en exprime le besoin, il peut se charger de sa formation. Il peut aussi s’occuper du support technique : son rôle étant d’intervenir s’il y a le moindre bug et de corriger ce dernier. Il existe 3 « catégories » de développeur web selon le profil et la spécialisation. 

Le développeur dit Front (ou « Front-End ») va essentiellement s’occuper de développer l’interface, c’est à dire la partie visible du site web, celle avec laquelle l’utilisateur va pouvoir interagir. Ensuite pour que le site prenne vie et que le travail du développeur Front soit complété, c’est au tour du développeur Back d’intervenir !

Le développeur Back (ou « Back-End ») est celui qui va s’occuper de développer la logique du site, la partie immergée de l’iceberg. C’est toute la partie que l’utilisateur ne verra pas pourtant sans elle le web serait comme une coquille vide, les données que l’ont rentrerait sur la partie visible (par exemple notre mail et notre mot de passe lors d’une connexion) ne seraient ni stockées ni même interprétées.

Les deux vont donc de paire, c’est pour ça que certains développeurs préfèrent ne pas se spécialiser et sont situés entre les deux métiers, ce sont les développeurs « FullStack ». C’est un profil surtout recherché par les petites entreprises cas il possède des compétences généralistes.

La place du mobile sur le Web

Depuis quelques années avec l’arrivée de smartphones de plus en plus performants sur le marché, le mobile prend de plus en plus de place sur Internet. Google a annoncé en 2015 que les recherches sur mobile avaient dépassé le nombre de recherches sur ordinateur. La Fédération du e-commerce et de la vente à distance (FEVAD) a quand à elle annoncé une augmentation de près de 40% de la vente à partir d’appareils mobile. En plus de ça, les revenus générés par les applications mobiles sont en croissance constante depuis quelques années (ici depuis 2015), de plus en plus d’entreprises se tournent vers ce nouveau marché.

Évolution des revenus des applications mobiles
Source: http://www.lefigaro.fr/secteur/high-tech/2017/10/06/32001-20171006ARTFIG00001-six-graphiques-pour-comprendre-le-marche-des-applications-mobiles-en-france.php

C’est pour ça qu’en plus du métier de Développeur Web j’ai décidé de me spécialiser dans le développement d’applications mobiles. Parmi les systèmes d’exploitation disponibles sur mobile, vous pouvez trouver Android par Google, iOS par Apple et Windows Phone par Microsoft qui sont également les trois les plus utilisés sur un marché qu’ils se partagent de manière extrêmement inégale. En effet, en fin 2016 Android et iOS se partageaient à eux deux près de 99% du marché, Windows Phone représentant à peine 0.3% du marché et les autre systèmes 0.1%.

La spécialisation mobile

Mais alors, pourquoi se spécialiser dans le développement d’applications mobiles plutôt que de se contenter de faire de sites qui s’adaptent au format mobile puisque je vous ai dit que les recherches mobiles étaient en forte augmentation ? Eh bien selon une étude de App Annie en début 2017, les utilisateurs passent 7 fois plus de temps sur les Applications que sur les navigateurs internet. Sous Android c’est 88% du temps passé sur le smartphone consacré aux applications natives. Le temps total passé sur les Applications aussi augmente puisqu’une augmentation de 40% a été observée sur le temps passé sur les smartphones Androids entre 2016 et 2017.

Ce temps passé sur les smartphones est étroitement lié à la hausse du nombre de téléchargements entre 2016 et 2017 dans le monde comme on peut le voir ici. Ce graphique dévoile aussi une information assez importante sur le marché: environ deux fois plus d’Applications sont téléchargées sous Android qu’iOS. Et Android connaît également une meilleur croissance.

Evolution des téléchargement d'apps
Source: https://www.appannie.com/fr/insights/market-data/global-app-downloads-consumer-spend-hit-q3-2017-recap/

La spécialisation iOS

Mais du coup, si iOS ne représente « que » 18% du marché et génère beaucoup moins de téléchargements qu’android, quels sont les interêts que l’ont peut avoir à devenir développeur iOS ?

Un des premiers atouts d’iOS est le fort taux de téléchargement des mises à jour par leurs utilisateurs. 70% des utilisateurs avaient téléchargé la mise à jour d’iOS 10 au bout d’un mois. Seuls 4.7% des utilisateurs Android avaient téléchargé Marshmallow deux mois après sa sortie. Or si on a un fort taux d’utilisateurs sur les anciennes versions, il est nécessaire que l’Application que l’on développe supporte ces anciennes versions. Le développement va donc nécessiter plus de tests et donc l’Application prendra plus de temps à développer.

De plus, les utilisateurs d’iOS sont généralement plus engagés et moins réticents à payer, ce qui se traduit par des dépenses presque deux fois supérieures à celles d’Android malgré la supériorité numérique d’Android sur le marché. Ces deux atouts font d’iOS une plateforme plus intéressante qu’Android quand on veut se lancer sur le marché du mobile.

Développer sous iOS

Du coup, comment développe-t’on sous iOS ? Tout d’abord il vous faudra un mac et une licence annuelle Apple Developer qui coûte une centaine d’euros. À partir de là plusieurs options s’offrent à vous selon le type de projets que vous voulez développer.

Chaque projet a ses spécificités et selonvos compétences vous allez pouvoir choisir parmi différents langages . Je vous propose de vous présenter trois méthodes différentes pour développer des applications iOS: Unity, React Native et enfin le langage « natif » d’Apple: Swift. (ce qu’on appelle en développement le natif c’est le fait de développer pour une seule plateforme dans un langage spécifique).

Unity

Unity est ce que l’ont appelle un moteur de jeu, pour faire simple c’est un logiciel qui contient un certain nombre de ressources qui permettent de développer facilement des jeux vidéos en 2D et en 3D. Il permet de développer en deux langages différents dont un langage web: le javascript. Le gros avantage de Unity c’est qu’il est multi-plateforme. C’est à dire qu’en développant votre jeu dans un seul langage vous pourrez le sortir sur iOS, Android, Windows Phone, … Une des autres forces de ce moteur est qu’il possède un magasin qui permet d’acquérir des ressources gratuites ou payantes telles que des personnages, des décors, des objets, afin de nous aider dans le développement.

React Native

Un autre outil qui est multi-plateforme également, le React Native. Lancé par Facebook en 2013, il permet de créer des applications pour iOS et Android en développant également en Javascript. L’avantage de React Native est qu’il utilise utilise des composants qui sont strictement identiques à leurs équivalents en natif. Ce qui fait qu’ils offrent la même fonctionnalité que vous obtiendriez avec les composants natifs. Et il permet même d’utiliser directement des composants natifs s’il n’existe pas en React Native. Il permet donc de gagner beaucoup de temps de développement. Comme exemple d’applications développées sous React Native, on peut citer entre autre Instagram et AirBnb.

Swift

Enfin Swift est un langage à la fois puissant et intuitif. Lancé par Apple en 2014 pour remplacer l’ancien langage utilisé par Apple: l’Objective-C. Cet ancien langage nécessitait plus de lignes de codes et utilisait plus de fichiers. En un mois seulement après son lancement il atteint la 16e place des langages de programmation les plus populaires. Il possède également son propre logiciel de développement du nom de Xcode. Il facilite le développement d’applications en proposant un certains nombre d’outils et une gestion de l’interface de l’application efficace et puissante.

ArKit, SiriKit et MLCore
ArKit, SiriKit et MLCore

En plus d’un langage simple et puissant, Apple met à disposition de ses développeurs des outils puissants gratuitement. J’ai pris ici l’exemple de trois kits sortis récemment. Le premier, ARKit, permet de créer des applications 3D en réalité augmentée. Un peu comme dans Pokemon Go par exemple. En moins d’une centaine de lignes de code vous pouvez faire apparaître un cube fixe dans les airs, ce qui en prenait plusieurs centaines avant. Le second s’appelle SiriKit . Il permet d’utiliser Siri pour son application en créant de nouvelles commandes à Siri. Ce kit permet d’améliorer l’expérience qu’auront l’utilisateur de l’Application. Le troisième enfin, CoreML, permet de faire ce qu’on appelle du Machine Learning . C’est une des nombreuses formes de l’intelligence artificielle. C’est ce qui permet par exemple de distinguer un animal d’un bâtiment sur une photo.

Se former au développement iOS

Du coup, si j’ai réussi à vous intéresser au développement iOS, vous voudrez sûrement savoir comment vous former et où. J’ai pour ma part testé trois méthodes différentes. La première c’est les documentations en ligne. L’avantage de la programmation c’est que vous trouverez toutes les documentations de tous les langages disponibles gratuitement. Vous avez aussi énormément de forums sur lesquels vous pourrez discuter avec des développeurs plus expérimentés qui répondront à vos questions et vous débloqueront de certaines situations. Un des légers désavantages de cette méthode est que non seulement vous êtes livrés à vous même (et croyez moi que sur internet les tentations de faire autre choses que travailler sont nombreuses) mais en plus la plupart des documentations et des forums sont en anglais, ce qui peut en décourager certains quand on se lance dans un nouveau domaine avec tant de nouvelles notions à apprendre.

La seconde méthode qui peut aider à résoudre le problème de la procrastination, ce sont les livres . Vous trouverez des livres pour tous les langages. Un des avantages est aussi que vous pouvez les annoter comme vous le souhaitez. Un des inconvénients est que les livres sont souvent moins complets que les documentations en ligne.

Quelques outils

Et enfin une des meilleurs façons d’apprendre c’est d’aller dans une école spécialisée. Elle fournit non seulement un encadrement qui vous évite de vous disperser dans votre apprentissage mais surtout vous avez accès sur place à bon nombre de développeurs, dont un bon nombre seront plus expérimentés (c’est par exemple le cas de l’école dans laquelle j’ai étudié, SUP’Internet, puisque les enseignants sont tous des intervenants qui sont des professionnels du milieu). Et surtout cela permet de faire des stages et d’acquérir un diplôme à la fin (ce que ne permet pas l’auto-apprentissage). Vous y serez formés de façon opérationnelle, mais vous aurez aussi tout l’aspect de gestion de projet, chose difficile à obtenir en travaillant seul. Mais en réalité, le meilleur pour apprendre est de combiner les trois méthodes.

Différentes ressources existent pour apprendre à développer
De nombreuses ressources pour se former existent

Pour ce qui est des formations en ligne, j’en retient 4. La première, Udemy propose des cours très complets mais en anglais et assez cher. Le second, Treehouse, propose également des cours en anglais mais en abonnement au mois ce qui revient moins cher si vous apprenez vite, en revanche à titre personnel j’ai trouvé leurs formations moins complètes. Ensuite OpenClassroom propose des formations gratuites et en français. En revanche leurs cours sont de loins les moins complets sur certains langages. Par exemple sur Swift il ne fait que survoler certaines fonctions de base qui ne permettent pas d’aller bien loin. Et enfin, un des meilleurs pour apprendre le développement iOS selon moi est raywenderlich. Il propose différents tutoriels sur différentes fonctions assez clairs et gratuits (mais également en anglais).

Mais quelle que soit la formation que vous choisissez ne vous limitez jamais à ce que vous apprenez en cours. Essayez toujours d’aller plus loin avec les outils qu’on vous a appris à maîtriser . Un développeur se doit d’être curieux, n’hésitez pas à lancer des projets ambitieux ! Et vous vous rendrez vite compte que certains outils simples qu’on vous aura appris à utiliser peuvent se révéler très puissants quand on sait les maîtriser .

Conclusion

Le métier de développeur est donc un métier passionnant qui se positionne sur un marché en pleine croissance. Mais être développeur vous demandera d’être curieux et à l’affut des dernières tendances et des dernières mises à jour. Vous n’arrêterez jamais d’apprendre ! Et peu importe ce que vous cherchez à apprendre, il y aura toujours des ressources à disposition pour vous former (même pour des langages comme le Brainfuck).

 

Ne manquez aucun article: inscrivez-vous à notre Newsletter:

2 thoughts on “Pourquoi développer sous iOS quand on est développeur Web ?”

  1. Pingback: Revue de presse du 4 septembre - Blog de Steloria

  2. Pingback: Les nouveautés d'iOS12 pour les devs (ARKit2, Core ML) - Steloria

Laisser un commentaire