iOS Programming

Click here to load reader

  • date post

    10-May-2015
  • Category

    Technology

  • view

    508
  • download

    4

Embed Size (px)

description

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

Transcript of iOS Programming

  • 1.iOS Programmingdive deep into technologies and frameworks Massimo Oliviero Stefano Zanetti

2. Chi siamo Massimo OlivieroMobile Developer & EntrepreneurCappery - the make app companywww.massimooliviero.net - @maxoly Stefano ZanettiApple iOS DeveloperSuperpartes Innovation Campus & H-Farm@Doh__ iOS Programming 3. Agenda Anatomia di un App I design patterns nel framework iOS TechologiesiOS 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 le .m - implementation les (ObjC) .mm - implementation les (ObjC++, C++) .xib - le 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 lapp e le risorse .ipa la versione compressa e sotto DRM del le .appiOS Programming 8. App Sandbox La sandbox un contenitore virtuale dove lapppu leggere e scrivere le Lapp non autorizzata ad accedere ai le al difuori della sandbox Esistono delle directory speciali allinterno dellasandbox dove posizionare i leiOS Programming 9. DirectoriesiOS Programming 10. App LifecycleiOS Programming 11. App Lifecycle UIApplication App Delegate UIWindow UIViewControlleriOS Programming 12. App States iOS Programming 13. Demo iOS Programming 14. Design PatternsiOS Programming 15. Design Patterns Mode View Controller Protocol Delegation Target-Action Notication CenteriOS Programming 16. Model View ControlleriOS Programming 17. Model View ControlleriOS Programming 18. Protocol iOS Programming 19. Target-ActioniOS Programming 20. Notication Center iOS Programming 21. Demo iOS Programming 22. iOS Technologies iOS Programming 23. Layers Cocoa Touch con le funzionalit baseContiene i framework Media i framework per graca, 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 Notication / Local Notication. iAd Framework Map Kit Frameworkhttps://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIKit_Framework/_index.html#//apple_ref/doc/uid/TP40006955iOS Programming 26. Multitasking Finite-Length Task in the Background Local Notications Long-Running Background Tasks iOS Programming 27. Long-Running Background Tasks Audio, per ascoltare un audio in background Location, per tracciare la posizione dellutente Voip, per supportare chiamate voip Newsstand, per scaricare in background icontenuti External, per comunicare con accessori esterniiOS Programming 28. Storyboard E una tecnologia introdotta in iOS 5 Permette di disegnare linterfaccia di tutta lapp inun unico posto (le) Permette di denire le transizioni tra una view elaltra Si bello per, sconsigliato per progetti in team etroppo rigido per dev proiOS 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. Notication Local noticationNotiche locali schedulate dallapp e gestite dalsistema operativo del singolo device. Push Notication (remote notication)Notiche inviate dai server Apple (APNs ApplePush Notication service) su tutti i device dovelapp installata.iOS Programming 31. Push Notication iOS Programming 32. Push Notication 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 FrameworkiOS Programming 35. Map Kit Framework Controllo nativo per integrare le mappe nellapp Utilizza Google Mobile Maps no ad iOS 5.1.1 Da iOS 6 utilizza Apple Map (sig!) Supporta annotazioni, overlays e reversegeocodingiOS Programming 36. Demo iOS Programming 37. Media Graphics Technologies Audio Technologies Video Technologies iOS Programming 38. Graphics Technologies Core Graphics (Quartz) immaginiGraca vettoriale 2D e manipolazione Core Animatione (Quartz)Animazioni delle view di altri oggetti Core Image e immagini sseManipolazione video Core TextText layout e rendering OpenGL ES + GLKit (2D e 3D rendering) iOS Programming 39. Audio Technologies Media Player FrameworkPer accedere alla libreria di iTunes AVFoundation FrameworkAudio playback and recording OpenAL high-quality e positional audioHigh-performance, Core Audio livelloLibreria di basso iOS Programming 40. Video Technologies AVFoundation FrameworkVideo playback and recording Core MediaFramework di basso livello iOS Programming 41. Demo iOS Programming 42. Core Services iCloudSincronizzazione documenti e dati In-App PurchaseAcquisti allinterno dellapp Core Location FrameworkGeo-localizzazione dispositivo Core Data Framework Persistenza, object mapping e object graphiOS Programming 43. Demo iOS Programming 44. Core OS Accelerate frameworkDSP, linear algebra, and image-processing calculations Core Bluetooth frameworkPer interagire con il Bluetooth External Accessory frameworkPer comunicare con accessori esterni iOS Programming 45. grazie, domande? facebook.com/pragmamark @pragmamarkorg http://pragmamark.org Massimo Oliviero Stefano Zanetti