Développement IOS
Evan Peuvergne
Présentation
• Evan Peuvergne
• Etudiant en H1 à @hetic
• Récent débutant en développement IOS
• Twitter : @vavouweb
Sommaire
1. Présentation du développement IOS
2. Storyboards et sègues
3. Gestion du positionnement
4. Initiation à l’obje...
Dev IOS, késaco ? Devices | Outils | Languages | Tests
Devices
De multiples combinaisons possibles
iPhone iPod Touch iPad
iPhone 3G iPhone 4 iPhone 5
2ème
génération
4ème génération
1ère
génération
4ème
génération
OS (le ...
Répartition des OS parmi les devices Apple
7.X
6.X
5.X
4.X
XCODE
L’IDE d’Apple
Objective-C
Cocoa Touch
Le simulateur
Test d’application rapide
Storyboards et sègues Construire l’interface de son application
Xcode
Découverte de l’interface
Les storyboards
• Permet d’établir facilement le cheminement
de l’utilisateur au travers de l’application

• Edition WYSIW...
« A UIStoryboardSegue object is responsible for performing
the visual transition between two view controllers. »
« Un obje...
Les contrôles
De la fenêtre au bouton
UIViewController
• Elément permettant la gestion d’une fenêtre
de l’application

• Peut gérer plusieurs « vues »

• Une se...
UIView
• Objet correspondant à une « vue ».

• Elles peuvent remplir la fenêtre entière ou
pas.
Autres contrôles
UILabel UIButton UINavigationBar
Les Sègues
Gestion de la navigation entre les fenêtres
Qu’est-ce qu’une sègue ?
• Push : superposition de 2 fenêtres
• Modal : sortir du cheminement de base
• Custom : comme son...
Creer une sègue
Exercice 1
« Création d’une première application à l’aide des
storyboards »
Autolayout Comment positionner les éléments dans une application IOS
Positionner sur IOS
Layouts or not layouts ?
Sans aucun calcul de position
Autoresizing masks
Calcul de positions absolues
Positionnement avec Autoresizing Masks
AutoLayout
Amélioration du principe
Positionnement avec Autolayout
Exercice 2
« Positionnement adaptable avec l’autolayout »
Initiation à l’objective-c Coder avec Xcode
Présentation de l’objective-c
Language orienté objet hérité du C
Variables
int nombre = 1;
NSString *chaine = @"hello world";
Types hérités du C
• int (nombres entiers)
• float ou double (...
Structures conditionnelles
Condition
if(nombre == 1){
//actions à réaliser
}
!
switch (nombre) {
case 1:
//actions
break;
...
Les fonctions
Déclaration
- (void) concat:(NSString*)chaine1 with:(NSString*) chaine2{
//actions
}
!
!
!
Appel
[self conca...
Principe d’encapsulation
–commentcamarche.net
« L'encapsulation est un mécanisme consistant à rassembler
les données et le...
Interface
#import <Foundation/Foundation.h>
!
@interface ClassPerso : NSObject
!
@property float nombre;
@property NSStrin...
Implémentation
#import "ClassPerso.h"
!
@implementation ClassPerso
!
- (void) methode:(NSString *)argument{
self.chaine = ...
Gestion des contrôles
Associer un contrôle à une classe avec Xcode
UIViewController
• Associer un ViewController à une classe
personnalisée (héritant de UIViewController)

• Permet de perso...
Outlets
Permettent d’accéder à des contrôles depuis
une classe personnalisée

!
!
!
!
@property (weak, nonatomic)
IBOutlet...
Actions
• Une action correspond à un évènement

• On crée une action par clic droit tiré vers le
fichier de l’interface (.h...
Exercice 3
« Réalisation de votre première application : un lecteur de flux
RSS (très) simplifié »
Ressources Progresser | Réutiliser
Continuer de progresser
• raywenderlich.com/
• mobile.tutsplus.com/
• forum.cocoacafe.fr/
• stackoverflow.com/
Ne pas réinventer la roue
• www.cocoacontrols.com
• github.com
Formation développement iOS - Tutoriel
Formation développement iOS - Tutoriel
Prochain SlideShare
Chargement dans…5
×

Formation développement iOS - Tutoriel

1 511 vues

Publié le

Keynote d'accompagnement de la formation au développement mobile iOS.
L'école web HETIC vous offre une formation d'initiation au développement d'application iPhone. Evan Peuvergne, étudiant en 1e année à HETIC, vous explique en plus d'une heure les bases du développement iOS et vous réaliserez votre première application de lecture de flux RSS.

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 511
Sur SlideShare
0
Issues des intégrations
0
Intégrations
5
Actions
Partages
0
Téléchargements
46
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Formation développement iOS - Tutoriel

  1. 1. Développement IOS Evan Peuvergne
  2. 2. Présentation • Evan Peuvergne • Etudiant en H1 à @hetic • Récent débutant en développement IOS • Twitter : @vavouweb
  3. 3. Sommaire 1. Présentation du développement IOS 2. Storyboards et sègues 3. Gestion du positionnement 4. Initiation à l’objective-c avec xcode
  4. 4. Dev IOS, késaco ? Devices | Outils | Languages | Tests
  5. 5. Devices De multiples combinaisons possibles
  6. 6. iPhone iPod Touch iPad iPhone 3G iPhone 4 iPhone 5 2ème génération 4ème génération 1ère génération 4ème génération OS (le plus élevé) IOS 4.2.1 IOS 7.0.4 IOS 7.0.4 IOS 4.2.1 IOS 6.1.5 IOS 5.1.1 IOS 7.0.4 Résolution écran 480 × 320 960 x 640 1136 x 640 480 x 320 960 x 640 1024 x 768 2048 x 1536 Rétina NON NON OUI NON OUI NON OUI RAM 128 MB 512 MB 1 GB 128 MB 256 MB 256 MB 1 GB
  7. 7. Répartition des OS parmi les devices Apple 7.X 6.X 5.X 4.X
  8. 8. XCODE L’IDE d’Apple
  9. 9. Objective-C Cocoa Touch
  10. 10. Le simulateur Test d’application rapide
  11. 11. Storyboards et sègues Construire l’interface de son application
  12. 12. Xcode Découverte de l’interface
  13. 13. Les storyboards • Permet d’établir facilement le cheminement de l’utilisateur au travers de l’application • Edition WYSIWYG pour l’interface • Création facile de sègues entre les fenêtres de l’interface
  14. 14. « A UIStoryboardSegue object is responsible for performing the visual transition between two view controllers. » « Un objet UIStoryboardSegue est responsable de la performance des transitions visuelles entre 2 controleurs de vue. » Documentation Xcode
  15. 15. Les contrôles De la fenêtre au bouton
  16. 16. UIViewController • Elément permettant la gestion d’une fenêtre de l’application • Peut gérer plusieurs « vues » • Une segue est une transition permettant l’affichage d’un contrôleur de vue à la place d’un précédent
  17. 17. UIView • Objet correspondant à une « vue ». • Elles peuvent remplir la fenêtre entière ou pas.
  18. 18. Autres contrôles UILabel UIButton UINavigationBar
  19. 19. Les Sègues Gestion de la navigation entre les fenêtres
  20. 20. Qu’est-ce qu’une sègue ? • Push : superposition de 2 fenêtres • Modal : sortir du cheminement de base • Custom : comme son nom l’indique …
  21. 21. Creer une sègue
  22. 22. Exercice 1 « Création d’une première application à l’aide des storyboards »
  23. 23. Autolayout Comment positionner les éléments dans une application IOS
  24. 24. Positionner sur IOS Layouts or not layouts ?
  25. 25. Sans aucun calcul de position
  26. 26. Autoresizing masks Calcul de positions absolues
  27. 27. Positionnement avec Autoresizing Masks
  28. 28. AutoLayout Amélioration du principe
  29. 29. Positionnement avec Autolayout
  30. 30. Exercice 2 « Positionnement adaptable avec l’autolayout »
  31. 31. Initiation à l’objective-c Coder avec Xcode
  32. 32. Présentation de l’objective-c Language orienté objet hérité du C
  33. 33. Variables int nombre = 1; NSString *chaine = @"hello world"; Types hérités du C • int (nombres entiers) • float ou double (nombres à virgule) • char Types Cocoa • NSString (chaîne de caractères) • NSArray (tableau) • NSDictionnary
  34. 34. Structures conditionnelles Condition if(nombre == 1){ //actions à réaliser } ! switch (nombre) { case 1: //actions break; default: //actions break; } Boucles while (nombre < 10) { //actions } ! for (int i=0; i<10; i++) { //actions }
  35. 35. Les fonctions Déclaration - (void) concat:(NSString*)chaine1 with:(NSString*) chaine2{ //actions } ! ! ! Appel [self concat:@"chaine 1" with:@"chaine2"];
  36. 36. Principe d’encapsulation –commentcamarche.net « L'encapsulation est un mécanisme consistant à rassembler les données et les méthodes au sein d'une structure en cachant l'implémentation de l'objet, c'est-à-dire en empêchant l'accès aux données par un autre moyen que les services proposés. L'encapsulation permet donc de garantir l'intégrité des données contenues dans l'objet »
  37. 37. Interface #import <Foundation/Foundation.h> ! @interface ClassPerso : NSObject ! @property float nombre; @property NSString* chaine; ! - (void) methode:(NSString*)argument; ! @end
  38. 38. Implémentation #import "ClassPerso.h" ! @implementation ClassPerso ! - (void) methode:(NSString *)argument{ self.chaine = @"hello world"; self.nombre = 5.3; } ! @end
  39. 39. Gestion des contrôles Associer un contrôle à une classe avec Xcode
  40. 40. UIViewController • Associer un ViewController à une classe personnalisée (héritant de UIViewController) • Permet de personnaliser le comportement de la fenêtre ! ! - (void)viewDidLoad{ [super viewDidLoad]; // Actions ! }
  41. 41. Outlets Permettent d’accéder à des contrôles depuis une classe personnalisée ! ! ! ! @property (weak, nonatomic) IBOutlet UIView *vue1; !
  42. 42. Actions • Une action correspond à un évènement • On crée une action par clic droit tiré vers le fichier de l’interface (.h) ! ! ! ! ! - (IBAction)submit:(id)sender;
  43. 43. Exercice 3 « Réalisation de votre première application : un lecteur de flux RSS (très) simplifié »
  44. 44. Ressources Progresser | Réutiliser
  45. 45. Continuer de progresser • raywenderlich.com/ • mobile.tutsplus.com/ • forum.cocoacafe.fr/ • stackoverflow.com/
  46. 46. Ne pas réinventer la roue • www.cocoacontrols.com • github.com

×