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 :