Développer une application iPhone - Introduction aux concepts de base
Introduction
Il est des petits appareils qui font envie de nos jours : l’iPhone fait certainement partie des premiers de cette liste.
Voilà donc un tutoriel d’approche d’une technologie nouvelle pour des personnes n’ayant aucune notion de développement dans ce domaine.
Je parlerai donc ici :
- Des principaux concepts à maîtriser absolument pour bien démarrer un développement pour iPhone
- De quelques exemples permettant d’illustrer les concepts
Je ne parlerai pas :
- Des différences entre un développement pour Mac par rapport à un développement pour iPhone
- De quelconques “best practices” de développement
Il s’agit plutôt d’un retour d’expérience qui permettra peut-être à d’autres personnes d’appréhender un développement pour iPhone sans trop se casser les dents.
Pour la suite, la documentation fournie par Apple est très complète et peut vous donner de quoi satisfaire vos nuits blanches pour un bon moment !
Pour bien démarrer
- Comprendre l’environnement nécessaire au développement d’une application iPhone
- Les principaux concepts
- Les outils
- Ouvrir quelques projets d’exemple pour se familiariser avec la syntaxe Objective-C
- Créer son premier projet
Ce premier article présente les concepts et introduit la liste des outils nécessaires au développement.
Note aux pressés (j’en fais généralement partie)
Si vous grillez les deux premières étapes, vous risquez rapidement de vous rendre compte qu’elles vous manquent et perdrez certainement beaucoup plus de temps que si vous y consacrez une petite journée.
Comprendre l’environnement nécessaire au développement d’une application iPhone
Les principaux concepts
Pour commencer, il est indispensable de maîtriser quelques bases de fonctionnement d’un programme iPhone.
Une application iPhone est une application MVC dans sa plus pure forme. Vous concevez des vues, manipulées par des contrôleurs en faisant transiter des données d’un modèle.
Application delegate
Il s’agit de la classe en charge du lancement de l’application et de l’affichage de la fenêtre principale.
Vous pouvez vous en servir pour initialiser des éléments particuliers communs à l’ensemble des éléments de votre application :
- connexion à une base de données,
- configuration générale,
- …
View controller
Classe gérant la vue et pouvant recevoir les événements propres aux composants de la vue gérée.
View
Une vue, chargée d’afficher des contrôles.
Il faut savoir qu’une vue peut être créée par programme ou en utilisant des fichiers de ressources définis à l’aide de l’interface builder.
Ce sont deux moyens différents qui présentent leurs avantages et inconvénients… A vous de voir lequel convient le mieux à telle ou telle situation.
Delegate
C’est un terme souvent employé dans un programme.
Un délégué est un objet prenant en charge un certain nombre de méthodes remplissant des fonctions propres à un émetteur.
En pratique, un view controller est, dans la plupart des cas, désigné comme délégué des composants de la vue et va implémenter les méthodes répondant aux événements que chacun d’entre eux déclenche.
Par exemple, un composant table view (tableau) va appeler différentes méthodes de son délégué pour pouvoir s’afficher convenablement :
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
Doit renvoyer le nombre de sections dans le tableau
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
Doit renvoyer le nombre de lignes du tableau à afficher pour la section dont le numéro est passé en paramètre
- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath
Doit initialiser une cellule du tableau pour le numéro de section et de ligne passé en paramètre
Ce mode de fonctionnement permet notamment que n’importe que objet soit désigné comme délégué. On peut donc très bien imaginer avoir les deux possibilités suivantes :

- Le schéma A montre l’exemple le plus courant : une seule classe faisant office de ViewController et de Delegate pour l’ensemble des contrôles de la vue.
- Le schéma B montre une alternative intéressante lors de gestion de vues complexes : une classe Delegate par contrôle et un ViewController standard.
La différence entre ces deux solutions, c’est que le premier ViewController contiendra l’ensemble du code de BoutonDelegate, Tableau1Delegate et Tableau2Delegate, le rendant peut-être plus complexe à lire et à comprendre.
Ceci étant dit passons aux outils.
Les outils
Vous avez trois outils à votre disposition :
- XCode : l’environnement de développement en charge de coder, compiler et lancer la deuxième application
- Le simulateur iPhone : une application simulant à quelques restrictions près un iPhone et vous permettant de tester unitairement vos fonctionnalités
- Interface Builder : l’outil de création d’interfaces (écrans, vues…)
XCode est un peu l’application maître et lance ses 2 gentils larbins pour faciliter le développement.
Dans le prochain article, passage aux choses sérieuses : nous ouvrirons XCode pour voir comment cette théorie se traduit en pratique, histoire d’illustrer un peu ces jolis concepts.
A la prochaine !
Tags: apple, Conseils, iPhone, tips, Tutoriels

--> 12 janvier 2009 ( 10:28 )
Çà donne envie tout ça !
Et évidement sur pc… tout ça marche parfaitement… :)) petite boutade du matin.
--> 13 janvier 2009 ( 20:58 )
Eh oui ! Pour l’instant, c’est un peu théorique (mais nécessaire). En revanche, le prochain tuto se veut beaucoup plus pragmatique et, qui sait, générateur de cadeaux de Noël en retard ?
A+
--> 20 janvier 2009 ( 15:39 )
Enfin une documentation en français sur le developpement des applis de l’iPhone ! Ouf ! Après des jours d’english, ça repose… D’autant que c’est ultra bien exposé.
Bravo !
Il faut continuer, ça manquait terriblement.
--> 21 janvier 2009 ( 1:54 )
Merci!
Et ça continue: http://www.lafabrick.com/blog/2009/01/16/807-developper-une-application-iphone-xcode-et-interface-builder-passes-au-crible/
Bonne lecture…
--> 25 février 2009 ( 13:04 )
c’est vraiment super, c’est tellement chiant de se taper de la doc en anglais, c’est déja super balèse de développer sans en plus s’emmerder avec l’anglais, quelle perte de temps
et puis on est en france merde.
c’est juste un peu dommage qu’on peut pas exporter en pdf toute ta doc mais sinon
encore bravo
--> 2 mars 2009 ( 1:01 )
Un message de remerciement pour cette jolie introduction française du dev pour appli iphone. Je vais mintenant lire la suite.
Bravo !
--> 10 avril 2009 ( 22:46 )
Cela reste tout de meme chaud de se faire une interface sur l’iphone je trouve.
j’ai du mal pour comprendre le passage de page en page,
et pour se connecter à une bdd,
et pour lire
et enregisrer des infos dans la bdd.
--> 6 juillet 2009 ( 4:16 )
Ça fait tellement du bien pour le moral tomber sur cette page apers des heures de “dechifrage” des lignes en anglais !!! fanchement bravo t’as rien à envier à Dave mark, Jeff LaMarche et compagnie tous est très bien expliqué et structuré .. Bravo !!! Innutile de préciser qu’on attend tous d’autres articles