Batterie
—~1 jour environ
—rechargement avec connecteur
magnétique
Slide 21
Slide 21 text
Date de sortie
—Printemps 2015
—(St Valentin ?)
Slide 22
Slide 22 text
No content
Slide 23
Slide 23 text
Le SDK
—Première release le 18 nov. 2014
—Deuxième version en mi-2015
(WWDC ?)
Slide 24
Slide 24 text
Les fonctionnalités
—Gérer notifications
—Écrans glances
—Applications non natives1
1 La logique est exécutée sur l'iPhone
Slide 25
Slide 25 text
Les fonctionnalités / 2
—Applications natives en V2
Slide 26
Slide 26 text
WatchKit en détail
Slide 27
Slide 27 text
Aujourd'hui...
Une application WatchKit est :
—une extension d'une application iPhone
—un écran secondaire
Slide 28
Slide 28 text
Pour commencer : glossaire
—Watch App : executé sur la montre
—Extension : executé sur iPhone
Slide 29
Slide 29 text
Extensions iOS
Slide 30
Slide 30 text
Extension iOS / 1
Slide 31
Slide 31 text
Extension iOS / 2
—L'extension est un applicatif
indépendant contenu dans le bundle
d'un .app iOS
Slide 32
Slide 32 text
Architecture
Slide 33
Slide 33 text
Architecture / 1
—La Watch App est lancée depuis un
bundle contenant storyboard et
ressources statiques
Slide 34
Slide 34 text
Architecture / 2
—L'interaction de l'utilisateur déclenche
l'exécution de code dans l'extension
Slide 35
Slide 35 text
No content
Slide 36
Slide 36 text
Interface utilisateur
Slide 37
Slide 37 text
Interface utilisateur / 1
—L'interface est réalisable seulement via
Storyboard
—L'IHM est installée dans la Watch App
Slide 38
Slide 38 text
Interface utilisateur / 2
—Les Scenes du Storyboard ne peuvent
pas être modifiées par l'extension
iPhone à runtime
—L'extension peut afficher/cacher des
éléments à l'intérieur de la Watch App
Slide 39
Slide 39 text
Les composants
Slide 40
Slide 40 text
Les composants / 1
—Les composants WatchKit (buttons,
labels, etc) sont proxifiés
—L'extension manipule un objet proxy
(WKInterface*)
—Il n'est pas possible de créer
programmatiquement des éléments
visuels
Slide 41
Slide 41 text
Les composants / 2
—Une extension peut contrôler :
—Taille (Height/Width)
—Alpha
—Visibilité (propriété hidden)
—Hidden = Gone
Cycle de vie
—WA : Create Storyboard
—E : initWithContext:
—E : willActivate
—E : action methods
—E : didDeactivate
Slide 47
Slide 47 text
No content
Slide 48
Slide 48 text
WKInterfaceGroup
—cf. Layout sur Android
—Horizontaux/Verticaux
—Taille paramétrable, qui peut dépendre
du contenu/conteneur
—Fit content
—Relative to container
Slide 49
Slide 49 text
WKInterfaceTable
—Similaires aux tableaux de iOS
—Pas de sections / footers / headers
Slide 50
Slide 50 text
WKInterfaceTable
—Chaque row est associée à un type de
row (rowType)
—Chaque rowType est associé à un
controller
—setNumberOfRows(_:withRowType:)
—setRowTypes(_ rowTypes:
[AnyObject]!)
—table(_ table:
WKInterfaceTable!,
didSelectRowAtIndex rowIndex:
Slide 51
Slide 51 text
WKInterfaceTable
Toutes les méthodes
de délégation de la
Table sont déclarées
dans le Controller
Slide 52
Slide 52 text
No content
Slide 53
Slide 53 text
WKInterfaceMap
—Plan statique qui peut contenir max 5.
annotations
—Dessiné par l'extension et envoyé
ensuite à la Watch App
Slide 54
Slide 54 text
WKInterfaceDate
—Libellé de date avec format
paramétrable
—La valeur est calculée directement par
la Watch App
Glances
—Un écran Glance est une micro-
application mono-page
—Il est le launcher d'une application
Watch App
Slide 60
Slide 60 text
Storyboard
—Le storyboard est l'outil de définition
de l'interface utilisateur d'une Watch
App
Slide 61
Slide 61 text
Tips 'n Tricks
—Utilisez les frameworks dynamiques
—Modifiez les propriétés des Schemes
—Activez le mode "External display ->
Apple Watch" dans le menu du
simulateur