SlideShare uma empresa Scribd logo
1 de 53
Baixar para ler offline
Tech webinar: iOS Get Started
iOS Get Started
introduzione allo sviluppo su piattaforma iOS
Programmare App per iOS su iPhone
e iPad con Objective-C / Swift
https://formazione.leadpages.net/corso-in-aula-mi-maggio-oliviero/
3
Massimo Oliviero
‣ Freelance Software Developer & Trainer
Mobile Developer specializzato nello sviluppo di
applicazioni iOS e OS X
‣ Co-founder di #pragma mark
La prima community di sviluppatori iOS e OS X. Il
gruppo nasce con l’obiettivo di creare la prima
rete di specialisti finalizzato alla condivisione
delle esperienze tramite una serie di workshop e
conferenze. http://pragmamark.org/
‣ Contatti & Social
email: massimo.oliviero@gmail.com

web: http://www.massimooliviero.net

twitter: @maxoly
Agenda
‣ Market
‣ Ecosystem
‣ Platform
Market
Top 5 Smartphone OS
Top Five Smartphone Vendors
Top 5 Tablet Vendors
Vendite
‣ 700 milioni di iPhone
‣ 225 milioni di iPad
iOS version stats
Earlier
2%iOS 7
17%
iOS 8
81%
App Store
‣ +575 milioni di account iTunes con CC
‣ +1.300.000 apps (di cui +500k specifiche per iPad)
‣ +75 miliardi di download
‣ +150.000 developers
‣ +13 miliardi $ agli sviluppatori
‣ 155 paesi
App Trends
1.Games
2.Business
3.Education
4.Lifestyle
5.Entertainment
Ecosystem
Think different
‣ Apple is different by design
Il design permea la tecnologia Apple a partire dai device, passando per i
tools, fino al framework dove le API sono progettate con una cura estetica
incredibile
‣ The Customer First
Prima di tutto viene il cliente le sue esigenze e aspettative e poi lo
sviluppatore
‣ Closed Principle
L’app vive in una sandbox, la documentazione è sotto NDA, l’accesso a molte
risorse avviene solo tramite ADP, anche se negli ultimi anni le cose stanno
lentamente cambiando…
Think different
‣ iOS platform is highly consistent
Non ci sono centinaia di modelli tra cui scegliere, con decine di feature
diverse per varie fasce di mercato. Esistono solo 3 famiglie di prodotti:
iPhone, iPad e iPod.
‣ Target the high-end market
Sappiamo bene che i prezzi dei prodotti Apple sono mediamente più elevati
della concorrenza
Pro
‣ WWDC is high-quality developer event
La WWDC è il più importante evento mondiale per sviluppatori iOS e OS X.
Una settimana full-immersion a stretto contatto con gli ingegneri Apple e
tutte le novità tecnologiche della piattaforma
‣ Strumenti e risorse di qualità
I tool di sviluppo sono particolarmente veloci e al passo con i tempi. La
documentazione, gli esempi e le risorse multimediali sono molto curate,
complete e tenute costantemente aggiornate
‣ Qualità dell’SDK e delle API
L’iOS SDK e le API sono ben organizzate e strutturate secondo logiche e
pattern ricorrenti e ben documentati
Cons
‣ Nessun programma di certificazione
Non esiste un programma di certificazione come sviluppatore. Non c’è un
sistema ufficiale e consolidato di riconoscimento dell’esperienza e del valore
di un professionista del settore
‣ Politiche di update di Xcode & iOS SDK
A volte, a fronte di una nuova versione di iOS, è necessario aggiornare anche
il sistema operativo. Oppure può succedere che aggiornando all’ultima
versione di Xcode si perda il supporto ai precedenti SDK
‣ Hardware costoso
Per sviluppare seriamente è necessario dotarsi di hardware e device Apple
che notoriamente non sono così economici come la concorrenza
Requisiti
‣ Apple ID
‣ Hardware Apple
‣ Apple Developer Program
‣ Mac OS X
‣ Xcode (free dal Mac App Store)
‣ Device (iPhone/iPad/iPod)
Apple Developer Program
iOS Developer Program
iOS Developer Enterprise Prog.
Platform
iOS SDK
‣ Strumenti, documentazione ed esempi
L’iOS SDK è quell’insieme di strumenti, esempi e documentazione per
sviluppare su piattaforma iOS e Mac OS X. L’SDK contiene l’ambiente di
sviluppo Xcode, il simulatore e tutti i framework necessari. L’iOS SDK è
quell’insieme di strumenti, esempi e documentazione per sviluppare su
piattaforma iOS e Mac OS X. L’SDK contiene l’ambiente di sviluppo Xcode, il
simulatore e tutti i framework necessari.
‣ Scaricabile gratuitamente dallo store
L’iOS SDK è incluso nell’app Xcode presente sull’Mac App Store o sul
Developer Center di Apple utilizzando il proprio Apple ID.
Il sistema operativo iOS
‣ iPhone OS
iOS (conosciuto precedentemente com iPhone OS) è il sistema operativo
mobile sviluppato da Apple. Rilasciato per la prima volta nel 2007, supporta
l’architettura ARM e utilizza XNU come kernel di sistema.
‣ A complete operative system
E’un sistema operativo moderno con il supporto al multitasking, un interfaccia
grafica multitouch chiamata Cocoa Touch e contiene molte app di uso
comune, ad esempio per navigare e per leggere la posta.
Mac OS X Layers
Cocoa
Media
Core Services
OS
AppKit
Core Graphics
Core Animation
Open GL
Core Data
Foundation
iOS Layers
Cocoa Touch
Media
Core Services
OS
UIKit
Core Graphics
Core Animation
Open GL ES
Core Data
Foundation
Cocoa Touch
‣ Multitasking / Multi-touch
‣ Storyboards
‣ Standard System View Controller
‣ Push Notification / Local Notification.
‣ iAd Framework
‣ Map Kit Framework
‣ Autolayout
Linguaggi
‣ Objective-C
‣ Swift
Objective-C
‣ Superset stretto di C
‣ Inspirato a SmallTalk
‣ Aggiunge OOP al linguaggio C
‣ Compatibile al 100% con C
Swift
‣ Moderno
‣ Progettato per essere sicuro
‣ Veloce e molto potente
‣ Playground interattivi
Objective-C vs Swift
‣ Il framework è scritto in Objective-C
‣ Objective-C è stabile e molto testato
‣ Non è possibile fare tutto con Swift (es. mix C++)
‣ Objective-C è più semplice di Swift
‣ Swift è un linguaggio moderno funzionale
‣ Playground & REPL
ObjC o Swift?
iOS Programming
‣ Model View Controller
‣ Protocol (Interface in Java & C#)
‣ Delegation
‣ Target-Action
Model View Controller
Tools
‣ Xcode
Xcode è un IDE per lo sviluppo di applicazione iOS e OS X. Supporta
ovviamente Objective-C, ma anche Objective-C++, Swift, C e C++. E’in grado
di gestire repo Git e Subversion
‣ iOS Simulator
Supportare la maggior parte dei device compreso l’Apple Watch. Simula GPS,
multitouch, memory warning, rotazione e lo shake. App pre-caricate: Safari,
Impostazioni, Contatti, Immagini, Game Center, Calendario, Mappe, Edicola e
Passbook. Veloce!
‣ Instruments
Strumento di analisi dell’applicazione. Traccia e profila le attività del codice per
individuare problemi di memoria, prestazioni e di consumo.
Device
‣ iPhone
‣ iPad
‣ iPod
Device
iPhone 4 / 4S 5 / 5C / 5S 6 / 6+
iPad 2 / 3 / 4 Mini 2 / 3 Air 1 / 2
iPod 4th gen 5th gen
Tech webinar: iOS Get Started
iPhone resolution
Device / Display
iPhone 4 / 4S

iPod 4th gen
iPhone 5 / 5 C / 5 S 

iPod 5th gen
iPhone 6 iPhone 6+
640x960 px 640x1136 px 750x1334 1080x1920
326 ppi 332 ppi 336 ppi 401 ppi
@2x @2x @2x @3x
iPad 1 / 2
iPad 3 / 4

iPad Air 1 / 2
iPad mini iPad Mini 2 / 3
768x1024 px 1536x2048 px 768x1024 px 1536x2048 px
132 dpi 264 dpi 162 dpi 326 ppi
9.7 inch 9.7 inch 7.9 inch 7.9 inch
Device / Display
Adaptive Layout
Adaptive Layout
‣ iOS 8
‣ Auto Layout
‣ Size Classes
Auto Layout
Size Classes
Size Classes - iPad
Size Classes - iPhone 4 - 5S
Size Classes iPhone 6+
Demo
Q&A
Thank you!
Website: training.codemotion.it
E-mail: training@codemotion.it
Tw: @codemotionTR
Mobile: 349 4400619
Adress: Via G. Giolitti, 34, 00185 Roma
“L’istruzione è l’arma più potente che puoi usare per
cambiare il mondo”
Nelson Mandela
Continuos Innovative Learning for Geeks

Mais conteúdo relacionado

Destaque

Nextvalue Ricerca Cloud Computing in Italia e in Europa - Ed. 2010
Nextvalue Ricerca Cloud Computing in Italia e in Europa - Ed. 2010Nextvalue Ricerca Cloud Computing in Italia e in Europa - Ed. 2010
Nextvalue Ricerca Cloud Computing in Italia e in Europa - Ed. 2010Manuela Moroncini
 
Derechos de las pcd
Derechos de las pcdDerechos de las pcd
Derechos de las pcdNoe Toledo
 
AppleTV: insight e progettazione per l'Home Entertainment
AppleTV: insight e progettazione per l'Home EntertainmentAppleTV: insight e progettazione per l'Home Entertainment
AppleTV: insight e progettazione per l'Home EntertainmentPaolo Musolino
 
Google TV: la nuova frontiera Android
Google TV: la nuova frontiera AndroidGoogle TV: la nuova frontiera Android
Google TV: la nuova frontiera AndroidStefano Sanna
 
Application Store: opportunita' e trappole
Application Store: opportunita' e trappoleApplication Store: opportunita' e trappole
Application Store: opportunita' e trappoleStefano Sanna
 
Android - Programmazione Avanzata
Android -  Programmazione AvanzataAndroid -  Programmazione Avanzata
Android - Programmazione AvanzataStefano Sanna
 
Introduzione alla tecnologia iBeacon
Introduzione alla tecnologia iBeaconIntroduzione alla tecnologia iBeacon
Introduzione alla tecnologia iBeaconStefano Sanna
 
Animação 1 - Model Sheet
Animação 1 - Model SheetAnimação 1 - Model Sheet
Animação 1 - Model Sheetprofealbattaiola
 
IoT Experience. Dati. informazioni. conoscenza. saggezza.
IoT Experience. Dati. informazioni. conoscenza. saggezza.IoT Experience. Dati. informazioni. conoscenza. saggezza.
IoT Experience. Dati. informazioni. conoscenza. saggezza.Fabio Lalli
 
La battaglia per l'attenzione
La battaglia per l'attenzione La battaglia per l'attenzione
La battaglia per l'attenzione Fabio Lalli
 
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...Codemotion
 
Industria 4.0 e IoT: Panorama, Leggende e Standard
Industria 4.0 e IoT: Panorama, Leggende e StandardIndustria 4.0 e IoT: Panorama, Leggende e Standard
Industria 4.0 e IoT: Panorama, Leggende e Standarduninfoit
 

Destaque (20)

Nextvalue Ricerca Cloud Computing in Italia e in Europa - Ed. 2010
Nextvalue Ricerca Cloud Computing in Italia e in Europa - Ed. 2010Nextvalue Ricerca Cloud Computing in Italia e in Europa - Ed. 2010
Nextvalue Ricerca Cloud Computing in Italia e in Europa - Ed. 2010
 
OUM - Matematica
OUM - MatematicaOUM - Matematica
OUM - Matematica
 
iOS_Course_8
iOS_Course_8iOS_Course_8
iOS_Course_8
 
iOS_Course_16
iOS_Course_16iOS_Course_16
iOS_Course_16
 
Introduzione a UML
Introduzione a UMLIntroduzione a UML
Introduzione a UML
 
iOS_Course_3
iOS_Course_3iOS_Course_3
iOS_Course_3
 
iOS_Course_1
iOS_Course_1iOS_Course_1
iOS_Course_1
 
iOS_course_7
iOS_course_7iOS_course_7
iOS_course_7
 
Derechos de las pcd
Derechos de las pcdDerechos de las pcd
Derechos de las pcd
 
AppleTV: insight e progettazione per l'Home Entertainment
AppleTV: insight e progettazione per l'Home EntertainmentAppleTV: insight e progettazione per l'Home Entertainment
AppleTV: insight e progettazione per l'Home Entertainment
 
Google TV: la nuova frontiera Android
Google TV: la nuova frontiera AndroidGoogle TV: la nuova frontiera Android
Google TV: la nuova frontiera Android
 
Application Store: opportunita' e trappole
Application Store: opportunita' e trappoleApplication Store: opportunita' e trappole
Application Store: opportunita' e trappole
 
Android - Programmazione Avanzata
Android -  Programmazione AvanzataAndroid -  Programmazione Avanzata
Android - Programmazione Avanzata
 
Introduzione alla tecnologia iBeacon
Introduzione alla tecnologia iBeaconIntroduzione alla tecnologia iBeacon
Introduzione alla tecnologia iBeacon
 
Android vs iOS
Android vs iOSAndroid vs iOS
Android vs iOS
 
Animação 1 - Model Sheet
Animação 1 - Model SheetAnimação 1 - Model Sheet
Animação 1 - Model Sheet
 
IoT Experience. Dati. informazioni. conoscenza. saggezza.
IoT Experience. Dati. informazioni. conoscenza. saggezza.IoT Experience. Dati. informazioni. conoscenza. saggezza.
IoT Experience. Dati. informazioni. conoscenza. saggezza.
 
La battaglia per l'attenzione
La battaglia per l'attenzione La battaglia per l'attenzione
La battaglia per l'attenzione
 
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
 
Industria 4.0 e IoT: Panorama, Leggende e Standard
Industria 4.0 e IoT: Panorama, Leggende e StandardIndustria 4.0 e IoT: Panorama, Leggende e Standard
Industria 4.0 e IoT: Panorama, Leggende e Standard
 

Semelhante a Tech webinar: iOS Get Started

Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Gabriele Gaggi
 
Sviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinSviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinFabio Cozzolino
 
Mobile platforms development overview
Mobile platforms development overviewMobile platforms development overview
Mobile platforms development overviewAlfredo Morresi
 
Meet no Neet: presentazione del progetto App per organizzare eventi
Meet no Neet: presentazione del progetto App per organizzare eventiMeet no Neet: presentazione del progetto App per organizzare eventi
Meet no Neet: presentazione del progetto App per organizzare eventiFondazione Mondo Digitale
 
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaMulti-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaAndrea Dottor
 
Smau milano 2012 arena social media davide-senatore
Smau milano 2012   arena social media davide-senatoreSmau milano 2012   arena social media davide-senatore
Smau milano 2012 arena social media davide-senatoreSMAU
 
Mobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web DevelopersMobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web Developerssparkfabrik
 
FLTlab Business Presentation 2012
FLTlab Business Presentation 2012FLTlab Business Presentation 2012
FLTlab Business Presentation 2012FLT.lab
 
Programmazione mobile: ANDROID
Programmazione mobile: ANDROIDProgrammazione mobile: ANDROID
Programmazione mobile: ANDROIDPaolo Tosato
 
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformAngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformGabriele Gaggi
 

Semelhante a Tech webinar: iOS Get Started (20)

iOS Ecosystem
iOS EcosystemiOS Ecosystem
iOS Ecosystem
 
iOS Ecosystem
iOS EcosystemiOS Ecosystem
iOS Ecosystem
 
Apple App World
Apple App WorldApple App World
Apple App World
 
iOS - Getting Started
iOS - Getting StartediOS - Getting Started
iOS - Getting Started
 
Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5
 
Sviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinSviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarin
 
Mobile platforms development overview
Mobile platforms development overviewMobile platforms development overview
Mobile platforms development overview
 
Meet no Neet: presentazione del progetto App per organizzare eventi
Meet no Neet: presentazione del progetto App per organizzare eventiMeet no Neet: presentazione del progetto App per organizzare eventi
Meet no Neet: presentazione del progetto App per organizzare eventi
 
platforms
platformsplatforms
platforms
 
Io, Android
Io, AndroidIo, Android
Io, Android
 
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaMulti-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
 
Smau milano 2012 arena social media davide-senatore
Smau milano 2012   arena social media davide-senatoreSmau milano 2012   arena social media davide-senatore
Smau milano 2012 arena social media davide-senatore
 
Mobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web DevelopersMobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web Developers
 
INTRO TO XAMARIN
INTRO TO XAMARININTRO TO XAMARIN
INTRO TO XAMARIN
 
Android
AndroidAndroid
Android
 
GDB Mobile
GDB MobileGDB Mobile
GDB Mobile
 
FLTlab Business Presentation 2012
FLTlab Business Presentation 2012FLTlab Business Presentation 2012
FLTlab Business Presentation 2012
 
Programmazione mobile: ANDROID
Programmazione mobile: ANDROIDProgrammazione mobile: ANDROID
Programmazione mobile: ANDROID
 
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformAngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
 
iOS Programming
iOS ProgrammingiOS Programming
iOS Programming
 

Mais de Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 

Mais de Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Tech webinar: iOS Get Started

  • 2. iOS Get Started introduzione allo sviluppo su piattaforma iOS
  • 3. Programmare App per iOS su iPhone e iPad con Objective-C / Swift https://formazione.leadpages.net/corso-in-aula-mi-maggio-oliviero/ 3
  • 4. Massimo Oliviero ‣ Freelance Software Developer & Trainer Mobile Developer specializzato nello sviluppo di applicazioni iOS e OS X ‣ Co-founder di #pragma mark La prima community di sviluppatori iOS e OS X. Il gruppo nasce con l’obiettivo di creare la prima rete di specialisti finalizzato alla condivisione delle esperienze tramite una serie di workshop e conferenze. http://pragmamark.org/ ‣ Contatti & Social email: massimo.oliviero@gmail.com
 web: http://www.massimooliviero.net
 twitter: @maxoly
  • 9. Top 5 Tablet Vendors
  • 10. Vendite ‣ 700 milioni di iPhone ‣ 225 milioni di iPad
  • 12. App Store ‣ +575 milioni di account iTunes con CC ‣ +1.300.000 apps (di cui +500k specifiche per iPad) ‣ +75 miliardi di download ‣ +150.000 developers ‣ +13 miliardi $ agli sviluppatori ‣ 155 paesi
  • 15. Think different ‣ Apple is different by design Il design permea la tecnologia Apple a partire dai device, passando per i tools, fino al framework dove le API sono progettate con una cura estetica incredibile ‣ The Customer First Prima di tutto viene il cliente le sue esigenze e aspettative e poi lo sviluppatore ‣ Closed Principle L’app vive in una sandbox, la documentazione è sotto NDA, l’accesso a molte risorse avviene solo tramite ADP, anche se negli ultimi anni le cose stanno lentamente cambiando…
  • 16. Think different ‣ iOS platform is highly consistent Non ci sono centinaia di modelli tra cui scegliere, con decine di feature diverse per varie fasce di mercato. Esistono solo 3 famiglie di prodotti: iPhone, iPad e iPod. ‣ Target the high-end market Sappiamo bene che i prezzi dei prodotti Apple sono mediamente più elevati della concorrenza
  • 17. Pro ‣ WWDC is high-quality developer event La WWDC è il più importante evento mondiale per sviluppatori iOS e OS X. Una settimana full-immersion a stretto contatto con gli ingegneri Apple e tutte le novità tecnologiche della piattaforma ‣ Strumenti e risorse di qualità I tool di sviluppo sono particolarmente veloci e al passo con i tempi. La documentazione, gli esempi e le risorse multimediali sono molto curate, complete e tenute costantemente aggiornate ‣ Qualità dell’SDK e delle API L’iOS SDK e le API sono ben organizzate e strutturate secondo logiche e pattern ricorrenti e ben documentati
  • 18. Cons ‣ Nessun programma di certificazione Non esiste un programma di certificazione come sviluppatore. Non c’è un sistema ufficiale e consolidato di riconoscimento dell’esperienza e del valore di un professionista del settore ‣ Politiche di update di Xcode & iOS SDK A volte, a fronte di una nuova versione di iOS, è necessario aggiornare anche il sistema operativo. Oppure può succedere che aggiornando all’ultima versione di Xcode si perda il supporto ai precedenti SDK ‣ Hardware costoso Per sviluppare seriamente è necessario dotarsi di hardware e device Apple che notoriamente non sono così economici come la concorrenza
  • 19. Requisiti ‣ Apple ID ‣ Hardware Apple ‣ Apple Developer Program ‣ Mac OS X ‣ Xcode (free dal Mac App Store) ‣ Device (iPhone/iPad/iPod)
  • 24. iOS SDK ‣ Strumenti, documentazione ed esempi L’iOS SDK è quell’insieme di strumenti, esempi e documentazione per sviluppare su piattaforma iOS e Mac OS X. L’SDK contiene l’ambiente di sviluppo Xcode, il simulatore e tutti i framework necessari. L’iOS SDK è quell’insieme di strumenti, esempi e documentazione per sviluppare su piattaforma iOS e Mac OS X. L’SDK contiene l’ambiente di sviluppo Xcode, il simulatore e tutti i framework necessari. ‣ Scaricabile gratuitamente dallo store L’iOS SDK è incluso nell’app Xcode presente sull’Mac App Store o sul Developer Center di Apple utilizzando il proprio Apple ID.
  • 25. Il sistema operativo iOS ‣ iPhone OS iOS (conosciuto precedentemente com iPhone OS) è il sistema operativo mobile sviluppato da Apple. Rilasciato per la prima volta nel 2007, supporta l’architettura ARM e utilizza XNU come kernel di sistema. ‣ A complete operative system E’un sistema operativo moderno con il supporto al multitasking, un interfaccia grafica multitouch chiamata Cocoa Touch e contiene molte app di uso comune, ad esempio per navigare e per leggere la posta.
  • 26. Mac OS X Layers Cocoa Media Core Services OS AppKit Core Graphics Core Animation Open GL Core Data Foundation
  • 27. iOS Layers Cocoa Touch Media Core Services OS UIKit Core Graphics Core Animation Open GL ES Core Data Foundation
  • 28. Cocoa Touch ‣ Multitasking / Multi-touch ‣ Storyboards ‣ Standard System View Controller ‣ Push Notification / Local Notification. ‣ iAd Framework ‣ Map Kit Framework ‣ Autolayout
  • 30. Objective-C ‣ Superset stretto di C ‣ Inspirato a SmallTalk ‣ Aggiunge OOP al linguaggio C ‣ Compatibile al 100% con C
  • 31. Swift ‣ Moderno ‣ Progettato per essere sicuro ‣ Veloce e molto potente ‣ Playground interattivi
  • 32. Objective-C vs Swift ‣ Il framework è scritto in Objective-C ‣ Objective-C è stabile e molto testato ‣ Non è possibile fare tutto con Swift (es. mix C++) ‣ Objective-C è più semplice di Swift ‣ Swift è un linguaggio moderno funzionale ‣ Playground & REPL
  • 34. iOS Programming ‣ Model View Controller ‣ Protocol (Interface in Java & C#) ‣ Delegation ‣ Target-Action
  • 36. Tools ‣ Xcode Xcode è un IDE per lo sviluppo di applicazione iOS e OS X. Supporta ovviamente Objective-C, ma anche Objective-C++, Swift, C e C++. E’in grado di gestire repo Git e Subversion ‣ iOS Simulator Supportare la maggior parte dei device compreso l’Apple Watch. Simula GPS, multitouch, memory warning, rotazione e lo shake. App pre-caricate: Safari, Impostazioni, Contatti, Immagini, Game Center, Calendario, Mappe, Edicola e Passbook. Veloce! ‣ Instruments Strumento di analisi dell’applicazione. Traccia e profila le attività del codice per individuare problemi di memoria, prestazioni e di consumo.
  • 38. Device iPhone 4 / 4S 5 / 5C / 5S 6 / 6+ iPad 2 / 3 / 4 Mini 2 / 3 Air 1 / 2 iPod 4th gen 5th gen
  • 41. Device / Display iPhone 4 / 4S
 iPod 4th gen iPhone 5 / 5 C / 5 S 
 iPod 5th gen iPhone 6 iPhone 6+ 640x960 px 640x1136 px 750x1334 1080x1920 326 ppi 332 ppi 336 ppi 401 ppi @2x @2x @2x @3x
  • 42. iPad 1 / 2 iPad 3 / 4
 iPad Air 1 / 2 iPad mini iPad Mini 2 / 3 768x1024 px 1536x2048 px 768x1024 px 1536x2048 px 132 dpi 264 dpi 162 dpi 326 ppi 9.7 inch 9.7 inch 7.9 inch 7.9 inch Device / Display
  • 44. Adaptive Layout ‣ iOS 8 ‣ Auto Layout ‣ Size Classes
  • 48. Size Classes - iPhone 4 - 5S
  • 50. Demo
  • 51. Q&A
  • 53. Website: training.codemotion.it E-mail: training@codemotion.it Tw: @codemotionTR Mobile: 349 4400619 Adress: Via G. Giolitti, 34, 00185 Roma “L’istruzione è l’arma più potente che puoi usare per cambiare il mondo” Nelson Mandela Continuos Innovative Learning for Geeks