SlideShare une entreprise Scribd logo

Chp6 - Développement iOS

Visitez http://liliasfaxi.wix.com/liliasfaxi !

1  sur  64
Télécharger pour lire hors ligne
Chp6 : Développement iOS
Cycle de Vie, Composants Principaux, Comportement…
Conception et Développement d’Applications Mobiles
GL4 (Option Mobile) - 2016
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 1
PLAN
1. Environnement de Développement iOS
2. Architecture de l’Environnement iOS
3. IHM Guidelines
4. Architecture d’une Application iOS
5. Cycle de Vie d’une Application
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 2
Chp5 : Développement iOS
ENVIRONNEMENT DE DÉVELOPPEMENT IOS
Chp5 : Développement iOS
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 3
1. Environnement de Développement iOS
2. Architecture iOS
3. IHM Guidelines
4. Architecture d’une Application
5. Cycle de Vie d’une Application
iOS
• Système d’exploitation présent sur les appareils iPhone, iPad
et iPod touch
• Gère le matériel de l’appareil et fournit les technologies
nécessaires pour implémenter des applications natives
• Est accompagné d’un ensemble d’applications
• Phone, Mail, Safari…
• Fournit des services systèmes standard pour l’utilisateur
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 4
Environnement de Développement iOS
iOS SDK
• Contient les outils et interfaces nécessaires pour développer,
installer, exécuter et tester les applications natives créées
pour un appareil iOS
• Les applications natives sont construites en utilisant
• Des frameworks iOS
• Un langage de programmation (Objective-C, et plus récemment Swift)
• Un environnement de développement Apple
• MacOSX: SE Apple
• Xcode: IDE de Apple
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 5
Environnement de Développement iOS
En quelques mots, iOS…
• Utilise une architecture en couches
• Offre des frameworks pour manipuler les interfaces système
• Répertoire contenant une bibliothèque partagée dynamique et les
ressources nécessaires pour la supporter (images, applications helpers,
fichiers headers…)
• Offre la bibliothèque du développeur
• À utiliser sans modération: http://developer.apple.com/iphone
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 6
Environnement de Développement iOS
Publicité

Recommandé

Chp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement MobileChp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement MobileLilia Sfaxi
 
Chp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesChp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesLilia Sfaxi
 
Chp5 - Applications Android
Chp5 - Applications AndroidChp5 - Applications Android
Chp5 - Applications AndroidLilia Sfaxi
 
Chp2 - Conception UX-UI des Applications Mobiles
Chp2 - Conception UX-UI des Applications MobilesChp2 - Conception UX-UI des Applications Mobiles
Chp2 - Conception UX-UI des Applications MobilesLilia Sfaxi
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...MOHAMMED MOURADI
 
Android-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsAndroid-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsLilia Sfaxi
 
P2 éléments graphiques android
P2 éléments graphiques androidP2 éléments graphiques android
P2 éléments graphiques androidLilia Sfaxi
 

Contenu connexe

Tendances

Android-Tp4: stockage
Android-Tp4: stockageAndroid-Tp4: stockage
Android-Tp4: stockageLilia Sfaxi
 
Les Systèmes d'exploitation mobile
Les Systèmes d'exploitation mobileLes Systèmes d'exploitation mobile
Les Systèmes d'exploitation mobileMohamed BOURAOUI
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriMansouri Khalifa
 
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...Anas Riahi
 
Conception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIRConception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIRSkander Driss
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Sofien Benrhouma
 
P1 introduction à android
P1 introduction à androidP1 introduction à android
P1 introduction à androidLilia Sfaxi
 
Diagrammes de classes uml
Diagrammes de classes umlDiagrammes de classes uml
Diagrammes de classes umlmeriem sari
 
Expo diagramme cas d'utilisation
Expo diagramme cas d'utilisationExpo diagramme cas d'utilisation
Expo diagramme cas d'utilisationaminooovich
 
Conception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREGhizlane ALOZADE
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile Raoua Bennasr
 
Android-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateursAndroid-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateursLilia Sfaxi
 
UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriMansouri Khalifa
 
P3 listes et elements graphiques avancés
P3 listes et elements graphiques avancésP3 listes et elements graphiques avancés
P3 listes et elements graphiques avancésLilia Sfaxi
 
Rapport PFE: Gestion de Parc Informatique
Rapport PFE: Gestion de Parc InformatiqueRapport PFE: Gestion de Parc Informatique
Rapport PFE: Gestion de Parc InformatiqueEric Maxime
 
Rapport d'une application mobile de recommendation de livres
Rapport d'une application mobile de recommendation de livresRapport d'une application mobile de recommendation de livres
Rapport d'une application mobile de recommendation de livreskaies Labiedh
 
Android-Tp5 : web services
Android-Tp5 : web servicesAndroid-Tp5 : web services
Android-Tp5 : web servicesLilia Sfaxi
 

Tendances (20)

P5 stockage
P5 stockageP5 stockage
P5 stockage
 
