Après le succès sans précédent de l’iPhone en 2007, Apple a transformé les usages en introduisant l’iPad en 2010.
Notre façon d’utiliser les outils informatiques s’est ainsi rapidement modifiée ; les iPads sont présents dans notre vie quotidienne, au bureau comme à la maison, et remplacent progressivement les ultra-notebooks.
En permettant aux développeurs de réaliser leurs propres applications sur les appareils et en gérant le circuit de ventes, Apple a réussi en quelques années à devenir l’une des sociétés les plus prospères de la planète, et propose un nombre sans cesse croissant d’applications sur l’ensemble de ses appareils mobiles.
Apple a su réinvestir pour faire évoluer sa plate-forme de développement en cherchant continuellement à simplifier le processus de développement des applications. Ces mutations rapides sont parfois déconcertantes, mais une fois maîtrisées, elles apportent une richesse fonctionnelle passionnante pour le développeur.
Cette nouvelle édition du livre Programmation iPhone OS 3 de Thomas Sarlandie présente les nouveautés et les modifications qui ont été apportées jusqu’à la version d’iOS 6.
Ce livre est destiné à tous ceux qui participent à un projet iOS, aussi bien sur iPhone que sur iPad.
Les développeurs y trouveront une introduction à Objective-C (le langage utilisé par Apple pour développer sous iOS), le SDK fourni par Apple, les outils comme Xcode et Instruments et la présentation des principaux concepts utilisés pour développer des applications.
Les experts métier, les consultants marketing et les équipes créatives y trouveront une présentation des principes ergonomiques fondamentaux de la plate-forme, une proposition de méthode pour concevoir une ergonomie mobile et des conseils pour préparer la publication et le lancement de l’application.
Ce livre est construit en cinq parties conçues pour être lues dans l’ordre par un développeur expérimenté découvrant la plate-forme iOS et le monde Apple. Les parties 2 et 5 sont destinées à l’ensemble de l’équipe du projet et ont été écrites dans un langage moins technique.
Le chapitre 1 est destiné à toute personne intéressée par le développement iOS. Il présente les différents programmes d’inscription proposés par Apple, l’inscription et le téléchargement des outils de développement et de la documentation. Le développeur y trouvera également des explications pour créer un certificat de développement, indispensable pour tester ses applications sur un appareil.
Le chapitre 2 est une introduction à Objective-C. Destiné à des développeurs familiers avec la programmation objet, il présente le langage utilisé par Apple de façon très pragmatique et destinée à vous rendre opérationnel rapidement.
Le chapitre 3 enfin, permet au développeur de de faire sa première application et de la tester dans le simulateur et sur son appareil. Les outils indispensables comme Xcode et l’usage de la documentation sont introduits à l’aide d’exemples très simples.
La deuxième partie du livre s’adresse à toute l’équipe en charge de l’application, les développeurs, les experts métiers, les créatifs (graphistes).
La plupart des équipes sont habituées au développement d’applications web ou client lourd. Le chapitre 4 présente ainsi le cycle de développement d’un projet iOS, ses spécificités, les différentes phases et le rôle de chaque intervenant. Il permet de partager un cadre méthodologique qui sera adapté au contexte de l’équipe en charge du projet et à ses habitudes.
Le chapitre 5 présente les bases de l’ergonomie iOS que toute l’équipe en charge du développement doit maîtriser. Les conventions iOS, leur logique et leur utilisation au sein des applications standard sont détaillées car il est essentiel de bien les avoir comprises pour concevoir l’interface d’une nouvelle application.
C’est justement le sujet du chapitre 6 qui propose une méthode permettant de partir d’une liste de fonctionnalités pour arriver à une interface utilisateur. Nous verrons comment exploiter les éléments standards pour créer une nouvelle application et comment éviter les erreurs classiques.
La troisième partie est consacrée au développement de l’interface de l’application.
L’élément principal constituant une application iOS est le contrôleur de vue qui est décrit en détail au chapitre 7.
L’assemblage des contrôleurs de vue pour construire une application complète, dont les écrans s’enchaînent de manière fluide est détaillé dans le chapitre 8.
Le chapitre 9 présente les vues, c’est-à-dire tous les éléments d’interface, il donne les clés pour bien comprendre comment assembler un écran à partir des composants graphiques fournis par le SDK et comment les adapter aux couleurs de votre application.
Le chapitre 10, par le biais des PickerViews permet de parcourir les mécanismes de délégations qui sont présents au sein de nombreux objets en Objective-C.
La navigation dans une liste avec le doigt est omniprésente dans les applications iPhone/iPad. Le chapitre 11 détaille les nombreux éléments fournis par le SDK pour faciliter l’implémentation de listes d’éléments, appelées TableView.
Enfin, au chapitre 12, on verra à quel point la détection et la gestion des actions de l’utilisateur sur l’écran – notamment les actions à plusieurs doigts (multi-touch) – est facile pour le développeur sous iOS.
Cette partie présente les différentes techniques pouvant être utilisées pour enregistrer des données, ainsi que pour permettre à votre application de communiquer avec l’extérieur.
La sérialisation des classes de base (listes et dictionnaires) en XML et JSON est présentée au chapitre 13, ainsi que l’utilisation du mécanisme de préférences utilisateur et les techniques de lecture d’un flux XML quelconque.
Le chapitre 14 présente le framework MapKit, qui regroupe un ensemble de classes utilisant les coordonnées de géolocalisation et manipulant des cartes. Le système s’appuie sur une cartographie développée conjointement par Apple et TomTom.
Le chapitre 15 montre comment combiner les techniques de stockage avec des appels réseau, et en particulier faire en sorte que l’application reste réactive même quand des appels réseau durent plusieurs secondes.
Le framework CoreData est présenté dans le chapitre 16. C’est une architecture complète de mapping objet-relationnel pour iOS et incontestablement le moyen le plus efficace d’enregistrer et de parcourir des volumes importants de données métiers.
L’utilisation de contenus multimédias est couverte au chapitre 17 : lecture de sons, utilisation de la bibliothèque iPod de l’utilisateur, de la caméra ou encore de lectures de vidéos.
Le chapitre 18 présente le système de notifications permettant de rester en contact avec l’utilisateur, même lorsque l’application est fermée. La mise en place des notifications est présentée de manière détaillée, avec des exemples en PHP pour la partie serveur qui pourront facilement être adaptés dans n’importe quel langage.
Le chapitre 19 présente les frameworks fournis par Apple, permettant de manipuler les images, de produire des graphiques et d’animer les éléments présents à l’écran.
Cette partie se termine par un chapitre 20, sur les fonctions graphiques de l’environnement iOS. On dispose d’un nombre impressionnant de filtres d’images et d’animations faciles à mettre en place. L’API standard OpenGL ES permet de contrôler davantage le coprocesseur graphique.
La dernière partie de ce livre, en un chapitre, est consacrée à la publication de vos applications. Cette partie est destinée à toute l’équipe du projet qui y trouvera la liste de tous les éléments à préparer avant de pouvoir soumettre l’application à Apple, des conseils pour favoriser les chances que l’application soit validée du premier coup, et quelques outils utiles pour suivre le succès de votre application et préparer la prochaine version.
Thomas Sarlandie a co-fondé l’une des premières agences mobile en France. Il a été l’un des pionniers du développement iPhone et iPad dans l’hexagone et a réalisé avec son équipe des dizaines d’applications iPhone dont lemonde.fr. Grâce à l’expérience et l’aventure qu’il a vécu avec Backelite durant plusieurs années, il a pu développer cette société florissante en lui fournissant toutes ses compétences et sa vision de ce que l’environnement apporté par Apple offrait. Il a apporté son dynamisme et sa créativité à l’ensemble des projets et a su conduire Backelite vers une notoriété reconnue de tous.
Jean-Marc Lacoste est depuis 20 ans consultant en informatique chez Ambre Systems. Ayant commencé dans les langages d’intelligence artificielle (Lisp, Scheme, Prolog, Ada, etc.), il s’est ensuite orienté vers les systèmes Unix/Linux et le C. Partageant son temps entre la formation en milieu professionnel et les interventions à travers les constructeurs, éditeurs et leurs partenaires, il a notamment travaillé auprès de constructeurs comme Digital, HP, Sun, IBM ; Oracle pour du déploiement et du tuning notamment. Avec l’apparition des smartphones et notamment de la plateforme iOS, il a repris le développement sous l’angle de la formation la prise en main du langage Objective-C et de l’ensemble de l’environnement de développement sous Xcode pour réaliser rapidement des applications cohérentes et efficaces.
Tout bon avant-propos se doit de citer ceux qui ont contribué à l’élaboration du livre qu’il précède.
D’abord, merci à nos familles qui nous ont aidé à garder le cap pendant l’écriture et l’élaboration des exercices, parfois jusqu’à très tard dans la nuit.
Nous tenons aussi à remercier :
• Muriel des éditions Eyrolles, et les différents correcteurs et maquettistes qui ont su nous aider à finaliser ce livre, notamment Sophie, Géraldine et Laurène.
• Les différents centres de formations qui nous ont permis d’organiser leurs programmes de formation et qui connaissent un franc succès.
• Et bien sûr tous ceux qui ont contribué à la première version de ce livre.
Thomas tient à remercier l’ensemble des équipes de Backelite avec qui il a tellement appris, les lecteurs de la première édition qui ont envoyé de nombreux retours, et surtout Jean-Marc, qui a repris avec courage et succès le flambeau pour cette nouvelle édition.
Propriété de Marie Richie <FB1245387-C111754-prod@customers.feedbooks.com>