Your SlideShare is downloading. ×
  • Like
iOS Programming
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

iOS Programming

  • 447 views
Published

Introduzione alle tecnologie e ai framework dell'iOS SDK. Slide presentate al secondo evento pragma mark.

Introduzione alle tecnologie e ai framework dell'iOS SDK. Slide presentate al secondo evento pragma mark.

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
447
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
16
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. iOS Programmingdive deep into technologies and frameworks Massimo Oliviero § Stefano Zanetti
  • 2. Chi siamo• Massimo Oliviero Mobile Developer & Entrepreneur Cappery - the make app company www.massimooliviero.net - @maxoly• Stefano Zanetti Apple iOS Developer Superpartes Innovation Campus & H-Farm @Doh__ iOS Programming
  • 3. Agenda• Anatomia di un App• I design patterns nel framework• iOS Techologies iOS Programming
  • 4. Code examples• PMStarterKit Pragma Mark Starter Kit https://github.com/pragmamark/PMStarterKit• PMTouch Pragma Mark iOS General Purpose Library https://github.com/pragmamark/PMTouch iOS Programming
  • 5. Anatomia di un App iOS Programming
  • 6. File types• .h - header file• .m - implementation files (ObjC)• .mm - implementation files (ObjC++, C++)• .xib - file interfaccia (xml)• .png (...) - immagini, audio e video• .plist - settings (xml)• .storyboards - view e controller storyboard iOS Programming
  • 7. File types• .app è un bundle che contiene l’app e le risorse• .ipa è la versione compressa e sotto DRM del file .app iOS Programming
  • 8. App Sandbox• La sandbox è un contenitore virtuale dove l’app può leggere e scrivere file• L’app non è autorizzata ad accedere ai file al di fuori della sandbox• Esistono delle directory speciali all’interno della sandbox dove posizionare i file iOS Programming
  • 9. Directories iOS Programming
  • 10. App Lifecycle iOS Programming
  • 11. App Lifecycle• UIApplication• App Delegate• UIWindow• UIViewController iOS Programming
  • 12. App States iOS Programming
  • 13. Demo iOS Programming
  • 14. Design Patterns iOS Programming
  • 15. Design Patterns• Mode View Controller• Protocol• Delegation• Target-Action• Notification Center iOS Programming
  • 16. Model View Controller iOS Programming
  • 17. Model View Controller iOS Programming
  • 18. Protocol iOS Programming
  • 19. Target-Action iOS Programming
  • 20. Notification Center iOS Programming
  • 21. Demo iOS Programming
  • 22. iOS Technologies iOS Programming
  • 23. Layers• Cocoa Touch con le funzionalità base Contiene i framework• Media i framework per grafica, audio e video. Contiene• Core Services per i servizi di sistema. Contiene i framework• Core OSframework di basso livello. Contiene i iOS Programming
  • 24. Layers iOS Programming
  • 25. CocoaTouch• Multitasking• Storyboards• Standard System View Controller• Push Notification / Local Notification.• iAd Framework• Map Kit Frameworkhttps://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIKit_Framework/_index.html#//apple_ref/doc/uid/TP40006955 iOS Programming
  • 26. Multitasking• Finite-Length Task in the Background• Local Notifications• Long-Running Background Tasks iOS Programming
  • 27. Long-Running Background Tasks• Audio, per ascoltare un audio in background• Location, per tracciare la posizione dell’utente• Voip, per supportare chiamate voip• Newsstand, per scaricare in background i contenuti• External, per comunicare con accessori esterni iOS Programming
  • 28. Storyboard• E’ una tecnologia introdotta in iOS 5• Permette di disegnare l’interfaccia di tutta l’app in un unico posto (file)• Permette di definire le transizioni tra una view e l’altra• Si bello però, sconsigliato per progetti in team e troppo rigido per dev pro iOS Programming
  • 29. Standard System View Controllers • Address Book UI contatti della rubrica Per visualizzare e manipolare • Event Kit UImanipolare eventi del calendario Per visualizzare e • Message UI e messaggi sms Per inviare email • Media Player Per visualizzare e recuperare video ed immagini iOS Programming
  • 30. Notification• Local notification Notifiche locali schedulate dall’app e gestite dal sistema operativo del singolo device.• Push Notification (remote notification) Notifiche inviate dai server Apple (APNs Apple Push Notification service) su tutti i device dove l’app è installata. iOS Programming
  • 31. Push Notification iOS Programming
  • 32. Push Notification iOS Programming
  • 33. iAd Framework• Advertising network gestito da Apple• Integrato in iOS 4 e successivi• Semplice: solo due classi• ADBannerView, classico banner (es. 320x50)• ADInterstitialAd, full-screen banner (solo iPad) iOS Programming
  • 34. iAd Framework iOS Programming
  • 35. Map Kit Framework• Controllo nativo per integrare le mappe nell’app• Utilizza Google Mobile Maps fino ad iOS 5.1.1• Da iOS 6 utilizza Apple Map (sig!)• Supporta annotazioni, overlays e reverse geocoding iOS Programming
  • 36. Demo iOS Programming
  • 37. Media• Graphics Technologies• Audio Technologies• Video Technologies iOS Programming
  • 38. Graphics Technologies• Core Graphics (Quartz) immagini Grafica vettoriale 2D e manipolazione• Core Animatione (Quartz) Animazioni delle view di altri oggetti• Core Image e immagini fisse Manipolazione video• Core Text Text layout e rendering• OpenGL ES + GLKit (2D e 3D rendering) iOS Programming
  • 39. Audio Technologies• Media Player Framework Per accedere alla libreria di iTunes• AVFoundation Framework Audio playback and recording• OpenAL high-quality e positional audio High-performance,• Core Audio livello Libreria di basso iOS Programming
  • 40. Video Technologies• AVFoundation Framework Video playback and recording• Core Media Framework di basso livello iOS Programming
  • 41. Demo iOS Programming
  • 42. Core Services• iCloud Sincronizzazione documenti e dati• In-App Purchase Acquisti all’interno dell’app• Core Location Framework Geo-localizzazione dispositivo• Core Data Framework Persistenza, object mapping e object graph iOS Programming
  • 43. Demo iOS Programming
  • 44. Core OS• Accelerate framework DSP, linear algebra, and image-processing calculations• Core Bluetooth framework Per interagire con il Bluetooth• External Accessory framework Per comunicare con accessori esterni iOS Programming
  • 45. grazie, domande? facebook.com/pragmamark @pragmamarkorg http://pragmamark.org Massimo Oliviero § Stefano Zanetti