Android-Tp4: stockage
Android-Tp4: stockageAndroid-Tp4: stockage
Android-Tp4: stockage
 
Les Systèmes d'exploitation mobile
Les Systèmes d'exploitation mobileLes Systèmes d'exploitation mobile
Les Systèmes d'exploitation mobile
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
 
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
 
Conception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIRConception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIR
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
P1 introduction à android
P1 introduction à androidP1 introduction à android
P1 introduction à android
 
Diagrammes de classes uml
Diagrammes de classes umlDiagrammes de classes uml
Diagrammes de classes uml
 
Expo diagramme cas d'utilisation
Expo diagramme cas d'utilisationExpo diagramme cas d'utilisation
Expo diagramme cas d'utilisation
 
P4 intents
P4 intentsP4 intents
P4 intents
 
Conception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIRE
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
 
Android-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateursAndroid-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateurs
 
cycle de vie
cycle de vie cycle de vie
cycle de vie
 
UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouri
 
P3 listes et elements graphiques avancés
P3 listes et elements graphiques avancésP3 listes et elements graphiques avancés
P3 listes et elements graphiques avancés
 
Rapport PFE: Gestion de Parc Informatique
Rapport PFE: Gestion de Parc InformatiqueRapport PFE: Gestion de Parc Informatique
Rapport PFE: Gestion de Parc Informatique
 
Rapport d'une application mobile de recommendation de livres
Rapport d'une application mobile de recommendation de livresRapport d'une application mobile de recommendation de livres
Rapport d'une application mobile de recommendation de livres
 
Android-Tp5 : web services
Android-Tp5 : web servicesAndroid-Tp5 : web services
Android-Tp5 : web services
 

En vedette

Server-side JS with NodeJS
Server-side JS with NodeJSServer-side JS with NodeJS
Server-side JS with NodeJSLilia Sfaxi
 
eServices-Chp6: WOA
eServices-Chp6: WOAeServices-Chp6: WOA
eServices-Chp6: WOALilia Sfaxi
 
eServices-Chp3: Composition de Services
eServices-Chp3: Composition de ServiceseServices-Chp3: Composition de Services
eServices-Chp3: Composition de ServicesLilia Sfaxi
 
eServices-Chp4: ESB
eServices-Chp4: ESBeServices-Chp4: ESB
eServices-Chp4: ESBLilia Sfaxi
 
Client-side JavaScript
Client-side JavaScriptClient-side JavaScript
Client-side JavaScriptLilia Sfaxi
 
Chp6 - De UML vers C++
Chp6 - De UML vers C++Chp6 - De UML vers C++
Chp6 - De UML vers C++Lilia Sfaxi
 
Systèmes d'Exploitation - chp4-gestion disque
Systèmes d'Exploitation - chp4-gestion disqueSystèmes d'Exploitation - chp4-gestion disque
Systèmes d'Exploitation - chp4-gestion disqueLilia Sfaxi
 
Présentation de Thèse
Présentation de ThèsePrésentation de Thèse
Présentation de ThèseLilia Sfaxi
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services WebLilia Sfaxi
 
Mobile developement
Mobile developementMobile developement
Mobile developementLilia Sfaxi
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherLilia Sfaxi
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
Software Engineering - chp1- software dev methodologies
Software Engineering - chp1- software dev methodologiesSoftware Engineering - chp1- software dev methodologies
Software Engineering - chp1- software dev methodologiesLilia Sfaxi
 
Software Engineering - chp0- introduction
Software Engineering - chp0- introductionSoftware Engineering - chp0- introduction
Software Engineering - chp0- introductionLilia Sfaxi
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingLilia Sfaxi
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataLilia Sfaxi
 

En vedette (20)

Testing Angular
Testing AngularTesting Angular
Testing Angular
 
Server-side JS with NodeJS
Server-side JS with NodeJSServer-side JS with NodeJS
Server-side JS with NodeJS
 
eServices-Chp6: WOA
eServices-Chp6: WOAeServices-Chp6: WOA
eServices-Chp6: WOA
 
eServices-Chp3: Composition de Services
eServices-Chp3: Composition de ServiceseServices-Chp3: Composition de Services
eServices-Chp3: Composition de Services
 
eServices-Chp4: ESB
eServices-Chp4: ESBeServices-Chp4: ESB
eServices-Chp4: ESB
 
Angular
AngularAngular
Angular
 
Client-side JavaScript
Client-side JavaScriptClient-side JavaScript
Client-side JavaScript
 
Chp6 - De UML vers C++
Chp6 - De UML vers C++Chp6 - De UML vers C++
Chp6 - De UML vers C++
 
Systèmes d'Exploitation - chp4-gestion disque
Systèmes d'Exploitation - chp4-gestion disqueSystèmes d'Exploitation - chp4-gestion disque
Systèmes d'Exploitation - chp4-gestion disque
 
Thinking BIG
Thinking BIGThinking BIG
Thinking BIG
 
