FORMAZIONE
Corso iOS in Swift (Avanzato/Base)
Introduzione:
Il sistema operativo iOS, per iPhone, iPad e iPod Touch, è il risultato dei decenni di esperienza della Apple nel campo della usabilità, delle interfacce utente e del design, è stato sviluppato e mantenuto fin dal 2007 ed è caratterizzato anche dalla stabilità e potenza del sistema operativo Unix, su cui esso si basa.Il corso fornisce ai partecipanti tutti gli elementi necessari allo sviluppo di app per iOS. Si partirà dal linguaggio di programmazione ricordando le principali caratteristiche dell' Objective-C ma l'obiettivo è apprendere ed iniziare a lavorare sul nuovo linguaggio di programmazione annunciato alla WWDC 2014, Swift. Il corso tratterà poi il principale strumento di sviluppo XCode fino ad approfondire le funzionalità della libreria principale Cocoa e dei singoli Framework che permettono di sfruttare le potenti funzionalità delle device Apple.
Scopo corso:Alla fine del corso ogni partecipante avrà ricevuto gli elementi necessari per realizzare una app e distribuirla sull'AppStore di Apple. Il corso insegnerà anche dei modelli di programmazione che vanno oltre iOS e i design patterns, utilizzabili anche in altri contesti, migliorando in generale la qualità del codice prodotto. Destinatari:Per una completa comprensione del corso sono richieste le conoscenze base di Swift e le fondamenta della programmazione iOS. Cosa portare:È necessario portare un computer portatile Mac. Per facilitare l'esecuzione dei laboratori in linguaggio SWIFT si consiglia di installare un sistema operativo aggiornato (Xcode 6.0 richiede almeno OSX >= 10.9.3 "Mavericks"). | Materiale fornito:Alla fine del corso verrà fornita la stampa delle slide accompagnatorie di tutte le lezioni, incluse le referenze bibliografiche fornite durante il corso. Durata e diploma:Tre giornate di lezione (per giornata si intendono 6h di lezione). Alla fine verrà rilasciato un documento che attesta la frequentazione del corso e, previo consenso, il CV del partecipante verrà inserito nel Db JDK per eventuali opportunità di collaborazione professionale. Docente:Docente e sviluppatore esperto. Metodo/luogo:In aula, Roma presso i nostri locali o presso la sede del Cliente. |
Programma:
GIORNO 1 "VIEWS AVANZATE"
CALayer e relazione con la view, gerarchia e proprietà, contenuto e disegno, trasformazioni, ombre, bordi e maschere, efficienza e KVC.
Dinamica delle animazioni e presentation layer, animazioni con UIImage e UIImageView, animazioni in una UIView, animazioni spring, animazioni con keyframes, transizioni di vista, UIKit Dynamics, Motion Effects, considerazioni su animazioni con autolayout. |
UITouch, UIEvent, Gesture recognizers, varie tipologie di gestures, gestione delle combinazioni e delle priorità.
Definizione, struttura, elemento di navigazione e di dettaglio, delegate (UISplitViewControllerDelegate), storyboard, comunicazione master-detail, altre configurazioni possibili.
Struttura e UIPopoverController, configurazione e dimensioni, popover Segue, preparazione, aspetto e dimensioni, presentazione, dismiss, delegate (UIPopoverControllerDelegate). | |
LAB: App Photos - RandomFly |
GIORNO 2 "FRAMEWORKS"
Proprietà di MKMapView, coordinate, carta di Mercatore, zoom e panning, delegate, user location, annotations, overlays, comunicare con la app "Maps", geocoding (forward e reverse), searching, directions.
UIImagePickerController, configurazione e presentazione, controlli, media types, capture dalla fotocamera, delegate (UIImagePickerControllerDelegate), gestione dell'output. |
Metodi di localizzazione, CLLocation e CLLocationManager, configurazioni e accuratezza, delegate (CLLocationManagerDelegate), heading, task in background, debugging e simulatore.
UIDevice, shake UIEvent, accelerometro, magnetometro, giroscopio, CMDeviceMotion, tecnica push e pull. | |
LAB: App Photos - App Modulo - Prove di CoreMotion |
GIORNO 3 "DEPLOY"
Threads, main thread, complessità della programmazione multithread, locking con NSLock, NSOperation, Grand Central Dispatch, completare un task in background.
NSURLSession e i tre tipi di task, NSURLSessionConfiguration, delegate (NSURLSessionDelegate), NSURLRequest, NSURLSession in background, Background Fetch, tecniche di debugging per le attività in background.
Sandbox e directory speciali, file manager, NSUserDefaults, file sharing, Document Types, Altri framework di salvataggio dati. |
Traduzione, base localization, NSLocalizedString, traduzione dello storyboard, formati regionali (date, numeri, moneta), NSLocale, considerazioni sul layout, debug, problematiche relative ad operazioni sulle stringhe.
Architetture e device, preparazioni finali della app, identity e provisioning profile, oltre il simulatore, distribuzione ad hoc, invio all'App Store.
Stati della app, transizioni active/foreground/background/suspended/quit, UIApplicationDelegate, Notifiche, esempi. | |
LAB: App Photos - App MyAAPL |
NB: il programma riportato è indicativo, ci sarà la possibilità per prenotazioni di gruppo o per le modalità di corsi "a tu per tu" e per le aziende, di personalizzarlo e customizzarlo secondo le proprie esigenze.