Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Developing Applications on iOS

727 views

Published on

Published in: Technology
  • Be the first to comment

Developing Applications on iOS

  1. 1. Developing Applications on iOSSeptember Francisco Ramos 2011 http://www3.uji.es/~jromero
  2. 2. DevicesIntroduction to iOS iOS Architecture Developing Tools Demos Distribution
  3. 3. Devices iPhone + iPod Touch> 120 M devices sold 250.000 apps available 4.000 M downloads AppStore: centralized sells Users very satisfied Unexpected game platform
  4. 4. Devices iPad 3rd April 2010 Based on iOS Many Accessories from Apple Before distribution was a revolution>FIRST DAY: 300,000 units and 1M apps downl. 1 M units sold in 28 days 20.000 native Apps
  5. 5. Introduction to iOS Operating System and Technologies to create applications for iPad, iPhone iPod touch
  6. 6. Introduction to iOS Code Information Tools to: develop, test and run apps on iOS
  7. 7. Introduction to iOS Specific Components
  8. 8. Introduction to iOS What can I do? Web Apps Native Apps
  9. 9. Introduction to iOS What can I do? Web Make use of Safari Engine: HTML+CSS+Javascript Requires an active connection Natives They are directly installed in the device
  10. 10. Introduction to iOS Web Apps A website that is specifically optimized for the iPhone
  11. 11. Introduction to iOSWeb Apps Cons and Pros You cannot access the all cool Web developers can use theirhardware features of the phone current authoring tools You can use your current web You have to roll your own design and development skills payment system if you want to charge for the app You are not limited to developing on the Mac OS It can be difficult to achieve Your app will run on any device sophisticated UI effects that has a web browser You can fix bugs in real time The development cycle is fast
  12. 12. Introduction to iOS Native Apps Installed on the iPhone App Store
  13. 13. Introduction to iOSNative Apps Cons and Pros You have to pay to become an Millions of registered credit Apple developer card owners are one click away You are at the mercy of the Xcode, Interface Builder and Apple approval process Cocoa Touch framework You have to develop using constitute a pretty sweet Objective-C development environment You can access all the cool You have to develop on a Mac hardware features of the deviceYou can’t release bug fixes in a timely fashionDevelopment cycle slow, testing App Store limitations
  14. 14. Introducción a iOS Using the Reference Library Thousand of documentation pages, tutorials, code, and so on Important be able to find the information Xcode Apple Developer
  15. 15. iOSArchitecture
  16. 16. iOS Architecture Layers Similar to MAC OS X
  17. 17. iOS Architecture Cocoa Touch Layer Infraestructure fundamental for Apps: •UIKit •Windows •Views •Controls •Foundation •Collections •File management
  18. 18. Cocoa Touch Layer Features Frameworks Multitasking Data Protection Address Book UI Local and Apple Push Event Kit UI Notifications Game Kit Recognize Gestures iAd Shared files support Map Kit Peer-to-Peer Server Message UI View Controllers UIKit External Displays Support
  19. 19. iOS Architecture Media Layer Support technologies for: •2D and 3D rendering •Audio •Video •Animación C and Objective-C based
  20. 20. Media Layer Features Frameworks Assets Library AV Foundation Core Audio Core Graphics Graphics Technologies Core Text Audio Technologies Core Video Video Technologies Image IO Media Player Open GL ES Quartz Core
  21. 21. iOS Architecture Core OS and Core Services Fundamental Interfaces of iOS: •File access •Basic data types •Network sockets •So on... C-Based
  22. 22. iOS Developing Tools
  23. 23. iOS Developing Tools Dashcode Web Applications Dual Develop Assisted Design Data Access Debugging Tools
  24. 24. iOS Developing Tools Web InspectorIn Safari and DashcodeObjectives: debug and optimizationSeveral measuresPowerfulIntuitive
  25. 25. iOS Developing Tools iPhone Simulator WebKit Native Applications Multi-touch Integrated Tools: - Develop - Debug - Optimization
  26. 26. iOS Developing Tools Native Applications Xcode IDE on gcc and gdb Templates Settings Management
  27. 27. iOS Developing Tools Interface Builder GUI Design WYSIWYG Orientations Support Standard ControlsDefault Control Settings
  28. 28. iOS Developing Tools Instruments Performance Monitor Debug (Memory Leaks) Threads Detail of Events User-Specific Instruments Both simulator and device
  29. 29. iOS Developing ToolsObjetive-C Object Oriented C Extension Not so related to C++ (but compatible) Inspired in Smalltalk Java got many concepts from Objective-C
  30. 30. iOS Developing Tools Objetive-C
  31. 31. iOS Developing Tools Objetive-C: Class Definition Estructuraden in two parts: •Interface (@interface) ✦File .h •Implementation (@implementation) ✦File .m (Objective-C) or .mm (Objective-C++)
  32. 32. DistributioniOS Developer University Program• Free Program specifically designed for Universities• Teams until 200 students• Access to resources for the development of Apps• Test on hardware(iPad, iPhone, iPod Touch)• Sharing Apps among the team members

×