SWIFT-02-swift 2.0 basics.pdf - Google Drive

2 downloads 202 Views 4MB Size Report
n Swi0 pour OSX et iOS. n Nécessite Xcode >= 6.xx.yy La documenta9on de base 1000 pages (iBooks). n Xcode 7.0.0 auto
+

Développement iOS Swi0 2.0 Basics U9lisa9on de Swi0 2.0 sans POO

+

2

Sommaire 1. 

Généralités

2. 

« PlayGround » et « Story Board »

3. 

Variables et constantes (Structures de stockage)

4. 

Opérateurs et support UNICODE (EMOJI)

5. 

Condi9ons, boucles (Structures de contrôle)

6. 

Tableaux, dic9onnaires

7. 

Fonc9ons

8. 

Balises

+

3

Histoire n 

WWDC 2014, 2 juin 2014

n 

Swi0 nouveau langage pour les Frameworks Cocoa et Cocoa Touch

n 

Swi0 pour OSX et iOS

n 

Nécessite Xcode >= 6.xx.yy La documenta9on de base 1000 pages (iBooks)

n 

Xcode 7.0.0 autorise l’installa9on d’une App sans le programme de développement standard.

n 

Ancienneté : 1 an et demi (très jeune)

n 

Peu de sources en français !

n 

Ce livre pour iOS 8 : hip://livre.fnac.com/a7793093/T-Sarlandie-Programma9on-mobile-IOS-8-avec-Swi0

n 

Nous sommes déjà à iOS 9 !

n 

Les ressources principalement en anglais ont le mérite d’être à jour !

+

4

Environnement n 

Swi0 se met en oeuvre : n  n 

Dans des projets : File -> new - > project Dans le terrain de jeux : File -> new -> Playground

n 

PlayGround permet de tester na9vement sans compila9on du code de manière plutôt visuelle (débutant)

n 

PlayGround semble ne pas être encore totalement stable, au fur et à mesure de l’allongement du code (même avec Xcode 7.0.0)

n 

PlayGround est un bundle, comme toutes les autres Apps.

+

5

PlayGround n 

Code and Play !

n 

PlayGround est un disposi9f rela9vement par9culier, avec une technologie spécifique.

n 

PlayGrounds enable the interac9ve experience of a script language.

n 

But you can see some trouble, with complex code.

n 

PlayGround interprète du code en temps réel à chaque modifica9on.

+

6

PlayGround n 

Un fichier playGround est en fait un bundle

n 

Le paquet con9ent les éléments suivants :

n 

On peut trouver un dossier Ressources et Documenta9on

+

7

PlayGround XML

n 

Prenons le cas du projet Balloon :

HTML

Swi+

+

8

PlayGround n 

Avec la configura9on du bundle, vous proposez des exemples de codes commentés :

n 

Avec du HTML, et donc des liens hypertextes, et des anima9ons, …

n 

Le projet Ballon réalisé par l’équipe Swi0 est intéressant à examiner.

+

9

PlayGround ipad

+

10

PlayGround iPad

+

11

PlayGround iPad

+

12

PlayGround iPad

+

13

PlayGround iPad

+

14

PlayGround iPad

+

15

+

16

PlayGroud iPad n 

One more thing …

+

17

Story Board n 

Le « Story Board » permet de concevoir l’interface d’une applica9on iOS.

n 

Pour les applica9ons « console » dans OSX, le « Story Board » n’est pas u9lisé.

n 

Les exemples proposés dans ce support ne permeient pas de meire en oeuvre le « Story board ».

+

18

Basics n 

Plus de points virgules (; semi colon) à la fin des instruc9ons

n 

Toujours des { (alt+5) et des } (alt+°) pour encadrer des blocs

n 

Swi0 gère l’inférence, c’est à dire qu’il n’est pas nécessaire de meire un type pour déclarer une variable

n 

« PlayGround » permet de s’ini9er simplement aux Basics

n 

