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"

  • Layers

CALayer e relazione con la view, gerarchia e proprietà, contenuto e disegno, trasformazioni, ombre, bordi e maschere, efficienza e KVC.

  • Animations

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.

 
  • Gestures

UITouch, UIEvent, Gesture recognizers, varie tipologie di gestures, gestione delle combinazioni e delle priorità.

  • Split Views

Definizione, struttura, elemento di navigazione e di dettaglio, delegate (UISplitViewControllerDelegate), storyboard, comunicazione master-detail, altre configurazioni possibili.

  • Popovers

Struttura e UIPopoverController, configurazione e dimensioni, popover Segue, preparazione, aspetto e dimensioni, presentazione, dismiss, delegate (UIPopoverControllerDelegate).

LAB: App Photos - RandomFly

GIORNO 2 "FRAMEWORKS"

  • Testo
NSString e NSAttributedString, UIFont, dynamic font, UILabel, UITextField, gestione della tastiera, UITextView.
  • Mappe

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.

  • Camera

UIImagePickerController, configurazione e presentazione, controlli, media types, capture dalla fotocamera, delegate (UIImagePickerControllerDelegate), gestione dell'output.

 
  • Core location

Metodi di localizzazione, CLLocation e CLLocationManager, configurazioni e accuratezza, delegate (CLLocationManagerDelegate), heading, task in background, debugging e simulatore.

  • Core Motion

UIDevice, shake UIEvent, accelerometro, magnetometro, giroscopio, CMDeviceMotion, tecnica push e pull.

LAB: App Photos - App Modulo - Prove di CoreMotion

GIORNO 3 "DEPLOY"

  • Threads

Threads, main thread, complessità della programmazione multithread, locking con NSLock, NSOperation, Grand Central Dispatch, completare un task in background.

  • Network

NSURLSession e i tre tipi di task, NSURLSessionConfiguration, delegate (NSURLSessionDelegate), NSURLRequest, NSURLSession in background, Background Fetch, tecniche di debugging per le attività in background.

  • Files

Sandbox e directory speciali, file manager, NSUserDefaults, file sharing, Document Types, Altri framework di salvataggio dati.

 
  • Localizzazione

Traduzione, base localization, NSLocalizedString, traduzione dello storyboard, formati regionali (date, numeri, moneta), NSLocale, considerazioni sul layout, debug, problematiche relative ad operazioni sulle stringhe.

  • Deploy

Architetture e device, preparazioni finali della app, identity e provisioning profile, oltre il simulatore, distribuzione ad hoc, invio all'App Store.

  • Application State

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.

PER INFO E PRENOTAZIONI COMPILA IL NOSTRO FORM:

Per info e prenotazione corsi

QUESTO CORSO E' DISPONIBILE NELLE SEGUENTI MODALITA':

Corso di gruppo Corsi per aziende

 Gruppo

Aziende