In questo workshop di 5 ore, abbiamo effettuato una breve introduzione a Swift, arrivando a realizzare in poche ore un’applicazione partendo da zero, che permetta all’utente di essere geolocalizzato e che gli permetta di effettuare il check-in nella bellissima e suggestiva location di Todi.
3. Programma della giornata
• Introduzione al mobile
• Linee guida e risorse utili
• Introduzione alla programmazione iOS
con Swift
• Creazione di un’app
4. Più di 85 milioni di download
dal 2008
70% di proventi da App Store
Prezzo medio app:
(iOS) $1.5
(Android) $1
App Store
5. 10 modelli iPhone dal 2007 ad oggi
4 modelli iPad
4 risoluzioni + retina
6. Distribuzione versioni iOS
• Apple iOS ha poca
frammentazione dei sistemi
operativi
• Sviluppando per iOS 7 e
successivi viene coperto
oltre il 98% dei dispositivi
7. Riferimenti utili
• Apple developer program https://
developer.apple.com/programs/ios/
• iOS Human Interface Guidelines https://
developer.apple.com/library/ios/
documentation/UserExperience/Conceptual/
MobileHIG/AppIcons.html#//apple_ref/doc/uid/
TP40006556-CH19-SW1
• Elementi UI https://developer.apple.com/
library/ios/documentation/UserExperience/
Conceptual/UIKitUICatalog/index.html#//
apple_ref/doc/uid/TP40012857-UIView-SW1
• Info grafiche utili http://
iosdesign.ivomynttinen.com
• Tutorials http://www.raywenderlich.com
http://www.appcoda.com
• Google
8. Programmazione iOS
• Il linguaggio usato è Objective-C o Swift
• Si usa per sviluppare per iOS ed OSX (iPhone, iPad,
Mac)
• Linguaggio ad oggetti, simile a C++ e java
• Implementa il pattern MVC model-view-controller
• Dal 2014 è possibile sviluppare anche in Swift
9. • Un Oggetto è un’entità, appartenente ad una classe
con un proprio stato e comportamento
• Una Classe è una descrizione astratta, un prototipo che
definisce il comportamento e le proprietà di un oggetto
• Normalmente si definisce una classe e si istanzia uno o
più oggetti relativi ad essa
16. let maximumNumberOfLoginAttempts = 10
Dichiarazione di una variabile
var currentLoginAttempt = 0
let è usato per dichiarare costanti
var è usato per dichiarare variabili
17. Dichiarazione di una variabile
var x = 0.0, y = 0.0, z = 0.0
var welcomeMessage: String
welcomeMessage = "Hello"
si possono dichiarare variabili multiple
si può dichiarare il tipo di variabile
18. Dichiarazione di una variabile
var friendlyWelcome = "Hello!"
friendlyWelcome = "Bonjour!"
// friendlyWelcome is now "Bonjour!"
una variabile consente di cambiare il suo valore
una costante non consente di cambiare il suo valore
let languageName = "Swift"
languageName = "Swift++"
// this is a compile-time error - languageName
cannot be changed
19. Optionals
var optionalInt :Int?
gli optionals gestiscono l’assenza di una variabile
si usano in situazioni dove un valore può essere assente
Usare gli optionals è simile ad usare un puntatore a nil in Obj-C
ma funzionano per qualsiasi tipo di dato, non soltanto per le classi
20. extension String {
var banana : String {
let shortName = String(characters.dropFirst(1))
return "(self) (self) Bo B(shortName) Banana Fana Fo F
(shortName)"
}
}
let bananaName = "Jimmy".banana
// "Jimmy Jimmy Bo Bimmy Banana Fana Fo Fimmy"
Estensioni
21. func sayHelloWorld() -> a href="" String /a {
return "hello, world"
}
print(sayHelloWorld())
// prints "hello, world"
Metodi
Funzioni semplici
22. func sayHello(personName: String) -> String {
let greeting = "Hello, " + personName + "!"
return greeting
}
Metodi
print(sayHello("Anna"))
// prints "Hello, Anna!"
Funzione con parametro di ingresso e uscita
24. func sayHello(personName: String, alreadyGreeted:Bool)
-> String{
if alreadyGreeted {
return sayHelloAgain(personName)
}
else {
return sayHello(personName)
}
}
print(sayHello("Tim", alreadyGreeted: true))
// prints "Hello again, Tim!"
Metodi
Funzioni con parametri di ingresso multipli
25. iOS implementa il pattern MVC (Model-View-Controller)
Modello: oggetto che controlla i dati - Dati
Controllore: intermediario tra modello e vista - Logica
Vista: presenta all’utente i dati del modello - Interfaccia utente
26. • L’IDE usato è Xcode
• Scaricabile direttamente dallo store
• Ha tutti gli strumenti per creare un’app e
inviarla allo store
• Integra Interface Builder per creare
interfacce grafiche di tipo drag e drop
29. Where to go from here
• Inizia a sviluppare in Swift - Tutorial: Start Developing iOS Apps (Swift)
• Registrarsi come sviluppatore: Managing Accounts
• Imparare a creare interfacce mobile: iOS Human Interface Guidelines, Auto Layout
Guide
• Imparare Objective-C: Programming with Objective-C
• Imparare a sviluppare in Swift: The Swift Programming Language
• Imparare a sviluppare grandi App: App Programming Guide for iOS
• Conoscere le tecnologie disponibili: iOS Technology Overview
• Documentazione generale: Finding Information
• Debug e testa la tua app: Debug Your App
• Distribuisci la tua app: App Distribution Guide