Introduction aux technologies de développement pour iPhone (et iPad)

Le développement iPhone est à la fois une discipline jeune, prometteuse et une technologie largement éprouvée puisqu’elle s’inscrit dans la continuité du développement pour mac OS. Il suffit d’ailleurs de remarquer la cohérence entre l’appellation Cocoa (désignant la couche destinée au développement des interfaces d’utilisateurs Mac) et l’appellation Cocoa Touch, son homologue pour iPhone.

Ainsi, un développeur iPhone utilise largement les outils classiques de développement sous mac OS : plus il maîtrise le langage et des librairies de développement pour Mac OS et plus il abordera aisément le développement pour iPhone.

  • L’objective-C

L’ensemble des langages et des librairies que doit connaître un développeur pour iPhone est remarquablement bien organisé. D’abord il y a un langage de programmation (formé par le « vocabulaire » et la syntaxe que le compilateur comprend et sait traiter) : l’objective-C.
L’objective-C est tout simplement une extension de l’ansi C, présentant des structures syntaxiques supplémentaires « orientées Objet » et servant notamment à la création, la manipulation et l’appel d’objets. La maîtrise de l’objective-C, demande donc une connaissance du C et une mise à jour pour assimiler la couche spécifique à l’objective-C. Pour cela, le document de référence d’Apple (détaillant la syntaxe de l’objective C) est parfaitement adapté. Donc, en ayant sur sa table un manuel classique de référence du C (par exemple l’excellent ouvrage de Herbert Schildt) ainsi qu’une copie du document d’Apple (the Objective-C programming language), un développeur devrait, en théorie, disposer d’une référence exhaustive de toutes les variantes syntaxiques admises (à l’exception des directives du preprocesseur).

  • Le SDK

Toutefois, la vraie puissance des outils de développement pour iPhone réside dans les librairies (parties de programmes déjà écrites et réutilisables par le développeur) et désignés par le terme SDK (pour software development kit). Les libraires du développement iPhone sont organisées (en allant du plus large au plus fin) en couches et frameworks. Les frameworks eux implémentent les fonctions et objets appelables par le développeur.

Les couches formant la totalités du SDK sont les suivantes :
OS X Kernel, Core Services, Media, Cocoa Touch.

La couche Cocoa Touch contient notamment le framework UIKit qui permet au développeur de produire des interfaces utilisateurs à la fois élégantes et rapides à réaliser. UIKit permet de gérer les vues, les fenêtres, les boutons, les formulaires, les tables mais aussi le multi-touch et l’accéléromètre.

  • Xcode et Interface Builder

Enfin, l’IDE ou bien l’environnement de développement intégré ( c’est-à-dire le logiciel que le développeur utilise pour créer ses fichiers sources, les gérers, les debugger et les compiler ) par défaut pour le développement d’applications iPhone est Xcode (le même logiciel qui sert à développer des logiciels pour mac et le même logiciel utilisé par les équipes d’Apple). En plus d’Xcode, le développeur peut utiliser Interface Builder, un outil très visuel de développement des interfaces des applications. Interface Builder qui au démarrage de la SDK présentait quelques dysfonctionnements (dont la trace subsiste dans les forums spécialisés) est aujourd’hui un outil parfaitement rodé qui permet un gain de temps inestimable ainsi qu’une cohérence avec les standards graphiques d’Apple.

  • L’iPad

Depuis la dernière édition de cet article, est apparu le dernier-né de la famille d’Apple : l’iPad.
L’iPad est parti pour avoir en France un succès retentissant, ne serait que pour faire l’echo du succès incroyable de son lancement aux US (300 000 unités vendues en un jour).
Une des excellentes nouvelles pour tous les développeurs sur Mac et iPhone est évidemment que la SDK de l’iPad est extrêmement ressemblante à celle pour Mac et iPhone.
Ceci devrait permettre à tous les développeurs ayant pratiqué l’iPhone App, de réaliser assez rapidement des applications pour l’iPad.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *