Top Banner
53
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Tech webinar: iOS Get Started
Page 2: Tech webinar: iOS Get Started

iOS Get Startedintroduzione allo sviluppo su piattaforma iOS

Page 3: Tech webinar: iOS Get Started

Programmare App per iOS su iPhone e iPad con Objective-C / Swift

https://formazione.leadpages.net/corso-in-aula-mi-maggio-oliviero/

3

Page 4: Tech webinar: iOS Get Started

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

Page 5: Tech webinar: iOS Get Started

Agenda

‣ Market

‣ Ecosystem

‣ Platform

Page 6: Tech webinar: iOS Get Started

Market

Page 7: Tech webinar: iOS Get Started

Top 5 Smartphone OS

Page 8: Tech webinar: iOS Get Started

Top Five Smartphone Vendors

Page 9: Tech webinar: iOS Get Started

Top 5 Tablet Vendors

Page 10: Tech webinar: iOS Get Started

Vendite

‣ 700 milioni di iPhone

‣ 225 milioni di iPad

Page 11: Tech webinar: iOS Get Started

iOS version stats

Earlier 2%iOS 7

17%

iOS 8 81%

Page 12: Tech webinar: iOS Get Started

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

Page 13: Tech webinar: iOS Get Started

App Trends

1. Games

2. Business

3. Education

4. Lifestyle

5. Entertainment

Page 14: Tech webinar: iOS Get Started

Ecosystem

Page 15: Tech webinar: iOS Get Started

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…

Page 16: Tech webinar: iOS Get Started

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

Page 17: Tech webinar: iOS Get Started

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

Page 18: Tech webinar: iOS Get Started

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

Page 19: Tech webinar: iOS Get Started

Requisiti

‣ Apple ID

‣ Hardware Apple

‣ Apple Developer Program

‣ Mac OS X

‣ Xcode (free dal Mac App Store)

‣ Device (iPhone/iPad/iPod)

Page 20: Tech webinar: iOS Get Started

Apple Developer Program

Page 21: Tech webinar: iOS Get Started

iOS Developer Program

Page 22: Tech webinar: iOS Get Started

iOS Developer Enterprise Prog.

Page 23: Tech webinar: iOS Get Started

Platform

Page 24: Tech webinar: iOS Get Started

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.

Page 25: Tech webinar: iOS Get Started

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.

Page 26: Tech webinar: iOS Get Started

Mac OS X Layers

Cocoa

Media

Core Services

OS

AppKit

Core Graphics

Core Animation

Open GL

Core Data

Foundation

Page 27: Tech webinar: iOS Get Started

iOS Layers

Cocoa Touch

Media

Core Services

OS

UIKit

Core Graphics

Core Animation

Open GL ES

Core Data

Foundation

Page 28: Tech webinar: iOS Get Started

Cocoa Touch

‣ Multitasking / Multi-touch

‣ Storyboards

‣ Standard System View Controller

‣ Push Notification / Local Notification.

‣ iAd Framework

‣ Map Kit Framework

‣ Autolayout

Page 29: Tech webinar: iOS Get Started

Linguaggi

‣ Objective-C

‣ Swift

Page 30: Tech webinar: iOS Get Started

Objective-C

‣ Superset stretto di C

‣ Inspirato a SmallTalk

‣ Aggiunge OOP al linguaggio C

‣ Compatibile al 100% con C

Page 31: Tech webinar: iOS Get Started

Swift

‣ Moderno

‣ Progettato per essere sicuro

‣ Veloce e molto potente

‣ Playground interattivi

Page 32: Tech webinar: iOS Get Started

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

Page 33: Tech webinar: iOS Get Started

ObjC o Swift?

Page 34: Tech webinar: iOS Get Started

iOS Programming

‣ Model View Controller

‣ Protocol (Interface in Java & C#)

‣ Delegation

‣ Target-Action

Page 35: Tech webinar: iOS Get Started

Model View Controller

Page 36: Tech webinar: iOS Get Started

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.

Page 37: Tech webinar: iOS Get Started

Device

‣ iPhone

‣ iPad

‣ iPod

Page 38: Tech webinar: iOS Get Started

Device

iPhone 4 / 4S 5 / 5C / 5S 6 / 6+

iPad 2 / 3 / 4 Mini 2 / 3 Air 1 / 2

iPod 4th gen 5th gen

Page 39: Tech webinar: iOS Get Started
Page 40: Tech webinar: iOS Get Started

iPhone resolution

Page 41: Tech webinar: iOS Get Started

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

Page 42: Tech webinar: iOS Get Started

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

Page 43: Tech webinar: iOS Get Started

Adaptive Layout

Page 44: Tech webinar: iOS Get Started

Adaptive Layout

‣ iOS 8

‣ Auto Layout

‣ Size Classes

Page 45: Tech webinar: iOS Get Started

Auto Layout

Page 46: Tech webinar: iOS Get Started

Size Classes

Page 47: Tech webinar: iOS Get Started

Size Classes - iPad

Page 48: Tech webinar: iOS Get Started

Size Classes - iPhone 4 - 5S

Page 49: Tech webinar: iOS Get Started

Size Classes iPhone 6+

Page 50: Tech webinar: iOS Get Started

Demo

Page 51: Tech webinar: iOS Get Started

Q&A

Page 52: Tech webinar: iOS Get Started

Thank you!

Page 53: Tech webinar: iOS Get Started

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