Développement d’applications iOS
Plan du cours
•
Première app et prise en main d’Xcode•
Notions de Swift•
Interactions utilisateurs (outlet et action)•
App multi-vues•
TableView et MapsEvaluation
•
1 projet en binôme•
1 examen sur machineMobile First : état des
lieux du dev. Mobile
App. Mobiles et iOS
Pourquoi iOS ?
•
Part de marché•
Monde : 25% - Europe : 28%•
USA : 45% Japon : 60% France : 28%•
80% pour appareils > 800$•
60% pour appareils 600$-800$•
1.4 milliards d’appareils en cours d’utilisation (01/19)Pourquoi iOS ?
•
App Store•
500 millions de visiteurs hebdo.•
386 millions de $ le 01/01/2020 (322 en 2019)•
1,42 milliards de $ entre Noël et nouvel an (1,22 2018)Pourquoi iOS ?
•
App Store - 2018•
23 milliards de $ de CA•
Fortune 100 company•
CA de McDonald en 2018 : 21 M$•
Apple Services (dernier tri.) : $12,5 milliards (FB : 17,5)Pourquoi iOS ?
•
Monétisation•
1$ iOS = 0.5$ Android•
Conclusion•
Développer pour les 2 plateformesCuriosité
•
Toutes les plateformes actuelles sont excellentes (Linux, Windows, MacOS, Android, iOS)•
Chacune possède ses forces et ses faiblesses.•
Le choix reste une question de préférence et de contrainteCuriosité
•
Soyez Curieux !!!•
Ne vous enfermez pas dans une plateforme, dans un langage !!!Applications mobiles
•
Ecran de petite taille•
Mémoire limitée (de moins en moins vrai)•
1 seule application à la fois•
Très peu d’aide sur l’écran•
Le contexte est fondamentalRègles d’or
•
L’interface doit être simple (ultra simple)•
Parler le langage utilisateur•
Etre cohérent et prévisible•
Fournir un retour utilisateur“App centric“
•
Les données sont stockées par app.•
Echange de données entre app = difficile•
Faire une chose mais la faire bien“UI centric“
•
Votre app doit être évidente à utiliser•
Minimiser les infos à saisir•
L’information doit être succincte•
Taille des objets = taille des doigts“UI centric“
•
6 résolutions :•
iPhone 4/4S•
iPhone 5/5S•
iPhone 6/7/8 et 5/7/8 plus, X•
iPad 1 et autres•
Orientations : portrait et paysage•
Développer pour iPad n’est pas qu’une adaptation à la résolution : nouveauxéléments d’interface
Lancement
•
Une app doit démarrer rapidement•
Si ce n’est pas le cas :•
afficher une image de démarrage qui ressemble à votre premier écran•
Restaurer l’état de la précédente exécution•
Lancer par défaut en portraitArrêt
•
Pas de bouton “Quitter“•
Etre prêt pour un arrêt n’importe quand (appel téléphonique par ex.)•
Enregistrer l’état•
L’app passe en tâche de fondiOS
iOS
•
Noyau Mac OS X•
Mach 3.0 et BSD•
Réseau•
Gestion de l’énergie•
Système de fichier•
Sécurité•
...iOS
•
Carnet d’adresse•
Location services•
SQLite•
Threads•
Préférences•
Collections•
...iOS
•
Core audio•
Core animation•
Video•
PDF•
JPG, PNG, TIFF•
OpenGL ES•
...iOS
•
Multi-touch•
View Hierarchy•
Controls•
Map Kit•
Camera•
Alerts•
...Plateforme de développement
Xcode 11
[display setTextColor:[UIColor blackColor]]; Objective-C Swift (5.1)
Plateforme de développement
Frameworks
MVC