Date post: | 18-Jul-2015 |
Category: |
Software |
Upload: | codemotion |
View: | 241 times |
Download: | 0 times |
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: [email protected]: http://www.massimooliviero.nettwitter: @maxoly
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
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)
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
Objective-C
‣ Superset stretto di C
‣ Inspirato a SmallTalk
‣ Aggiunge OOP al linguaggio C
‣ Compatibile al 100% con C
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
iOS Programming
‣ Model View Controller
‣ Protocol (Interface in Java & C#)
‣ Delegation
‣ Target-Action
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 / 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 / 4iPad 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
Website: training.codemotion.itE-mail: [email protected]: @codemotionTRMobile: 349 4400619Adress: 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