Comment devenir un développeur Full-Stack : Partie 3

Publié: 2017-12-02

Cet article est le troisième et dernier de la série sur la façon de devenir un développeur full-stack. Cet article parle spécifiquement du développement d'applications mobiles. Lisez ici pour en savoir plus sur le développement frontend et backend.
Lorsque Steve Jobs a présenté l'iPhone en 2007, il a inauguré la plus grande révolution que le monde ait connue depuis l'imprimerie. Les smartphones ont réussi à pénétrer presque tous les pays du globe. Même les plus démunis semblent en posséder un à tel point que la vie sans eux semble inconcevable.

Motivation

Certaines applications n'ont de sens que lorsqu'elles sont exécutées sur un téléphone. Prenez Uber, par exemple. Uber a besoin de connaître votre position exacte par GPS. Une application Uber pour ordinateur n'aurait pas beaucoup de sens.
Un autre problème est que la majorité de votre public ouvrira votre application via un téléphone, même s'il s'agit d'un téléphone conçu pour les navigateurs. Dans de tels cas, il est impératif de vous assurer que l'expérience est transparente et que trop de données ne sont pas consommées. Enfin, il existe des différences subtiles entre l'interaction à l'aide de clics de souris et le toucher. Votre application doit s'assurer qu'elle se comporte bien dans les deux scénarios.
En gardant toutes ces considérations à l'esprit, il est logique de s'aventurer hors du navigateur et de créer des applications mobiles. Cela garantit que vous utilisez au maximum les fonctionnalités qu'un smartphone typique a à offrir tout en rendant l'expérience de l'utilisateur un plaisir. Vous trouverez ci-dessous les étapes pour réussir le développement d'applications mobiles. Pour la première partie devenir développeur full stack sur le développement frontend et backend.

Comment devenir Développeur de logiciels Web Full-Stack Blog UpGrad Développement mobile

Entretien avec Ankit Tomar, co-fondateur et directeur technique, Bizongo

Table des matières

Étape 12 : Choisissez une plateforme

La première étape serait de choisir une plate-forme sur laquelle vous souhaitez créer votre application. À moins que vous ne fassiez partie d'une équipe raisonnablement grande, il est extrêmement peu probable que vous construisiez des applications à partir de zéro sur toutes les principales plates-formes. Le scénario le plus probable est que vous codez sur votre plate-forme préférée et que vous la transférez ensuite simplement vers les autres.
Les principales plates-formes de smartphones sont aujourd'hui iOS, Android et Windows. Ils utilisent des langages et des IDE radicalement différents. Par exemple, iOS utilise Swift et XCode, Android utilise Java et Android Studio et Microsoft fonctionne avec C# et Visual Studio.
Le marché est aujourd'hui dominé par Android et iOS, donc le choix se résume vraiment à ces deux-là. Certaines choses que vous devrez peut-être prendre en compte avant de faire un choix sont la part d'audience de votre application. Je pense qu'il est judicieux sur le plan commercial de créer des applications iOS si vous vous trouvez dans un pays du premier monde, car les appareils Apple y sont extrêmement populaires. En revanche, dans un pays comme l'Inde, Android serait un choix plus évident car la part de marché des iPhones est extrêmement faible en raison de son prix exorbitant.
Si vous envisagez de gagner de l'argent avec votre application, gardez à l'esprit que les utilisateurs d'iOS sont plus susceptibles d'ouvrir leur portefeuille pour des achats intégrés que leurs homologues Android. Cela peut être dû au fait que les utilisateurs d'iOS ont généralement tendance à avoir un revenu disponible plus élevé que les marchés du tiers monde où Android domine.
Le développement iOS nécessite que vous disposiez d'une machine de développement Mac. De plus, les licences Apple App Store se vendent au détail à 99 $ / an par rapport aux frais uniques de Google Play de 25 $. En d'autres termes, le développement iOS est considérablement plus cher.
Dans cet article, j'expliquerai comment le développement d'applications mobiles se fait aujourd'hui : applications Android natives, applications iOS natives et applications mobiles hybrides.

Étape 13 : Java et XML

Java est le langage le plus populaire pour le développement Android (Google a également récemment introduit la prise en charge du langage de programmation Kotlin).
Les fondateurs d'Android pensaient que Java était un choix approprié et ils s'y sont tenus depuis sa création. Et si leur trajectoire est quelque chose à dire, ce n'était rien de moins qu'une décision incroyable.
Comment devenir Développeur de logiciels Web Full-Stack Blog UpGrad Développement mobile
La meilleure ressource pour apprendre Java serait Head First Java. La lecture de ce livre vous donnera une introduction approfondie au langage ainsi qu'aux principes de la programmation orientée objet.
En ce qui concerne XML, je ne pense pas que vous ayez besoin d'un tutoriel concentré sur le sujet. Vous avez déjà beaucoup travaillé avec un sous-ensemble de XML (HTML) et vous serez en mesure de le comprendre assez rapidement, même si vous deviez vous lancer directement dans le développement Android. Je ne peux pas en dire autant de Java. Assurez-vous de bien maîtriser la langue avant de vous aventurer sur Android.

