formation développement ios - tutoriel

Post on 18-May-2015

743 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

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

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

top related