53

Tech webinar: iOS Get Started

Embed Size (px)

Citation preview

iOS Get Startedintroduzione 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: [email protected]: http://www.massimooliviero.nettwitter: @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

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 / 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

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.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