Formation développement iOS - Tutoriel

Preview:

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.

Citation preview

Développement IOSEvan 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’objective-c avec xcode

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é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

Répartition des OS parmi les devices Apple

7.X6.X5.X4.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 WYSIWYG pour l’interface

• Création facile de sègues entre les fenêtres de l’interface

« 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

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 segue est une transition permettant l’affichage d’un contrôleur de vue à la place d’un précédent

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 nom l’indique …

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 (nombres à virgule)

• char

Types Cocoa

• NSString (chaîne de caractères)

• NSArray (tableau)

• NSDictionnary

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 }

Les fonctions

Déclaration

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

!

Appel

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

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 »

Interface

#import <Foundation/Foundation.h> !

@interface ClassPerso : NSObject !

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

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

@end

Implémentation

#import "ClassPerso.h" !

@implementation ClassPerso !

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

@end

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 personnaliser le comportement de la fenêtre

!

!

- (void)viewDidLoad{ [super viewDidLoad]; // Actions !

}

Outlets

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

!!

!

!

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

!

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;

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

Recommended