Accueil > Développer pour l'iPhone > Vue d’ensemble de iPhone OS

Vue d’ensemble de iPhone OS

iPhone OS comprend le système d’exploitation et les technologies que vous utilisez pour lancer des applications de façon native sur un iPhone et un iPod Touch. Bien qu’il partage un même héritage et de nombreuses technologies sous-jacentes avec Mac OS X, iPhone OS a été conçu pour répondre aux nécessités d’un environnement mobile dans lequel les besoins utilisateurs sont assez différents. Les développeurs Mac OS X reconnaîtront de nombreuses technologies mais ils en découvriront aussi d’autres qui ne sont disponibles que sur iPhone OS, comme l’interface à touché multiple et la gestion de l’accéléromètre.

iPhone et iPod touch

Le SDK iPhone met à disposition le code, les informations et les outils dont vous aurez besoin pour développer, tester, lancer, corriger et mettre au point des applications pour iPhone OS. Les outils Xcode ont été mis à jour pour prendre en compte le développement pour iPhone OS. En plus de vous apporter un environnement d’édition, de compilation et de debugging pour votre code, Xcode fournit aussi la base de lancement pour tester votre application sur un iPhone ou un iPod Touch. Xcode vous permet aussi de lancer des applications dans un simulateur d’iPhone, une plate-forme qui imite les fonctions basiques d’un environnement iPhone OS sur votre ordinateur Macintosh en local.

Cet article apporte une vue d’ensemble générale sur les fonctions basiques que l’on trouve dans iPhone OS le tout pour vous aider à vous orienter sur cette plate-forme. Vous trouverez aussi d’autres articles dans le iPhone Dev Center qui vous aideront à progresser rapidement et à comprendre les processus de base mis en oeuvre dans la création d’applications iPhone OS. Ces articles seront utiles à votre compréhension de iPhone OS.

Les couches technologiques de iPhone OS

Figure 1 Les couches technologiques de iPhone OS
Les couches technologiques de iPhone OS

Dans iPhone OS, l’architecture système sous-jacente et de nombreuses technologies sont semblables à celles que l’on trouve dans Mac OS X. Le noyau de iPhone OS est basé sur une variante du même noyau Mach que l’on retrouve dans Mac OS X. Au dessus de ce noyau, on trouve les couches services qui sont utilisées pour implémenter des applications sur la plate-forme. La Figure 1 est une vue générale de ces couches.

Cet assemblage de couches vous apporte une palette de choix à utiliser lorsqu’il s’agit d’implémenter du code. Par exemple, les couches Core OS et Core Services comprennent les interfaces fondamentales pour iPhone OS, y compris celles utilisées pour accéder à des fichiers, des types de données de bas niveau, des services Bonjour, des accès réseau, etc. Ces interfaces sont pour la plupart écrites en C et comprennent des technologies telle que Core Foundation, CFNetwork, SQLite et des accès à des threads POSIX et des sockets UNIX, entre autres.

En allant dans les couches supérieures, vous trouvez des technologies plus avancées qui utilisent un mélange d’interfaces en C et en Objective-C. Par exemple, la couche Media comprend les technologies fondamentales utilisées pour gérer le dessin en 2D et en 3D, l’audio et la vidéo. Cette couche comprend les technologies, écrites en C, OpenGL ES, Quartz et Core Audio. Elle comprend aussi Core Animation, qui est un moteur avancé d’animation écrit en Objective-C.

Dans la couche Cocoa, la plupart des technologies sont basées sur Objective-C. Les frameworks de ces couches apportent l’infrastructure fondamentale utilisée par votre application. Par exemple, le framework Foundation apporte la gestion orientée objet des collections, de la gestion de fichier, des opérations réseau et plus encore. Le framework UIKit apporte l’infrastructure visuelle à votre application, comprenant les classes de gestion des fenêtres, des vues, des éléments d’interface et des contrôleurs gérant ces objets. D’autres frameworks dans ce niveau vous donnent accès aux contacts et aux informations de l’utilisateur et à l’accéléromètre et autres fonctions matériels du périphérique.

Le point de départ de tout projet est la couche Coca et le framework UIKit en particuliers. Au moment de décider quelles technologies supplémentaires , il est recommandé de démarrer avec les frameworks situés dans les couches les plus élevées et de descendre ensuite dans les couches inférieures si nécessaire. Les frameworks les plus élevés facilitent la gestion des comportements standard du système avec un minimum d’effort de votre part. Les seules fois où vous aurez besoin de descendre dans les frameworks inférieurs seront celles où vous aurez besoin d’implémenter des comportements propres qui ne sont pas fournis par le niveau supérieur.

Pour une présentation plus détaillée des technologies de iPhone OS, voir Présentation des technologies iPhone OS.

Ecrire du code pour iPhone OS

Le iPhone SDK supporte la création d’applications orientées graphique qui s’exécutent de façon native sur iPhone OS. Les applications que vous créez résident sur l’écran d’accueil de l’utilisateur, aux côtés des autres applications, telles que Photos, Weather and Clock. Après qu’elle soit lancée, aux côtés du noyau et de quelques démons de bas niveau, votre application est la seule qui soit exécutée par le système. Pendant son exécution, votre application occupe la totalité de l’écran et accapare toute l’attention de l’utilisateur. Et lorsque l’utilisateur presse le bouton Accueil, votre application se termine et le système affiche de nouveau l’écran d’accueil. Le fait d’avoir le système rien que pour vous représente pas mal d’avantages car cela vous donne un accès total aux ressources systèmes sous-jacentes. Vous pouvez tirer profit des matériels intégrés tels que l’accéléromètre, l’appareil photo et les matériels graphiques pour exécuter votre code.

