Struttura del corso
Concetti di base della programmazione
- Concetti OOP (Object-Oriented Programming)
- Cosa è un software
- Il concetto di stanze organizzate vs non organizzate in programmazione
- Perché il software
Perché Apple e iOS
- Perché iOS
- Storia di Apple
- Storia di iOS
- USP (Unique Selling Proposition) di Apple
- Cosa rende Apple famoso
- UX vs UI
Ambiente di sviluppo
- Requisiti dell'ambiente di sviluppo
- Xcode e l'SDK di iOS
- Registrazione come sviluppatore Apple
- Motivi per cui le applicazioni vengono rifiutate
- Linee guida dell'interfaccia umana
Progetti iOS in Xcode
- Panoramica di Xcode
- Creazione di un progetto iOS
- Esecuzione su simulatori e dispositivi reali
Nozioni di base di Swift
- Perché Objective-C e ora perché Swift?
- Fattori di successo in Swift
- Variabili
- Costanti
- Hello World in Swift
- Creazione di un UILabel con il codice
Animazioni e caricamento delle immagini
- UIImageView
- Animazioni di base UIView e UIImageView
- Playground
- Caricamento lazy delle immagini
- Proprietà lazy
Classi Swift e Scene
- Creazione di classi Swift
- Gestione della memoria
- Riferimenti forti e deboli
- Tipi di costruttori e distruttori in Swift
- Protocolli, Hashable e Printable
- Ereditarietà
- Creazione di Scene
- Implementazione dei View Controllers
- Playground
Ciclo di vita e Catena del risponditore
- Ciclo di vita della vista
- Ciclo di vita dell'applicazione
- Catena del risponditore - metodi touchBegan, touchMoved, etc.
- NSTimer
Layout adattivo
- Storyboards vs XiB
- Supporto a più dispositivi
- Dimensioni delle icone e orientamento del dispositivo
- Creazione di un'interfaccia utente con il codice
- Outlets e Azioni
- Protocolli - obbligatori e opzionali
- Gestione della memoria
Notifiche e Localizzazione
- Push Notification - Silent e Push
- Localizzazione
Panoramica di Objective-C
- Proprietà
- Categorie
- Sintassi delle funzioni
- Attributi delle proprietà readWrite e readOnly
Integrazione di Social Media in iOS:
- Integrazione con Facebook
- Integrazione con Twitter
- Integrazione con la posta elettronica
- Integrazione di un'applicazione di terze parti
Componenti UI in iOS:
- UITextField
- UITextView
- UISegementControl
- UISlider
- UiSwtich
- UIProgessBar
- UIPageControl
- UIStepper
- UIScrollView
- UIPicker
- UIActionSheet
- UIWebView
- SearchBar
Altri componenti di base e altri in iOS:
- Gruppi e cartelle
- Closure
- Tuple
- URL Session
- URLRequest
- UIAlertView
- UIActivityIndicatorView
- internal, public, private
- Guard
- Optionals
Multithreading in iOS:
- GCD (Grand Central Dispatch)
- NSOperationQueue
- Filò principale e filò di background
Interazione dell'utente
- Pulsanti e handler
- Riconoscimento del gesto Pan
- Riconoscimento del gesto Tap
- Table View personalizzate
- Nozioni di base sulla Collection View
Applicazioni con più schermi
- Navigazione della tabella
- Applicazioni a schede
- Controller di navigazione
- Presentazione di un controller e diverse animazioni durante la presentazione e il push dei controller
Servizi di localizzazione
- Posizione e altitudine
- Direzione della bussola
Accesso al dispositivo e archiviazione
- Archiviazione dei file
- Accesso alla libreria musicale
- CoreData e Sqlite in iOS
- Key Chain
- User Defaults
- PLists
- NSSearchDomain
- Concetto di directory e sicurezza delle app NSSearchDomain
Framework di riconoscimento vocale
- Riconoscimento della voce in testo
- Sintesi del testo in voce
Framework Multipeer
- Invio di dati da un dispositivo all'altro
- Connessione di più dispositivi
Rete
- Accesso alla rete
- Seriale e deserializzazione JSON
- Servizi web REST
- Nozioni di base del parsing XML
Caricamento dell'app sull'App Store
- ITunes Connect
- Portale sviluppatori - Profili di provisioning
- Distribuzione e distribuzione
- Esecuzione dell'app su dispositivi reali
- Caricamento dell'app sull'App Store
Applicazioni
- Gioco Dots: https://itunes.apple.com/app/the-dots-free/id850315430
- App di Note: App di Note
- App Contatti
- Ottieni dati dal server tramite un'API aperta, crea una table view, popola i dati e mostra i dettagli, aggiungi anche una barra di ricerca per cercare qualcosa e usa Core Data per salvare i dati offline
- Applicazione di tua scelta
Requisiti
È necessario avere almeno un'esperienza con un linguaggio di programmazione nel passato.
Recensioni (3)
The way of transferring knowledge and the knowledge of the trainer.
Jakub Rekas - Bitcomp Sp. z o.o.
Corso - Machine Learning on iOS
He's an experienced trainer with a real life experience in the topic he was teaching. That led the course to cover the most important topics which interests any developer working in the field, and small details would be easily overseen if he was not working in this platform. Moreover, he was giving the course using the latest versions of is and Swift (10 \ 3) and that is a huge advantage to be adapting such new technology in short time.
Abdullah Alaradi - Thiqah Business Services
Corso - iPhone and iPad Development in Swift for iOS 8 and Xcode 6
Antonio gave is much background information, best practices and showed us useful tools to speed up our development process.