formation développement ios - tutoriel

48
Développement IOS Evan Peuvergne

Upload: hetic

Post on 18-May-2015

743 views

Category:

Education


1 download

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

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