Struttura del corso
Giorno 1:
- Concetti di OOP
- Cosa è il software
- Stanze organizzate vs non organizzate
- Perché il Software
- Perché iOS
- Storia di Apple
- Storia di iOS
- Punto di forza di Apple (USP)
- Cosa rende famoso Apple
- UX vs UI
- IDE?
- Xcode
- Installazione di Xcode
- Perché Objective-C e ora perché Swift?
- Fattori strepitosi in Swift
- Nozioni di base di Swift
- Variabili
- Costanti
- Hello World in Swift
- Creazione di etichette tramite codice
- ImageView
- Animate ImageView
- NSTimer
- Catena del risponditore - metodi touchBegan, touchMoved, ecc.
- Delegato principale dell'applicazione
- Ciclo di vita dell'applicazione
- Ciclo di vita della vista
- Any
- Optionals
- internal, public, private
- init
- deinit
- Playground
Applicazione da fare: Gioco dei Punti: https://apps.apple.com/app/the-dots-free/id850315430
Giorno 2:
- Animate UIView
- Estensione
- UITable View
- Cella personalizzata in Table View
- Metodi Delegate e Data Source nei Delegates
- Intestazione, piè di pagina, altezza, ecc. di Table View
- Breve introduzione a Collection View
- Deque in table view
- Mark
- Optionals
- didSet
- willSet
- Guard
- Concetti 2x e 3x
- Navigare da una vista all'altra
- UINavigation Controller
- Presentare un controller
- Storyboards
- Xibs
- Vincoli
- Size classes
- Protocolli - obbligatori e opzionali
- Gestione della memoria
Applicazione da fare: App delle Note : Aggiungere, eliminare e aggiornare una nota
Giorno 3:
- Gestures
- Closure
- Gruppi e cartelle
- Riconoscitori di gesti
- XML Parsing
- NSJSONSerialization
- Conversione dati in JSON
- File Manager
- Tuples
- Enum
- For-in
- While
- Webservices
- URL Session
- URLRequest
- Perché l'ecosistema di Apple è il migliore
- Printable - description
- Hashable
- UIAlertView
- UIActivityIndicatorView
Applicazione da fare: Recuperare dati dal server tramite API aperte, creare una table view e popolare i dati mostrando anche i dettagli.
Giorno 4:
- Caricamento lazy delle immagini
- Proprietà lazy
- NSOperationQueue
- GCD (Grand Central Dispatch)
- Concetto di directory e sicurezza delle app NSSearchDomain
- Tab Bar Controller
- Localizzazione
- Keychain
- User Defaults
- PLists
- FileManager
- SQlite
- Estensioni
- Integrazione dei social media: creare contenuti condivisibili
- UITextField
- UITextView
- UISegmentedControl
- UISlider
- UISwitch
- UIPageControl
- UIStepper
- UIScrollView
- UIPickerView
- UIActionSheet
- UIWebView
- SearchBar
- Nuovi target: Apple Watch, estensioni, tastiera, oggi, ecc.
- NSNotifications in iOS
- Aggiunta di librerie di terze parti
- Core Data
- Distribuzione e distribuzione dell'app
- Esecuzione dell'app su dispositivi reali
Applicazione da fare: Recuperare dati dal server tramite API aperte, creare una table view e popolare i dati mostrando anche i dettagli. Aggiungere anche una Search bar per cercare qualcosa.
Giorno 5:
- Notifiche push - silenziose e push
- Localizzazione
- Panoramica di Objective-C
- Proprietà
- Categorie
- Sintassi delle funzioni
- File .h e .m
- Attributi della proprietà readWrite e readOnly
- Attributi della proprietà strong, weak e copy
- Attributi della proprietà atomic e non-atomic
- Pubblicazione dell'app su App Store
Applicazione di tua scelta
Requisiti
È necessario avere almeno un'esperienza con un linguaggio di programmazione in 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.