Vous en savez plus sur l'environnement iOS et le métier de développeur iOS ! Et je suppose que vous avez maintenant hâte de vous lancer dans votre première application.
Je vous demande encore quelques petites minutes de patience. Car, pour pouvoir vous lancer, nous allons avoir besoin de connaître les outils avec lesquels vous allez développer ! Et il y en a 4 que nous allons voir ensemble :
Le matériel,
Le logiciel,
Le langage,
Le framework.
Le matériel
Commençons par le plus simple : sachez qu'il faut un Mac pour développer une application iPhone native. Voilà, c'est dit…
Le logiciel
Deuxième étape : il vous faut un logiciel pour coder ! Il s'appelle Xcode, il est fourni gratuitement par Apple. Xcode est ce qu'on appelle un EDI (Environnement de Développement Intégré).
EDI
Un EDI (ou IDE en anglais) est un logiciel qui permet à un développeur de programmer de façon efficace. En général, il contient au moins trois fonctionnalités :
Un éditeur de texte : cela permet au programmeur d'écrire, tout simplement. Word est un éditeur de texte très connu. La seule différence est que l'éditeur d'un EDI est doté de capacités spécifiques bien pratiques. Il peut, par exemple, suggérer des mots en devinant l'intention du développeur (autocomplétion) ou colorier automatiquement son texte pour le rendre plus lisible.
Un compilateur : cela permet d'exécuter le code, de dire à l'ordinateur : "Lis mon code !" Pendant l'exécution, on peut donc vérifier que ce que l'on a écrit fonctionne comme attendu… ou pas ! Dans notre cas, il permettra aussi de lancer notre application.
Un débogueur : comme son nom l'indique, il permet de traquer les bugs pour les corriger.
Voilà à quoi ressemble Xcode :
Installation de Xcode
Alors, allons-y ! Pour installer Xcode rien de plus simple, suivez le guide en images !
Et voilà, rien de plus simple, n'est-ce pas ?
Le langage
Maintenant qu'on a tout ce qu'il faut pour rédiger du code, intéressons-nous au code lui-même.
Qu'est-ce qu'un langage de programmation ?
Pour programmer quoi que ce soit, vous allez avoir besoin d'un langage de programmation. Il s’agit d’un moyen de communiquer avec un ordinateur. Ce dernier s'exprime avec des 1 et des 0 alors qu'un humain parle avec des mots et des phrases. Par exemple, pour dire le mot "bonjour", une machine va dire :
01000010011011110110111001101010011011110111010101110010
Difficile donc de se comprendre ! C'est pour cela qu'on a inventé les langages de programmation. Ils fonctionnent comme un interprète entre vous et la machine. Vous allez écrire des commandes avec des mots qui vont être traduits en 1 et 0 pour la machine.
Pour développer une application iOS, nous pouvons utiliser 2 langages : Objective-C et Swift.
Objective-C
Objective-C a été créé en 1983. Le premier système d'exploitation à l'utiliser est NeXTSTEP, de la société NEXT fondée par Steve Jobs.
En effet, Steve Jobs a dû quitter Apple pendant un temps et a monté cette société avec l'équipe d'ingénieurs qui l'a suivi. Cette société n'aura jamais connu le succès d'Apple, mais ses technologies ont continué à vivre chez Apple lorsque Steve Jobs en a repris les rênes.
Jusqu'en 2014, Objective-C était le seul langage permettant de développer des applications pour l'iPhone.
Swift
La première version publique de Swift a été publiée le 2 juin 2014 lors de la conférence WWDC. Il est issu du travail de Chris Lattner qui, à l'origine, avait pour objectif d'améliorer Objective-C qui commençait à prendre un peu la poussière… Il a fini par créer en fait un tout nouveau langage : Swift ! Cela représente une véritable révolution dans le monde de la programmation.
Vous n'en mesurez peut-être pas l'impact, alors voici un graphique pour vous donner une idée (source PYPL).:
Cela faisait donc près de 14 ans qu'un nouveau langage majeur n'avait pas vu le jour ! La plupart ont plus de 20 ans, soit des siècles en informatique.
Swift est donc le langage que vous allez utiliser pour créer des applications iPhone.
Frameworks
Avec Swift, on peut programmer beaucoup de choses, aussi bien des applications iPhone que des serveurs ! Pour programmer des applications iPhone, il nous manque un dernier outil : les frameworks. Voyons ce que cela veut dire.
Une histoire de drone
Un framework est un ensemble de fonctionnalités logicielles rassemblées dans un module. Prenons une image pour mieux comprendre :
Un drone est un appareil extrêmement complexe. Il doit répartir la puissance entre les moteurs pour rester stable en l'air, voler dans la direction souhaitée, ne pas être déséquilibré par un coup de vent, etc. Et n'importe qui aujourd'hui est capable de le conduire avec seulement quelques commandes sur une manette.
Autrement dit, le drone gère la grande partie des choses tout seul et vous laisse la main pour seulement quelques aspects comme la direction et la vitesse.
Et donc un framework, c'est… ?
Une brique de logiciel qui gère seule plein de calculs que vous n'avez pas à gérer et vous donne accès ensuite à seulement quelques fonctionnalités dont vous allez avoir besoin pour faire votre application.
iOS est plein de frameworks et nous allons travailler avec eux constamment. Et tant mieux ! Par exemple, pour reconnaître l'appui sur un bouton, il y a de très nombreuses couches de technologies qui s'assemblent pour que cela fonctionne. Grâce au framework, vous n'avez même pas besoin de les connaître, vous allez directement utiliser la méthode "Appui sur un bouton" que vous propose le framework.
Les frameworks d'iOS
Il existe deux frameworks que l'on va utiliser constamment (tellement que vous oublierez sans doute que vous les utilisez) :
Foundation : Comme son nom l'indique, celui-là c'est la BASE ! Il permet de gérer des tas de choses comme les données, les dates, la communication entre différents objets du code… Bref, la base.
UIKit pour User Interface Kit : Ce framework est chargé de de l'interface utilisateur : ce que l'on voit à l'écran. Donc il contient de nombreux éléments, comme des boutons, des listes, des champs de textes, etc. Il gère aussi la détection des évènements sur l'écran tactile (l'utilisateur vient de toucher l'iPhone à tel endroit, puis il a glissé son doigt, etc.). Bref, tout ce qui touche à l'interface se trouve dans UIKit.
Ces deux frameworks sont rassemblés dans un troisième qui s'appelle Cocoa Touch. Eh oui, c'est ça qui est beau avec les frameworks, c'est qu'on peut les combiner comme les pièces d'un puzzle !
Donc, en résumé, tout au long de votre parcours vous allez travailler avec le framework Cocoa Touch pour développer des applications iPhone.
En résumé
Vous allez développer avec :
Un Mac ;
Équipé du logiciel Xcode ;
En écrivant du code en langage Swift ;
Et en vous appuyant sur le framework Cocoa Touch (Foundation + UIKit).
Maintenant que vous avez tous les outils nécessaires pour réaliser une application iOS, vous allez passer à la pratique et créer votre première application dans la partie suivante. Mais avant ça, testez vos acquis avec un quiz !