30
Introduzione a WatchKit Federico Crisafulli Lead iOS Developer @ [email protected] Alive Devs Society - iOS Milano // 5 Febbraio 2015

Introduzione a WatchKit

Embed Size (px)

Citation preview

Page 1: Introduzione a WatchKit

Introduzione a WatchKit

Federico Crisafulli Lead iOS Developer @ [email protected]

Alive Devs Society - iOS Milano // 5 Febbraio 2015

Page 2: Introduzione a WatchKit

Panoramica

Page 3: Introduzione a WatchKit

WatchKit App

Un’applicazione WatchKit contiene un'interfaccia utente “completa”.

Gli utenti possono avviare, controllare, e interagire con questo tipo di applicazione in modi unici.

Glances

Con le Glances è possibile fornire agli utenti informazioni informazioni

rapide e puntuali visibili con una sola occhiata.

Actionable Notifications

Le actionable notifications come le nuove notifiche interattive introdotte con iOS 8 permettono all’utente di

compiere piccole azioni direttamente dallo smartwatch

Page 4: Introduzione a WatchKit
Page 5: Introduzione a WatchKit
Page 6: Introduzione a WatchKit
Page 7: Introduzione a WatchKit
Page 8: Introduzione a WatchKit

Architettura

Page 9: Introduzione a WatchKit
Page 10: Introduzione a WatchKit

iPhone Apple Watch

WatchKitWatchKit

Watch AppWatchKit Extension

Page 11: Introduzione a WatchKit

Architettura

UI e assets memorizzati in Apple Watch Pianificare UI Il codice che aggiorna la UI è eseguito da iPhone

Page 12: Introduzione a WatchKit

WatchKit Framework

Page 13: Introduzione a WatchKit

WatchKit Framework WKInterfaceController

Un controller per ogni schermata Si occupa di gestire gli elementi della UI Usa il design target-action

Page 14: Introduzione a WatchKit

WatchKit Framework Elementi UI

Page 15: Introduzione a WatchKit

WatchKit Framework WKInterfaceGroup

Utilizzato per gestire e implementare i layout: • Orizzontale • Verticale

Margini e spazi Colore o immagine di background Gruppi annidati

Page 16: Introduzione a WatchKit

WatchKit Framework WKInterfaceTable

Contenuto dinamico Supporta tipologie di righe differenti Differente rispetto a UITableViewController di iOS Le righe sono fornita da un controller Il controller gestisce la selezione

Page 17: Introduzione a WatchKit

WatchKit Framework WKInterfaceMap

Contenuto non interattivo Può essere configurato dinamicamente Fino a 5 annotations: • Pins • Immagini

Un tap su questo oggetto apre l’app Mappe

Page 18: Introduzione a WatchKit

WatchKit Framework Elementi UI

Aspetti configurabili della UI: • Altezza • Larghezza • Alpha • Visibilità

Supporto a funzioni di accessibilità e localizzazione

Page 19: Introduzione a WatchKit

WatchKit Framework WKInterfaceDevice

Fornisce informazioni sul dispositivo: • Dimensioni del display

[[WKInterfaceDevice curretDevice] screenBounds] • Informazioni di localizzazione (Lingua, moneta, ecc…) • Dimensioni del testo

preferredContentSizeCategory

Page 20: Introduzione a WatchKit

WatchApp

Page 21: Introduzione a WatchKit

WKInterfaceController

WatchKit Extension

InitWithContext:

willActivate

(various action methods)

Create Interface Controller Launch Watch App

Apple Watch

Load UI

Initialize UI

Display UI

Wearer interacts with UI

Wearer stops interactingdidDeactivate

Suspend WatchKit Extension

Page 22: Introduzione a WatchKit
Page 23: Introduzione a WatchKit

Realizzare WatchApp Navigazione

Page 24: Introduzione a WatchKit

Realizzare WatchApp Navigazione

Page 25: Introduzione a WatchKit

[Live code]

Realizzare WatchApp

Page 26: Introduzione a WatchKit

Tips

Page 27: Introduzione a WatchKit

Tips

Utilizzare le Api Handoff Implementare le animazioni come sequenza di immagini Inserire le immagini in cache Utilizzare i settings bundle Utilizzare share data: • AppGroups e NSUserDefault • Container condivisi Utilizzare i Framework (da iOS 8 in poi)

Page 28: Introduzione a WatchKit

Documentazione

WatchKit Programming Guida WatchKit Framework Reference

https://developer.apple.com/watchkit/

Page 29: Introduzione a WatchKit

Thank you!

Page 30: Introduzione a WatchKit

Introduzione a WatchKit

Federico Crisafulli Lead iOS Developer @ [email protected]

Alive Devs Society - iOS Milano // 5 Febbraio 2015