Les exemples qui suivent sont basés sur Swi0 2.0 (il peut rester quelques instruc9ons en Swi0 1.2)

n 

Println est remplacé par print en Swi0 2.0

+

19

Variables et constantes n 

Var = variables pour tous les types (mutable)

n 

Let = constante pour tous les types (not mutable)

n 

Print() permet d’afficher des messages dans la console !

+

20

Variables et constantes n 

Pensez aux constructeurs :

n 

Aien9on les « Character » prennent des ‘’ ‘’



+

21

Variables et constantes n 

Conversions de types entre Int et String :

n 

String to Int (cast) :

n 

Int to String (cast) :

+

22

Les t-uples n 

Un t-uple est une variable qui peut contenir plusieurs valeurs.

n 

Chaque valeur peut être reliée à une é9queie, comme dans un tableau associa9f :

+

23

Les opérateurs n 

+, - , *, /, %

n 

Modulo : %

+

24

Support UNICODE n 

Strings in Swi0 are fully Unicode compliant, so you can use EMOJI characters inside string.

n 

Les noms de variables peuvent comporter des caractères UNICODE :

n 

Vous pouvez meire des EMOJI dans vos chaînes :

+

25

Support UNICODE n 

Comment avoir accès aux caractères EMOJI dans OSX ?

n 

Ctrl + Cmd + espace : permet d’avoir accès aux EMOJI

n 

Les EMOJI ne sont supportés que dans les applica9ons na9ves OSX et iOS.

+

26

Condi9ons n 

La structure alterna9ve If :

+

27

Condi9ons n 

Opérateurs booléens à u9liser dans les condi9ons :

+

28

Condi9ons n 

Opérateurs à u9liser dans les condi9ons :

+

29

Condi9ons n 

La structure Switch :

+

30

Condi9ons n 

Dans le cas de condi9ons spéciales avec Switch :

+

31

Ternaires n 

Les condi9ons ternaires sont u9lisables à la place de If :

+

32

Boucles n 

While :

n 

Repeat … While

n 

For, in

+

33

Boucles n 

For avec pas de deux :

+

34

Tableaux (Arrays) n 

PlayGround autorise la TimeLine afin d’avoir une vue console

n 

Un exemple simple :

+

35

Tableaux (Arrays) n 

Il est possible d’ini9aliser un tableau en prévision des futures valeurs prises :

n 

Les tableaux sont toujours « mutables »



+

36

Tableaux (Arrays) n 

Une autre méthode pour déclarer un tableau vide :

n 

Modifier des valeurs :

n 

Supprimer des éléments :



+

37

Tableaux (Arrays) n 

Ajouter des éléments :

n 

La fonc9on « reverse » permet d’inverser un tableau

n 

Tableau d’en9ers ini9alisé avec un constructeur :

+

38

Dic9onaries n 

Quelques instruc9ons de base :

n 

Lien avec NSDic9onary :

+

39

Dic9onaries n 

Empty, inferred, explicit, …, déclara9ons :

n 

Dic9onaries are mutable by default

+

40

Parcours de tableaux ou dic9onnaires n 

For :

n 

For in :

+

41

Parcours de tableaux ou dic9onnaires n 

For in avec une clé :

+

42

Fonc9ons n 

Possibilité de retourner plusieurs valeurs :

+

43

Fonc9ons n 

Une fonc9on comme paramètre :

+

44

Fonc9ons n 

Une fonc9on comme type de retour :

+

45

Fonc9ons n 

Les « closures » sont des fonc9ons sans nom :

n 

Cela permet de simplifier le code, mais la compréhension est moins évidente !

+

46

Organize your code n 

What kind of developer are you ?

n 

Organize your Swi0 code with the newest addi9ons, MARK, TODO & FIXME.

n 

MARK : //# MARK: - Text Methods

n 

TODO : //# TODO: - Add social features

n 

FIXME : // FIXME: - Bug in 2.0

+

47

Organize your code n 

Example :

n 

Where find organized code :