Développement iPhone : les principaux concepts

3 03 2010

iphonesdk

Voici un article que j’ai publié sur différents blogs, je le reprends maintenant sur le mien. Je vais essayer au fur et à mesure, de vous faire découvrir le sdk et de vous faire développer votre première application. Si vous avez des questions sur les devs, n’hésitez pas à poser vos questions via les commentaires ou sur mon twitter. Je vous invite également à vous référer à la documentation qui accompagne le SDK et qui grouille d’informations utiles.


Trêve de blabla entrons dans le vif du sujet.

Je vais aborder ici deux points :

  • Les concepts indispensables à connaître pour débuter sereinement dans les développements
  • Des exemples pour illustrer les concepts

1- Les concepts principaux
Tout d’abord, l’architecture sur laquelle repose une application iPhone est basée sur le modèle MVC (Modèle-Vue-Contrôleur). En gros, l’application est composées de vues, dont le comportement est déterminé par des contrôleurs qui transitent des données d’un modèle.

Voici comment ce concept est appliqué à une application iPhone :

iphone-delegates

Vous voyez des noms étranges sur ce schéma, pas de panique, je vais vous les expliquer.

View
Littéralement une vue, i.e. un objet permettant d’afficher des contrôles tels que des tableaux, des boutons…

View controller
Il s’agit d’une classe qui gère la vue et le comportement de ses composants. Ce contrôleur intercepte les événements propres aux composants de la vue gérée.

Delegate
Un délégué est un objet prenant en charge un certain nombre de méthodes remplissant des fonctions propres à un émetteur

Généralement, on utilise le view controller comme délégué des composants de la vue. De cette manière, les méthodes qui sont contenues dans ce contrôleur vont exécuter des actions en fonction des événements déclenchés par les composants de la vue.

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

Pour en revenir au schéma, les deux solutions sont équivalentes. Le choix se fera selon les préférences de chacun, même si la solution A contiendra tout le code correspondant aux délégués des différents composants et sera donc plus difficile à lire.

2- Les outils
Lors de l’installation du SDK, trois outils sont installés sur votre Mac :

  • XCode : l’environnement de développement où vous allez coder, compiler, débugger et lancer le simulateur
  • Le simulateur iPhone : une application simulant à quelques restrictions près (pas de puce GPS et d’accéléromètre) un iPhone et vous permettant de tester unitairement vos fonctionnalités
  • Interface Builder : l’outil de création d’interfaces (écrans, vues…)

XCode est l’application principale… Mais le premier tuto s’arrête là. Je vous laisse le temps de digérer rapidement ces concepts de télécharger le sdk. Au prochain, je vous apprends à réaliser votre première application. Promis.

So Stay Tuned !

Publicités

Actions

Information

One response

9 03 2010
Développement iPhone : première application avec Interface Builder et XCode « eMxPi's Blog

[…] Développement iPhone : première application avec Interface Builder et XCode 9 03 2010 Comme je vous l’ai promis hier soir, voici le nouveau tutoriel pour débuter avec le SDK. Il fait suite à l’étape précédente sur la présentation des concepts. […]

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s




%d blogueurs aiment cette page :