Étape 14 : Android

Vous avez maintenant le savoir-faire technique pour créer des applications Android. Il est temps de plonger profondément dans ce système d'exploitation révolutionnaire. Méfiez-vous cependant que certaines pratiques Android diffèrent de ce que vous voyez habituellement sur le web. Les ressources que j'ai suggérées ci-dessous feront en sorte que votre apprentissage ne soit pas entravé par ces différences.
Programmation Android - The Big Nerd Ranch Guide 2nd Edition est un bon point de départ si vous connaissez déjà Java. Assurez-vous de choisir la deuxième édition car c'est celle qui utilise Android Studio, qui est désormais la norme de l'industrie. La pratique consistant à créer des applications dans Eclipse est largement dépassée.
Entretien avec Farooq Adam, co-fondateur, Fynd

Étape 15 : iOS

Si vous êtes plutôt un passionné d'Apple et/ou avez décidé que les applications iOS ont plus de sens pour vos aspirations professionnelles/professionnelles. La première étape serait d'acquérir un Mac. XCode ne fonctionne que sur Mac et pour publier sur l'App Store, vous avez besoin d'un Mac. Désolé, VMware.
La ressource que je vais suggérer pour iOS est exactement la même que celle pour Android. Nerd Ranch a sa propre publication – Programmation iOS : The Big Nerd Ranch Guide qui traite de Swift et XCode, c'est donc un bon point de départ.

Comment devenir Développeur de logiciels Web Full-Stack Blog UpGrad Développement mobile

Étape 16 : Applications mobiles hybrides

Si vous êtes un développeur solo ou si vous travaillez dans une petite équipe, vous n'avez probablement pas le temps ni les ressources nécessaires pour créer et maintenir séparément des applications Android et iOS. Pour atténuer les difficultés du développeur à créer pour plusieurs plates-formes, le concept d'applications mobiles hybrides a été introduit.
Le concept est extrêmement simple et révolutionnaire. Si vous connaissez Javascript, vous savez déjà comment créer des applications Web. Par conséquent, si vous avez une application en JS, il doit exister un framework qui porte automatiquement votre application sur Android, iOS et Windows. Incroyable mais vrai.
La plupart des frameworks hybrides y parviennent en utilisant Cordova ou React Native. Vous pouvez considérer Cordova comme le pont entre les navigateurs et le matériel natif du smartphone. Il établit une connexion entre les deux en utilisant uniquement JS et aide à créer les scripts de construction dans les langues natives de chaque plate-forme.
Cependant, les frameworks basés sur Cordova sont rapidement éclipsés par la centrale électrique de Facebook, React Native. La puissance de React Native réside dans le fait que, tandis que Cordova construit des WebViews, React Native vous permet de créer des applications natives que vous créeriez à l'aide de Java (pour Android) ou de Swift (pour iOS). En d'autres termes, Cordova est un site Web déguisé en application mobile, mais React Native vous permet de créer la vraie chose.
À mon avis, vous pouvez laisser passer Cordova et apprendre React Native à la place. C'est un très bon investissement de carrière à faire. Le programme de développement logiciel d'UpGrad & IIIT-B est un excellent endroit pour commencer votre voyage avec cette bibliothèque révolutionnaire qui a déjà été utilisée par des entreprises comme Facebook, Netflix et AirBnB pour concevoir leurs applications.
Entretien avec Farooq Adam, co-fondateur, Fynd

Conclusion

Avec la conclusion des applications hybrides, nous arrivons à la fin de cette série. En résumé, voici les choses que nous avons couvertes :

  1. Fondamentaux de l'informatique.
  2. Structures de données et algorithmes
  3. Interface utilisateur/expérience utilisateur
  4. HTML, CSS, JS
  5. Cadres frontaux
  6. Scripts et bases de données côté serveur
  7. Cadres de pile complète
  8. Android et iOS
  9. Applications mobiles hybrides

J'espère que vous avez aimé lire cette série autant que j'ai aimé l'écrire et, plus important encore, que vous avez trouvé au moins certaines parties utiles. Comme toujours, vos commentaires et suggestions sont les bienvenus !

Devenir Développeur Full Stack

UpGrad et diplôme PG de l'IIIT-Bangalore en développement de logiciels
Apprendre encore plus