Du fait de la manière totalement différente d’utiliser un périphérique iPhone ou iPod Touch de celle d’un ordinateur Mac OS X, la façon de concevoir vos applications le sera aussi. Dans une application iPhone, il n’y a pas de concept de séparation des fenêtres pour l’affichage des contenus. Par contre, toutes les données de l’application sont affichées dans une seule et même fenêtre. Ce concept a mené à la création de nouvelles vues et de nouveaux éléments de contrôle qui vous permettent de présenter les données de votre application de façon organisée. De plus, de nombreuses vues standard et de nombreux contrôles peuvent se comporter légèrement différemment que leurs homologues Mac OS X. La plupart de ces changements devraient être transparents mais quelques uns pourront nécessiter de repenser la façon de présenter et d’organiser vos données.

Le modèle de gestion des événements de iPhone OS représente aussi un écart significatif avec les applications traditionnelles de bureau. Au lieu de se reposer sur les habituels événements souris et clavier, iPhone OS introduit une idée nouvelle : les événements de touché. Un tel événement peut survenir n’importe quand et en coordination avec un ou plusieurs événements de touché supplémentaires. Les touchés peuvent être utilisés pour détecter de simples interactions avec le contenu, telles que la sélection ou le déplacement d’éléments, ou ils peuvent être utilisés pour détecter des gestes et des interactions complexes, telles que des frottements ou les gestes de pincement-ouvrir et pincement-fermer (utilisés notamment pour zoomer et dézoomer dans l’application Photo).

Au-delà de la considération de la structure basique de votre application, vous devez réfléchir à la manière dont les utilisateurs vont vraiment s’en servir. Les applications iPhone doivent être pures et elles doivent se concentrer sur ce dont l’utilisateur a besoin à ce moment. Souvenez-vous que les utilisateurs qui sont en mouvement veulent obtenir rapidement ce dont ils ont besoin et qu’ils n’ont pas envie de passer des heures à chercher dans plusieurs couches d’écrans. Le fait de fournir une mise en page simple qui se concentre sur la donnée clé que l’utilisateur nécessite est très important. Pour les jeux et autres applications amusantes, vous devrez aussi penser à la manière dont l’utilisateur interagira avec votre application et vous devrez tirer profit de technologies telles que l’accéléromètre et l’appareil photo lorsque ce sera approprié.

Au moment de démarrer le développement, les frameworks que vous souhaiterez utiliser en priorité sont les frameworks Foundation et UIKit. Ces frameworks apportent les services clés utilisés par toutes les applications iPhone. Lorsque vous affinerez votre application, vous devrez enquêter dans les autres frameworks du système pour voir quels services ils offrent. La documentation de chaque framework comprend des liens vers des informations conceptuelles pertinentes qui vous aideront à apprendre à utiliser chaque framework.

Pour plus d’informations sur les frameworks Foundation et UIKit, voir Foundation Framework Reference et UIKit Framework Reference.

Où commencer ?

La création d’applications simples pour iPhone OS est assez facile avec les modèles intégrés de Xcode, mais la création d’applications qui effectuent quelque chose d’utile et qui ont un bel aspect nécessite que vous passiez du temps à lire les documentations disponibles. Au minimum, vous devriez prendre le temps de lire les autres articles d’orientation du iPhone Dev Center, qui passent en revue les outils et les processus de création d’applications.

Si vous partez de zéro, il est important que vous preniez le temps de comprendre les modèles et les conventions basiques de conception de iPhone OS avant d’écrire quoi que ce soit. Les applications s’exécutent mieux dans iPhone OS quand elles tirent pleinement profit de ce que les frameworks mettent à disposition. Si vous passez du temps à essayer de comprendre les comportements basiques du framework, vous trouverez peut-être alors que la création de votre application est bien plus difficile que si vous aviez simplement appris à utiliser les modèles basiques de conception. Les informations de base que chaque développeur iPhone se doit de connaître sont dans Cocoa Fundamentals Guide. Ce document couvrent les aspects basiques du langage Objective-C, les conventions de programmation et les modèles de conception utilisés par UIKit et plein d’autres frameworks système.

Une fois que vous aurez compris les conventions basiques utilisées pour créer des applications iPhone, vous pourrez passer à iPhone Application Programming Guide pour obtenir des détails spécifiques sur le processus de développement. Ce guide apporte les informations essentielles à la conception et au déroulement des tâches à effectuer lors de l’écriture d’applications iPhone, et comprend des exemples sur la manière d’afficher une interface utilisateur, de gérer les événements et de tirer profit des fonctionnalités de iPhone OS. Il décrit aussi le processus global de développement et explique comment vous vous servez de Xcode pour construire et lancer vos applications.

En plus de ce iPhone Application Programming Guide, vous devriez aussi jeter un oeil aux extraits de code fournis. iPhone OS est accompagné de nombreux extraits de code pleinement fonctionnels qui vous montrent comment utiliser les technologies mises à disposition pour créer des applications réelles. Vous pouvez utiliser ces extraits comme point de départ de vos propres applications ou alors simplement les lire pour apprendre à utiliser certaines fonctions spécifiques.

Texte original en anglais sur iPhone Dev Center.

Thierry Développer pour l'iPhone , ,

  1. Pas encore de commentaire
  1. Pas encore de trackbacks
S'abonner aux commentaires de cet article