DiscoverProgrammation sur plateforme mobile : application à iOS et Android (HD)
Programmation sur plateforme mobile : application à iOS et Android (HD)
Claim Ownership

Programmation sur plateforme mobile : application à iOS et Android (HD)

Author: Fabrice Kordon, Etienne Renault

Subscribed: 26Played: 31
Share

Description

Cette série de 7 cours est consacrée à la programmation sur plateformes mobiles. Elle se focalise principalement sur iOS et montre également la correspondance des principes vus pour iOS sur Android. Des étudiants de M2 constituent le public visé par ces cours. On considère qu'ils sont déjà compétent en programmation et qu'ils ont des notions sur l'utilisation de langages objets, de langages procéduraux, ainsi que des principes de base en système d'exploitation (interruption, notion d'événement, etc.). Les cours abordent successivement les principaux mécanismes offerts par iOS pour le développement d'applications embarquées sur des terminaux mobiles de type "smartphone": l'environnement de développement, la notion de vue, les principaux frameworks, etc. Un parallèle avec la problématique du développement de systèmes embarqués est également fait. A l'issue de ces cours, les étudiants sont autonomes et capables de naviguer non seulement dans l'environnement de développement d'Apple, mais aussi dans des environnements similaires. Nous considérons cette année, les version les plus récentes des OS évoqués: iOS 6 et Android 4.1 (Jelly Bean).
7 Episodes
Reverse
Ce septième et dernier cours vous présente les bibliothèques de développement pour le système Android de Google comparativement aux mécanismes vu sous iOS. Dans un premier temps, vous voyez comment créer et déployer une première application sur un simulateur ou un terminal. Ensuite, sont abordés dans l'ordre: la création d'écrans graphiques grâce aux Activity et l'utilisation du plugin eclipse ADT; les mécanismes de persistence; la notion de Fragment; des exemples concret de manipulation de liste; le «INTENT bus» de communication pour dialoguer avec des applications existantes (par exemple, la galerie ou le navigateur); les broadcast receiver ; le concept de Service et de tâches asynchrones; et enfin la gestion des capteurs sous android.
Ce sixième cours présente trois points importants pour les applications sur terminaux mobiles. Le premier d'entre eux concerne ka gestion spécifique potentielle sur des "grands terminaux". Le deuxième est l'accès au réseau. Sont évoqués l'invocation d'un service web, le décodage du résultat rendu au format XML et la gestion de communication 0-configuration au moyen du protocole Bonjour. Le dernier point concerne la gestion de la persistance des données au moyens, soit du système de préférence proposé par iOS, soit de la sauvegarde par sérialisation/dé-sérialisation d'objets dans un fichier.
Ce cinquième cours présente dans un premier temps différents mécanismes innovant pour s'interfacer avec l'utilisateur : l'accéléromètre, la gestion des « secousses » (shake motion) et la gestion des points de contact (touch/multi touch) avec la surface du terminal. I présente ensuite les principaux mécanismes de gestion du son, que ce soit depuis des fichiers ou depuis la bibliothèque de musique embarquée à bord du terminal. Enfin, l'affichage de vidéos accessibles depuis une URL ou stockées dans le terminal est présentée.
Après la présentation de plusieurs vues spéciales d'iOS utiles pour l'ergonomie des applications (indicateur d'activité, barre de progression, textView/textField, Picker), ce quatrième cours expose les mécanismes de présentation sophistiqués permettant de gérer et organiser un grand nombre de vues pour construire des applications complexes. Les trois principaux mécanismes (et leur associations possibles) sont présentés: les TableViewController, les NavigationController et les TabBarController.
Après la présentation de plusieurs vues spéciales d'iOS utiles pour l'ergonomie des applications (barre d'outils, alertes et actions), ce troisième cours se focalise principalement sur le mécanisme de délégation qui implémente la notion de framework dans l'environnement iOS. Cette notion est illustrée par la présentation de plusieurs mécanismes l'utilisant: la géolocalisation, (CLLocation et MapKit), La gestion de l'appareil photo ou, à défaut, de la bibliothèque d'images (UIImagePicker) et la gestion du carnet d'adresse (PersonViewController et PeoplePicker). Le cours se termine par la présentation du cycle de vie des applications dans iOS d'un point de vue "système".
Ce deuxième cours revient dans un premier temps sur Objective C. Après une présentation de la gestion des classes dans ce langage, il s'attache à présenter les mécanismes de gestion de la mémoire qui s'appuie sur des mécanismes classiques en programmation embarquée. Dans un second temps, la notion de vue, cruciale pour la construction d'interfaces graphiques sans utiliser storyboard est évoquée. Le cours se termine par une présentation de UIKit (contenant des mécanismes pour gérer boutons, sliders, segmented-control, etc.) ainsi qu'une rapide présentation de la gestion du scrolling/zooming et du support de la rotation du terminal.
Ce cours introductif pose les bases de la programmation sur plateforme mobile. Après un rappel des principes de la programmation événementielle, il présente l'environnement de développement (xCode v4.5) et ses différents outils. Il expose ensuite les principes de base du langage objective C et présente une démonstration du développement d'une application simple en illustration du processus de réalisation d'une application. Il propose enfin un exercice simple à réaliser et donne quelques éléments pour sa solution.