TL;DR - Vous devez savoir comment développer trois choses pour toute application full-stack de base. Le Front-End, le Back-end et une base de données.
La plupart des applications mobiles que nous utilisons aujourd'hui sont à double face. Le " Front-End " (dans ce cas, l'application mobile) communique avec le " Back-End " ou l'interface serveur/cloud qui fournit des informations à l'application pour qu'elle les affiche et stocke/traite les informations renvoyées.
Un développeur full stack est quelqu'un qui peut développer la pile complète (c'est-à-dire le front-end ainsi que le back-end) d'une application.
Il existe différentes technologies que vous pouvez apprendre pour pouvoir vous appeler un développeur iOS full-stack, cependant vous devez apprendre au moins une technologie front-end et une technologie back-end. L'apprentissage de toute " technologie " particulière comporte deux parties. La première est le langage et la seconde est l'API du framework.
Pour le front-end sur iOS, vous avez le UIKit nativement disponible (et une pénurie d'autres frameworks en fonction de ce que vous voulez construire) pour lequel vous pouvez construire en utilisant le langage Swift (je ne mentionne même pas Objective-C à ce jour). Cependant, vous pouvez également choisir de développer en Javascript avec React Native. Cependant, les frameworks hybrides ont besoin d'un peu de support natif, donc vous pourriez avoir à toucher à un peu de Swift de toute façon.
De nos jours, il est possible d'être un développeur full stack avec la connaissance du seul langage Swift ! Grâce à des frameworks back-end open-source comme Perfect, Vapor et Kitura (développé par IBM). En même temps, vous pouvez choisir de développer votre back-end avec Javascript en utilisant n'importe quel framework côté serveur (Express, Hapi) qui fonctionne sur l'environnement Node.js. Vous pouvez également utiliser Java (Spring) et Ruby (Rails) pour développer votre back-end.
Il y a encore une chose que vous devrez probablement utiliser lors du développement du back-end - une base de données. Des magasins basés sur SQL (MySQL, PostgreSQL) aux magasins basés sur NoSQL (MongoDB, CouchDB, Cassandra), vous avez un nombre incalculable d'options ici. Mais c'est une réponse pour une autre question.
À la fin, tout dépend de ce que vous essayez de construire. Par exemple :
- Si vous voulez construire juste une application disponible uniquement sur iOS, vous feriez mieux d'utiliser Swift et les frameworks associés.
- Si vous voulez rendre votre application disponible à la fois pour Android ainsi que pour iOS (et l'expérience utilisateur n'est pas une grande préoccupation), alors vous pouvez utiliser Javascript avec React Native sur le front-end et Node pour le back-end.
- D'autres langages utilisés sur le back-end comme Java sont également plus demandés dans les entreprises et est largement utilisé dans l'entreprise, donc c'est une option valable à apprendre.
.