Présentation de Thèse
Présentation de ThèsePrésentation de Thèse
Présentation de Thèse
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services Web
 
Mobile developement
Mobile developementMobile developement
Mobile developement
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
Software Engineering - chp1- software dev methodologies
Software Engineering - chp1- software dev methodologiesSoftware Engineering - chp1- software dev methodologies
Software Engineering - chp1- software dev methodologies
 
Software Engineering - chp0- introduction
Software Engineering - chp0- introductionSoftware Engineering - chp0- introduction
Software Engineering - chp0- introduction
 
Core JavaScript
Core JavaScriptCore JavaScript
Core JavaScript
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data Processing
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
 

Similaire à Chp6 - Développement iOS

IBM i: Built for Business - Philippe Bourgeois
IBM i: Built for Business - Philippe BourgeoisIBM i: Built for Business - Philippe Bourgeois
IBM i: Built for Business - Philippe BourgeoisFresche Solutions
 
Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.DocDoku
 
Tech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobilesTech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobilesMichael Laguerre
 
What is new in UIKit for iOS 13
What is new in UIKit for iOS 13What is new in UIKit for iOS 13
What is new in UIKit for iOS 13Thomas Besnehard
 
Développez des applications originales pour i phone et ipod touch {9782744041...
Développez des applications originales pour i phone et ipod touch {9782744041...Développez des applications originales pour i phone et ipod touch {9782744041...
Développez des applications originales pour i phone et ipod touch {9782744041...Islem Azzouz
 
Windows 8 applications
Windows 8 applicationsWindows 8 applications
Windows 8 applicationsYoussef Laziz
 
FOLIO_presentation_par_BibLibre
FOLIO_presentation_par_BibLibreFOLIO_presentation_par_BibLibre
FOLIO_presentation_par_BibLibreABES
 
Tk04 Iphone Vs Android Fr
Tk04 Iphone Vs Android FrTk04 Iphone Vs Android Fr
Tk04 Iphone Vs Android FrValtech
 
Tirer parti des périphériques mobiles dans une application web : qui a dit qu...
Tirer parti des périphériques mobiles dans une application web : qui a dit qu...Tirer parti des périphériques mobiles dans une application web : qui a dit qu...
Tirer parti des périphériques mobiles dans une application web : qui a dit qu...Christophe Porteneuve
 
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"Smile I.T is open
 
Conférence windows phone 7
Conférence windows phone 7Conférence windows phone 7
Conférence windows phone 7Arnaud Auroux
 
soft-shake.ch - Distribution d'applications iPhone en Entreprise: Réalisation...
soft-shake.ch - Distribution d'applications iPhone en Entreprise: Réalisation...soft-shake.ch - Distribution d'applications iPhone en Entreprise: Réalisation...
soft-shake.ch - Distribution d'applications iPhone en Entreprise: Réalisation...soft-shake.ch
 
Mobile-Chp4 côté serveur
Mobile-Chp4 côté serveurMobile-Chp4 côté serveur
Mobile-Chp4 côté serveurLilia Sfaxi
 
Panorama des solutions mobile hybrides
Panorama des solutions mobile hybridesPanorama des solutions mobile hybrides
Panorama des solutions mobile hybridesekino
 
Introduction à l'objet - Deuxième année ISIMA
Introduction à l'objet - Deuxième année ISIMAIntroduction à l'objet - Deuxième année ISIMA
Introduction à l'objet - Deuxième année ISIMALoic Yon
 
Introduction to iOS Development
Introduction to iOS DevelopmentIntroduction to iOS Development
Introduction to iOS DevelopmentNidhal Satouri
 
userADgents WWDC iOS 8 juin 2014
userADgents WWDC iOS 8 juin 2014userADgents WWDC iOS 8 juin 2014
userADgents WWDC iOS 8 juin 2014USERADGENTS
 

Similaire à Chp6 - Développement iOS (20)

Apple - WWDC 2018
Apple - WWDC 2018Apple - WWDC 2018
Apple - WWDC 2018
 
IBM i: Built for Business - Philippe Bourgeois
IBM i: Built for Business - Philippe BourgeoisIBM i: Built for Business - Philippe Bourgeois
IBM i: Built for Business - Philippe Bourgeois
 
Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.
 
Tech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobilesTech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobiles
 
What is new in UIKit for iOS 13
What is new in UIKit for iOS 13What is new in UIKit for iOS 13
What is new in UIKit for iOS 13
 
Développez des applications originales pour i phone et ipod touch {9782744041...
Développez des applications originales pour i phone et ipod touch {9782744041...Développez des applications originales pour i phone et ipod touch {9782744041...
Développez des applications originales pour i phone et ipod touch {9782744041...
 
Windows 8 applications
Windows 8 applicationsWindows 8 applications
Windows 8 applications
 
Windows 8 apps
Windows 8 appsWindows 8 apps
Windows 8 apps
 
FOLIO_presentation_par_BibLibre
FOLIO_presentation_par_BibLibreFOLIO_presentation_par_BibLibre
FOLIO_presentation_par_BibLibre
 
Windows 8 apps
Windows 8 appsWindows 8 apps
Windows 8 apps
 
Tk04 Iphone Vs Android Fr
Tk04 Iphone Vs Android FrTk04 Iphone Vs Android Fr
Tk04 Iphone Vs Android Fr
 
Tirer parti des périphériques mobiles dans une application web : qui a dit qu...
Tirer parti des périphériques mobiles dans une application web : qui a dit qu...Tirer parti des périphériques mobiles dans une application web : qui a dit qu...
Tirer parti des périphériques mobiles dans une application web : qui a dit qu...
 
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
 
Conférence windows phone 7
Conférence windows phone 7Conférence windows phone 7
Conférence windows phone 7
 
soft-shake.ch - Distribution d'applications iPhone en Entreprise: Réalisation...
soft-shake.ch - Distribution d'applications iPhone en Entreprise: Réalisation...soft-shake.ch - Distribution d'applications iPhone en Entreprise: Réalisation...
soft-shake.ch - Distribution d'applications iPhone en Entreprise: Réalisation...
 
Mobile-Chp4 côté serveur
Mobile-Chp4 côté serveurMobile-Chp4 côté serveur
Mobile-Chp4 côté serveur
 
Panorama des solutions mobile hybrides
Panorama des solutions mobile hybridesPanorama des solutions mobile hybrides
Panorama des solutions mobile hybrides
 
Introduction à l'objet - Deuxième année ISIMA
Introduction à l'objet - Deuxième année ISIMAIntroduction à l'objet - Deuxième année ISIMA
Introduction à l'objet - Deuxième année ISIMA
 
Introduction to iOS Development
Introduction to iOS DevelopmentIntroduction to iOS Development
Introduction to iOS Development
 
userADgents WWDC iOS 8 juin 2014
userADgents WWDC iOS 8 juin 2014userADgents WWDC iOS 8 juin 2014
userADgents WWDC iOS 8 juin 2014
 

Plus de Lilia Sfaxi

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfLilia Sfaxi
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfLilia Sfaxi
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-CassandraLilia Sfaxi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-CorrectionLilia Sfaxi
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-CorrectionLilia Sfaxi
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-SéquencesLilia Sfaxi
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-CorrectionLilia Sfaxi
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correctionLilia Sfaxi
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrageLilia Sfaxi
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Lilia Sfaxi
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intentsLilia Sfaxi
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web servicesLilia Sfaxi
 

Plus de Lilia Sfaxi (20)

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
 
Lab3-DB_Neo4j
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
 
Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
 
TD4-UML
TD4-UMLTD4-UML
TD4-UML
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-Séquences
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
TD2-UML-Classes
TD2-UML-ClassesTD2-UML-Classes
TD2-UML-Classes
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
TD1 - UML - DCU
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
 

Chp6 - Développement iOS

  • 1. Chp6 : Développement iOS Cycle de Vie, Composants Principaux, Comportement… Conception et Développement d’Applications Mobiles GL4 (Option Mobile) - 2016 Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 1
  • 2. PLAN 1. Environnement de Développement iOS 2. Architecture de l’Environnement iOS 3. IHM Guidelines 4. Architecture d’une Application iOS 5. Cycle de Vie d’une Application Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 2 Chp5 : Développement iOS
  • 3. ENVIRONNEMENT DE DÉVELOPPEMENT IOS Chp5 : Développement iOS Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 3 1. Environnement de Développement iOS 2. Architecture iOS 3. IHM Guidelines 4. Architecture d’une Application 5. Cycle de Vie d’une Application
  • 4. iOS • Système d’exploitation présent sur les appareils iPhone, iPad et iPod touch • Gère le matériel de l’appareil et fournit les technologies nécessaires pour implémenter des applications natives • Est accompagné d’un ensemble d’applications • Phone, Mail, Safari… • Fournit des services systèmes standard pour l’utilisateur Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 4 Environnement de Développement iOS
  • 5. iOS SDK • Contient les outils et interfaces nécessaires pour développer, installer, exécuter et tester les applications natives créées pour un appareil iOS • Les applications natives sont construites en utilisant • Des frameworks iOS • Un langage de programmation (Objective-C, et plus récemment Swift) • Un environnement de développement Apple • MacOSX: SE Apple • Xcode: IDE de Apple Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 5 Environnement de Développement iOS
  • 6. En quelques mots, iOS… • Utilise une architecture en couches • Offre des frameworks pour manipuler les interfaces système • Répertoire contenant une bibliothèque partagée dynamique et les ressources nécessaires pour la supporter (images, applications helpers, fichiers headers…) • Offre la bibliothèque du développeur • À utiliser sans modération: http://developer.apple.com/iphone Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 6 Environnement de Développement iOS
  • 7. Distribution des Versions (Mars 2016) • 79% des appareils utilisent iOS 9. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 7 Environnement de Développement iOS https://developer.apple.com/support/appstore/
  • 8. ARCHITECTURE IOS Chp5 : Développement iOS Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 8 1. Environnement de Développement iOS 2. Architecture iOS 3. IHM Guidelines 4. Architecture d’une Application 5. Cycle de Vie d’une Application
  • 9. Architecture en Couches Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 9 Architecture iOS Services et Technologies Fondamentales Services et Technologies Sophistiquées
  • 10. Architecture en Couches (1/4) Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 10 Architecture iOS CocoaTouch • Définit: • L ’ apparencedel’application • L ’ infrastructureetsupportpour les technologiesclef • Contient les caractéristiques clés pour construire des applications iOS, par ex: • Handoff:extension de laUX entreles appareils • AirDrop:partagededocumentsentreappareilsproches • Storyboards:permetdecréer vos interfacesetles visualiser au même endroit • Notificationspush:alerter lesutilisateursdesinformations • Autres frameworks • GameKit:supportpour le GameCenter • AddressBook UI: Interfacestandarddecréationetéditiondescontactsdutéléphone • EventKit:contrôleurspour manipuler lesévènementsducalendrier
  • 11. Architecture en Couches (2/4) Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 11 Architecture iOS Media • Contient les technologies graphiques, audio et vidéo pour implémenter les expériences multimédia
  • 12. Architecture en Couches (3/4) Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 12 Architecture iOS Core Services • Services systèmes fondamentaux pour les applications • ServicesPeer-to-peer:P2PviaBluetooth • iCloud:servicesde stockage sur le cloudapple • Protectiondedonnées:encryption • SQLite, In-AppPurchase,SupportXML… • Frameworks: • CoreFoundation etFoundation Frameworks: typesde base que toutes les applicationsutilisent • Accounts:AccèsSSO pour les comptesutilisateurs • AddressBook: Accèsà la base dedonnées des contactsde l’utilisateur • CoreTelephonyFramework,CoreMedia Framework…
  • 13. Architecture en Couches (4/4) Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 13 Architecture iOS Core OS • Caractérisitiques bas niveaupour construire les technologies iOS • Frameworks: • CoreBluetooth: interactionavec lesaccessoiresbluetooth basseénergie • ExternalAccessory:supportpour communiquer avec lesaccessoiresmatérielsattachésàunappareiliOS • Local Authentication:permetd’utiliser TouchIDpour authentifier l’utilisateur • System (Kernel),Security,support64-bit…
  • 14. IHM GUIDELINES Chp5 : Développement iOS Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 14 1. Environnement de Développement iOS 2. Architecture iOS 3. IHM Guidelines 4. Architecture d’une Application 5. Cycle de Vie d’une Application
  • 15. Concepts de Base pour Conception IHM iOS • Déférence • La UI doit aider à comprendre et interagir avec le contenu, pas à l’envahir • Clarté • Le texte doit être lisible, les icônes précises et claires, les ornements subtils • Profondeur • Mouvements réalistes et couches visibles Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 15 IHM Guidelines
  • 16. Concepts de Base pour Conception IHM iOS • Déférence • Prendre avantage de tout l’écran • Reconsidérer le réalisme • Éviter les gradients, ombres… • Laisser le focus sur le contenu • Utiliser des éléments translucides • Laisser deviner le contenu derrière Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 16 IHM Guidelines
  • 17. Concepts de Base pour Conception IHM iOS • Déférence • Prendre avantage de tout l’écran • Reconsidérer le réalisme • Éviter les gradients, ombres… • Laisser le focus sur le contenu • Utiliser des éléments translucides • Laisser deviner le contenu derrière Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 17 IHM Guidelines
  • 18. Concepts de Base pour Conception IHM iOS • Déférence • Prendre avantage de tout l’écran • Reconsidérer le réalisme • Éviter les gradients, ombres… • Laisser le focus sur le contenu • Utiliser des éléments translucides • Laisser deviner le contenu derrière Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 18 IHM Guidelines
  • 19. Concepts de Base pour Conception IHM iOS • Clarté • Laisser beaucoup d’espace négatif (Espace autours et entre les éléments d’une image) • Rendre le contenu plus perceptible et compréhensible • Laisser la couleur simplifier l’UI • Utiliser une couleur pour souligner les éléments importants • Assurer la lisibilité en utilisant les polices système • Polices iOS ajustent leur espacement au conteneur • Utiliser les boutons sans bordure Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 19 IHM Guidelines
  • 20. Concepts de Base pour Conception IHM iOS • Clarté • Laisser beaucoup d’espace négatif (Espace autours et entre les éléments d’une image) • Rendre le contenu plus perceptible et compréhensible • Laisser la couleur simplifier l’UI • Utiliser une couleur pour souligner les éléments importants • Assurer la lisibilité en utilisant les polices système • Polices iOS ajustent leur espacement au conteneur • Utiliser les boutons sans bordure Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 20 IHM Guidelines
  • 21. Concepts de Base pour Conception IHM iOS • Clarté • Laisser beaucoup d’espace négatif (Espace autours et entre les éléments d’une image) • Rendre le contenu plus perceptible et compréhensible • Laisser la couleur simplifier l’UI • Utiliser une couleur pour souligner les éléments importants • Assurer la lisibilité en utilisant les polices système • Polices iOS ajustent leur espacement au conteneur • Utiliser les boutons sans bordure Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 21 IHM Guidelines
  • 22. Concepts de Base pour Conception IHM iOS Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 22 IHM Guidelines • Clarté • Laisser beaucoup d’espace négatif (Espace autours et entre les éléments d’une image) • Rendre le contenu plus perceptible et compréhensible • Laisser la couleur simplifier l’UI • Utiliser une couleur pour souligner les éléments importants • Assurer la lisibilité en utilisant les polices système • Polices iOS ajustent leur espacement au conteneur • Utiliser les boutons sans bordure
  • 23. Concepts de Base pour Conception IHM iOS • Profondeur • Affichage du contenu sous forme de couches distinctes • Montrent la hiérarchie et relation entre les objets • Afficher les listes sous forme de couches superposées • Avoir une visibilité sur tous les éléments • Utiliser des transitions pour montrer la hiérarchie Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 23 IHM Guidelines
  • 24. Concepts de Base pour Conception IHM iOS • Profondeur • Affichage du contenu sous forme de couches distinctes • Montrent la hiérarchie et relation entre les objets • Afficher les listes sous forme de couches superposées • Avoir une visibilité sur tous les éléments • Utiliser des transitions pour montrer la hiérarchie Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 24 IHM Guidelines
  • 25. Concepts de Base pour Conception IHM iOS • Profondeur • Utiliser des transitions pour montrer la hiérarchie Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 25 IHM Guidelines
  • 26. Anatomie d’une Application Utilisation de UIKit Framework pour définir les composants de base de l’application Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 26 IHM Guidelines
  • 27. Anatomie d’une Application • Quatre catégories de composants graphiques • Barres • Informations contextuelles pour indiquer l’emplacement de l’application, permettre la navigation et initier des actions • Content Views • Vues portant un contenu spécifique à l’application, et qui permettent certains comportements tels que le défilement, l’insertion, le réarrangement… • Contrôles • Éléments graphiques réalisant des actions ou affichant une information • Vues temporaires • Apparaissent brièvement pour donner aux utilisateurs une information importante ou additionnelle Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 27 IHM Guidelines
  • 28. ARCHITECTURE D’UNE APPLICATION Chp5 : Développement iOS Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 28 1. Environnement de Développement iOS 2. Architecture iOS 3. IHM Guidelines 4. Architecture d’une Application 5. Cycle de Vie d’une Application
  • 29. Patrons de Conception • MVC (?) • Target-Action • Delegation Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 29 Architecture d’une Application
  • 30. La Vue • Permet à l’utilisateur d’interagir avec l’application de la manière la plus simple possible • Scene : Écran de l’application • Utilisation des storyboards pour la conception et l’implémentation de l’interface dans un environnement graphique Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 30 Architecture d’une Application
  • 31. Hiérarchie des Vues Catégorie de Vue Objectif Exemples Contenu Afficher un type particulier de contenu Image, étiquette de texte Collection Afficher des collections ou groupes de vues Table, Collection Contrôles Réaliser des actions ou afficher des informations Bouton, Slider, Switch Barres Naviguer, ou réaliser des actions Toolbar, Nav Bar, TabBar Entrées Recevoir untexte à partir de l’utilisateur Textview, barre de recherche Conteneurs Sert de conteneur pour d’autres vues Vue, scroll view Modales Interrompt le flux régulier de l’application pour permettre à l’utilisateur de faire une action Alerte, action sheet Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 31 Architecture d’une Application
  • 32. Hiérarchie des Vues (Exemple) Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 32 Architecture d’une Application Window Navigation Controller (Sous-classe de ViewController) View Navigation Bar (dessinée par le Navigation Controller) Slider (Sous-classe de View) Voir Exemple: TODOList-ObjC -1
  • 33. Les Contrôleurs • iOS est basé sur la programmation évènementielle • Le flux de l’application est déterminé par des évènements: • Évènements Système • Évènements Utilisateur • La réponse de l’application à une action de l’utilisateur est reflétée par l’interface • C’est l’utilisateur qui doit avoir le contrôle, pas le développeur! • La logique de gestion des évènements est définie dans le ViewController • Un ViewController pour chaque ContentView (Scene) Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 33 Architecture d’une Application
  • 34. Les Contrôleurs : Rôles • Coordination du flux d’information entre le modèle et les vues • Gestion du cycle de vie des ContentViews • Gestion des changements d’orientation de l’appareil • Réponse aux interactions utilisateur • Implémentation des transition d’un type de contenu à un autre • Pour connecter entre le storyboard et le code, ils utilisent: • Actions • Outlets • Contrôles • Contrôleurs de Navigation • Segues (Enchaînements) Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 34 Architecture d’une Application
  • 35. Actions • Action: • Un bout de code lié à un évènement qui peut survenir dans votre application • Quand l’ évènement a lieu, le code est exécuté • Une action peut : • Manipuler une donnée • Modifier l’interface utilisateur • Déclencher un traitement • Pour définir une action, il faut créer une méthode avec un type de retour IBAction et un paramètre sender • Sender: représente l’objet responsable du déclenchement de l’action • IBAction: mot clef spécial, indiquant que la méthode est une action, appelée à partir d’un élément de l’Interface Builder (IB) Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 35 Architecture d’une Application
  • 36. Outlets et Contrôles • Outlet • Permet de référencer les objets d’une interface à partir du code source • Crée une propriété représentant cet objet dans le fichier ViewController cible • La propriété est de type IBOutlet • Mot clef indiquant que cette propriété est connectée à un élément du Interface Builder • Contrôle • Objet graphique avec lequel un utilisateur peut interagir • bouton, slider, switch • Création d’un évènement de contrôle quand un utilisateur interagir avec un contrôle, faisant partie d’une de ces catégories: • Toucher et glisser • Edition • Changement de valeur Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 36 Architecture d’une Application
  • 37. Contrôleurs de Navigation • View Controller particulier, permettant de gérer les transitions entre les différentes Scenes de votre application • Va créer une pile (LIFO) des différents ViewControllers entre lesquels il navigue, appelée : Pile de Navigation • Le premier élément de la pile (scene qui a déclenché la navigation), s’appelle Root View Controller (il n’est jamais enlevé de la pile) • Les autres View Controllers peuvent être ajoutés ou supprimés de la pile, selon la navigation de l’utilisateur • Un contrôleur de Navigation présente également un contenu propre à lui, en particulier la Barre de Navigation • Vue en haut de la scene, fournissant le contexte de navigation • Montre l’emplacement de l’utilisateur dans la pile de navigation • Définit un bouton Back par défaut, permettant de revenir au dernier élément de la pile • Peut contenir d’autres boutons, à configurer à votre guise Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 37 Architecture d’une Application
  • 38. Segue • Un Segue (ou enchaînement) représente une transition entre deux ViewController: la source et la destination Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 38 Architecture d’une Application
  • 39. Segue • Plusieurs types de Segues: • Show • Fait appel à un nouveau contenu à empiler, au dessus du VC courant • Show Detail • Soit empile un nouveau contenu, soit remplace le VC courant dans la pile (selon le layout utilisé) • Present Modally • Appelle une vue fille, qui cache la vue courante, pour permettre à l’utilisateur de réaliser une action particulière • Popover Presentation • Appelle une vue ancrée à la vue courante, qui disparaît dès qu’on clique ailleurs • Unwind • Permet de naviguer vers une vue précédente dans la pile, pas nécessairement • Custom • Crée une transition personnalisée Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 39 Architecture d’une Application Voir Exemple: TODOList-ObjC -2
  • 40. Types de View Controllers • Content View Controller • Gestion du contenu • Créé en écrivant une sous-classe de UIViewController • Permet de : • Peupler la vue avec des données • Répondre aux évènements utilisateur Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 40 Architecture d’une Application
  • 41. Types de View Controllers • Container View Controller • Arrangent le contenu d’autres View Controllers, ses fils • Peut être un parent d’autres contrôleurs, et un fils d’un autre container • Création d’une hiérarchie • Un conteneur • Fournit sa propre API pour gérer ses fils • Décide si ses fils communiquent ou sont reliés, et quels types de relations ils ont • Peut gérer la hiérarchie des vues • Peut imposer des contraintes de conception spécifiques à ses fils • Plusieurs sous-types: • Navigation Controller • Tab Bar Controller • Split View Controller • Popover Controller • Page View Controller Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 41 Architecture d’une Application
  • 42. Types de View Controllers • Container View Controller • Navigation Controller Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 42 Architecture d’une Application
  • 43. Types de View Controllers • Container View Controller • Tab Bar Controller Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 43 Architecture d’une Application
  • 44. Types de View Controllers • Container View Controller • Split View Controller Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 44 Architecture d’une Application
  • 45. Types de View Controllers • Container View Controller • Popover Controller Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 45 Architecture d’une Application
  • 46. Types de View Controllers • Container View Controller • Page View Controller Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 46 Architecture d’une Application
  • 47. Modèle • Représente une structure de données et (optionnellement) une logique métier pour la consistance de ces données • Utilisation du Framework Foundation pour représenter les types manipulés par l’application • Deux catégories de types de données • Value Classes: types basiques (NSString, NSNumber, NSDate…) • Collection Classes: types composés (NSArray, NSSet et NSDictionary) Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 47 Architecture d’une Application Voir Exemple: TODOList-ObjC -3
  • 48. CYCLE DE VIE D’UNE APPLICATION Chp5 : Développement iOS Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 48 1. Environnement de Développement iOS 2. Architecture iOS 3. IHM Guidelines 4. Architecture d’une Application 5. Cycle de Vie d’une Application
  • 49. Point d’Entrée d’une Application • Comme toute application en C : la fonction main • Fonction prédéfinie, créée automatiquement par xCode, et à ne pas modifier • Permet de rendre le contrôle au framework UIKit grâce à la fonction UIApplicationMain, qui permet de : • Créer les objets principaux de l’application • Charger la UI de l’application à partir du storyboard • Appeler votre code pour une installation initiale • Lancer le cycle d’exécution de l’application Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 49 Cycle de Vie d’une Application
  • 50. Structure d’une Application Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 50 Cycle de Vie d’une Application
  • 51. Structure d’une Application Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 51 Cycle de Vie d’une Application UIApplication: • Faciliter l’interaction entre le système et les autres objetsde l’application • Gère les évènements • Transmet les transitions et évènements à l’Application Delegate
  • 52. Structure d’une Application Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 52 Cycle de Vie d’une Application Application Delegate : • Au cœurdevotrecode • Leseul objetgaranti dese trouverdans toutes les applications • Travaille avec UIApplication pourgérer: • L’initialisation de l’application • Les états transitions • Les évènements dehaut niveau
  • 53. Structure d’une Application Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 53 Cycle de Vie d’une Application Objets Data Model • Sauvegardent le contenude votre application (base de données + objets associés) Objet Document • Sous-classes de UIDocument • Permet de chargerles données, se trouvant dans plusieurs documents, in-memory, pourpermettre leur manipulation sans que l’application ne soit ANR
  • 54. Structure d’une Application Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 54 Cycle de Vie d’une Application Objets View Controller • Étend la classe UIViewController • Gestion de la présentation du contenude votreapplication à l’écran • Un VCgère une view et ses sous-vues • Utilisent le framework UIKit (entre autres) pourdéfinir des VCparticuliers (tabBar, image picker, navigation…)
  • 55. Structure d’une Application Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 55 Cycle de Vie d’une Application UIWIndow • Permet de coordonnerlaprésentation d’une ouplusieurs vues sur la page • Laplupart des applications ontun seul Window,présentant le contenudans l’écran principal, mais certaines en définissent un additionnel pourun affichage sur un écran externe • Pour passer d’une vueà une autre, un contrôleurest utilisé. Un windown’est jamais remplacé
  • 56. Structure d’une Application Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 56 Cycle de Vie d’une Application Vues et Contrôles • Représentation visuelle du contenu • UIKit fournit des vues standards pourreprésenter plusieurs types de contenus Layer Objects • Incorporentdescouches de CoreAnimation: infrastructure d’animation graphique
  • 57. États d’Exécution d’une Application Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 57 Cycle de Vie d’une Application
  • 58. États d’Exécution d’une Application Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 58 Cycle de Vie d’une Application L’application n’a pas été lancée ouétait en exécution et aété terminée par le système
  • 59. États d’Exécution d’une Application Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 59 Cycle de Vie d’une Application L’application est en exécution en avant-plan, mais ne reçoitpas d’évènements. Elle peut cependant être entrain d’exécuter un autre code En général, c’est un état transitoire
  • 60. États d’Exécution d’une Application Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 60 Cycle de Vie d’une Application L’application est en exécution en avant-plan, et reçoit des évènements. Mode normalpourles applications en avant-plan
  • 61. États d’Exécution d’une Application Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 61 Cycle de Vie d’une Application L’application est en arrière-plan, et exécute du code. En général, état transitoire avant la suspension Mais, certaines applications entrent directement dans cet état au lieu de inactive, si elles veulent exécuter du codeen arrière plan au démarrage
  • 62. États d’Exécution d’une Application Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 62 Cycle de Vie d’une Application L’application est en arrière-plan, mais n’ exécute pas decode. L’application reste en mémoire Lesystème fait passer les applications à cet état automatiquement, sans les notifier Si le système aproblème de mémoire,il peut purgerdes applications suspendues sans les notifier pourlaisser de l’espace aux application en premier plan
  • 63. États d’Exécution d’une Application Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 63 Cycle de Vie d’une Application didFinishLaunchingWithOptions applicationWillResignActive applicationDidBecomeActive applicationDidEnterBackgroundapplicationWillEnterForeground applicationWillTerminate Voir Exemple: AppLifeCycle
  • 64. Références • Tutorial Getting Started: https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiO S/index.html#//apple_ref/doc/uid/TP40011343-CH2-SW1 • IHM: https://developer.apple.com/library/ios/documentation/UserExperience/Conceptu al/MobileHIG/index.html#//apple_ref/doc/uid/TP40006556-CH66-SW1 • Cycle de vie de l’Applicationhttps://developer.apple.com/library/ios/documentation/iPhone/Conce ptual/iPhoneOSProgrammingGuide/TheAppLifeCycle/TheAppLifeCycle.html#//apple_r ef/doc/uid/TP40007072-CH2-SW1 • Architecture iOS https://developer.apple.com/library/ios/documentation/Miscellaneous/Conceptual/i PhoneOSTechOverview/Introduction/Introduction.html Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 64 Site du Développeur Apple: developer.apple.com