Formation développement iOS - Tutoriel

48
Développement IOS Evan Peuvergne

description

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.

Transcript of Formation développement iOS - Tutoriel

Page 1: Formation développement iOS - Tutoriel

Développement IOSEvan Peuvergne

Page 2: Formation développement iOS - Tutoriel

Présentation

• Evan Peuvergne

• Etudiant en H1 à @hetic

• Récent débutant en développement IOS

• Twitter : @vavouweb

Page 3: Formation développement iOS - Tutoriel

Sommaire

1. Présentation du développement IOS

2. Storyboards et sègues

3. Gestion du positionnement

4. Initiation à l’objective-c avec xcode

Page 4: Formation développement iOS - Tutoriel

Dev IOS, késaco ? Devices | Outils | Languages | Tests

Page 5: Formation développement iOS - Tutoriel

Devices

De multiples combinaisons possibles

Page 6: Formation développement iOS - Tutoriel

iPhone iPod Touch iPad

iPhone 3G iPhone 4 iPhone 5 2ème génération 4ème génération 1ère

génération4è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

Page 7: Formation développement iOS - Tutoriel

Répartition des OS parmi les devices Apple

7.X6.X5.X4.X

Page 8: Formation développement iOS - Tutoriel

XCODE

L’IDE d’Apple

Page 9: Formation développement iOS - Tutoriel

Objective-C

Cocoa Touch

Page 10: Formation développement iOS - Tutoriel

Le simulateur

Test d’application rapide

Page 11: Formation développement iOS - Tutoriel

Storyboards et sègues Construire l’interface de son application

Page 12: Formation développement iOS - Tutoriel

Xcode

Découverte de l’interface

Page 13: Formation développement iOS - Tutoriel
Page 14: Formation développement iOS - Tutoriel

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

Page 15: Formation développement iOS - Tutoriel

« 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

Page 16: Formation développement iOS - Tutoriel

Les contrôles

De la fenêtre au bouton

Page 17: Formation développement iOS - Tutoriel

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

Page 18: Formation développement iOS - Tutoriel

UIView

• Objet correspondant à une « vue ».

• Elles peuvent remplir la fenêtre entière ou pas.

Page 19: Formation développement iOS - Tutoriel

Autres contrôles

UILabel UIButton UINavigationBar

Page 20: Formation développement iOS - Tutoriel

Les Sègues

Gestion de la navigation entre les fenêtres

Page 21: Formation développement iOS - Tutoriel

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 …

Page 22: Formation développement iOS - Tutoriel

Creer une sègue

Page 23: Formation développement iOS - Tutoriel

Exercice 1

« Création d’une première application à l’aide des storyboards »

Page 24: Formation développement iOS - Tutoriel

Autolayout Comment positionner les éléments dans une application IOS

Page 25: Formation développement iOS - Tutoriel

Positionner sur IOS

Layouts or not layouts ?

Page 26: Formation développement iOS - Tutoriel

Sans aucun calcul de position

Page 27: Formation développement iOS - Tutoriel

Autoresizing masks

Calcul de positions absolues

Page 28: Formation développement iOS - Tutoriel

Positionnement avec Autoresizing Masks

Page 29: Formation développement iOS - Tutoriel

AutoLayout

Amélioration du principe

Page 30: Formation développement iOS - Tutoriel

Positionnement avec Autolayout

Page 31: Formation développement iOS - Tutoriel

Exercice 2

« Positionnement adaptable avec l’autolayout »

Page 32: Formation développement iOS - Tutoriel

Initiation à l’objective-c Coder avec Xcode

Page 33: Formation développement iOS - Tutoriel

Présentation de l’objective-c

Language orienté objet hérité du C

Page 34: Formation développement iOS - Tutoriel

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

Page 35: Formation développement iOS - Tutoriel

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 }

Page 36: Formation développement iOS - Tutoriel

Les fonctions

Déclaration

- (void) concat:(NSString*)chaine1 with:(NSString*) chaine2{ //actions } !!

!

Appel

[self concat:@"chaine 1" with:@"chaine2"];

Page 37: Formation développement iOS - Tutoriel

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 »

Page 38: Formation développement iOS - Tutoriel

Interface

#import <Foundation/Foundation.h> !

@interface ClassPerso : NSObject !

@property float nombre; @property NSString* chaine; !

- (void) methode:(NSString*)argument; !

@end

Page 39: Formation développement iOS - Tutoriel

Implémentation

#import "ClassPerso.h" !

@implementation ClassPerso !

- (void) methode:(NSString *)argument{ self.chaine = @"hello world"; self.nombre = 5.3; } !

@end

Page 40: Formation développement iOS - Tutoriel

Gestion des contrôles

Associer un contrôle à une classe avec Xcode

Page 41: Formation développement iOS - Tutoriel

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 !

}

Page 42: Formation développement iOS - Tutoriel

Outlets

Permettent d’accéder à des contrôles depuis une classe personnalisée

!!

!

!

@property (weak, nonatomic) IBOutlet UIView *vue1;

!

Page 43: Formation développement iOS - Tutoriel

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;

Page 44: Formation développement iOS - Tutoriel

Exercice 3

« Réalisation de votre première application : un lecteur de flux RSS (très) simplifié »

Page 45: Formation développement iOS - Tutoriel

Ressources Progresser | Réutiliser

Page 46: Formation développement iOS - Tutoriel

Continuer de progresser

• raywenderlich.com/

• mobile.tutsplus.com/

• forum.cocoacafe.fr/

• stackoverflow.com/

Page 47: Formation développement iOS - Tutoriel

Ne pas réinventer la roue

• www.cocoacontrols.com

• github.com

Page 48: Formation développement iOS - Tutoriel