SlideShare a Scribd company logo
Developing Applications on iOS




September           Francisco Ramos
   2011     http://www3.uji.es/~jromero
Devices

Introduction to iOS

 iOS Architecture

 Developing Tools

      Demos

   Distribution
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
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
Introduction to iOS

     Operating System and Technologies
           to create applications
        for iPad, iPhone iPod touch
Introduction to iOS




                     Code
                 Information
                   Tools to:
      develop, test and run apps on iOS
Introduction to iOS



            Specific Components
Introduction to iOS

       What can I do?


         Web Apps

        Native Apps
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
Introduction to iOS


     Web Apps           A website that is
                      specifically optimized
                         for the iPhone
Introduction to iOS
Web Apps Cons and Pros
 You cannot access the all cool Web developers can use their
hardware 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
Introduction to iOS


    Native Apps       Installed on the
                          iPhone
                         App Store
Introduction to iOS
Native 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 device
You can’t release bug fixes in a
        timely fashion
Development cycle slow, testing
     App Store limitations
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
iOS
Architecture
iOS Architecture


                  Layers
           Similar to MAC OS X
iOS Architecture


            Cocoa Touch Layer

                     Infraestructure
                     fundamental for Apps:
                       •UIKit
                         •Windows
                         •Views
                         •Controls
                       •Foundation
                         •Collections
                         •File management
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
iOS Architecture


               Media Layer


                     Support technologies for:
                      •2D and 3D rendering
                      •Audio
                      •Video
                      •Animación
                     C and Objective-C based
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
iOS Architecture


         Core OS and Core Services

                      Fundamental Interfaces of
                      iOS:
                        •File access
                        •Basic data types
                        •Network sockets
                        •So on...
                      C-Based
iOS Developing Tools
iOS Developing Tools


         Dashcode


                       Web Applications
                        Dual Develop
                       Assisted Design
                        Data Access
                       Debugging Tools
iOS Developing Tools
      Web Inspector

In Safari and Dashcode
Objectives: debug and optimization
Several measures
Powerful
Intuitive
iOS Developing Tools

     iPhone Simulator


        WebKit
  Native Applications
      Multi-touch
   Integrated Tools:
       - Develop
        - Debug
    - Optimization
iOS Developing Tools

                   Native Applications
    Xcode          IDE on gcc and gdb
                        Templates
                  Settings Management
iOS Developing Tools


     Interface Builder



      GUI Design
      WYSIWYG
 Orientations Support
  Standard Controls
Default Control Settings
iOS Developing Tools

    Instruments




           Performance Monitor
          Debug (Memory Leaks)
                 Threads
             Detail of Events
         User-Specific Instruments
         Both simulator and device
iOS Developing Tools




Objetive-C


             Object Oriented
               C Extension
  Not so related to C++ (but compatible)
           Inspired in Smalltalk
 Java got many concepts from Objective-C
iOS Developing Tools
                       Objetive-C
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++)
Distribution
iOS 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
Developing Applications on iOS
Developing Applications on iOS

More Related Content

PPT
ios basics
PPTX
Layer architecture of ios (1)
PDF
iOS App Architecture
PPTX
PPTX
Apple iOS Technology Market
PPTX
Apple - what's new in iOS 10, watchOS 3 & tvOS 10
PDF
Session 1 - Introduction to iOS 7 and SDK
PPTX
iOS platform
ios basics
Layer architecture of ios (1)
iOS App Architecture
Apple iOS Technology Market
Apple - what's new in iOS 10, watchOS 3 & tvOS 10
Session 1 - Introduction to iOS 7 and SDK
iOS platform

What's hot (20)

PPTX
Introducción a iOS
PDF
I phone programming project report
PPT
iOS application development
PDF
Innovations in Mobile Testing: Expanding Your Test Plan
PPT
Android ppt
PDF
HiUED 前端/web 發展和體驗
PDF
iCloud
ODP
Synapse india reviews on mobile application development
PDF
Fun with Enterprise iOS Apps
PPTX
Android & IOS
PPTX
Apple iOS Introduction
PDF
Creating Mobile Content Using Flash
PPTX
Mobile Application testing- All you want to know to get started!!
PPTX
Ios operating system
PDF
Adobe AIR Mobile development for Android and PlayBook
PPTX
iOS App Development Presented by Edifyself
PDF
History of iOS
PDF
Core competence doc
PPTX
Ios seminar
PDF
Mobile development
Introducción a iOS
I phone programming project report
iOS application development
Innovations in Mobile Testing: Expanding Your Test Plan
Android ppt
HiUED 前端/web 發展和體驗
iCloud
Synapse india reviews on mobile application development
Fun with Enterprise iOS Apps
Android & IOS
Apple iOS Introduction
Creating Mobile Content Using Flash
Mobile Application testing- All you want to know to get started!!
Ios operating system
Adobe AIR Mobile development for Android and PlayBook
iOS App Development Presented by Edifyself
History of iOS
Core competence doc
Ios seminar
Mobile development
Ad

Viewers also liked (20)

ODP
MobileCity:Introduction to IOS
PPTX
iOS development introduction
PPT
Symbian OS Architecture
PDF
Android architecture
PPTX
Windows Phone architecture and tools
PPTX
How & where to start iOS development?
PDF
Android Architecture
PPTX
Introduction to iOS Apps Development
PPT
Mobile Operating System
PPTX
iOS Architecture
PPT
iOS Introduction For Very Beginners
PPTX
Introduction to iOS Development
PDF
Никита Корчагин - Introduction to Apple iOS Development.
PPTX
Symbian OS Application Development
PDF
iOS Development - A Beginner Guide
ODP
Symbian OS
PDF
Linux kernel architecture
PPTX
Presentation on iOS
PPT
Linux architecture
PDF
The linux networking architecture
MobileCity:Introduction to IOS
iOS development introduction
Symbian OS Architecture
Android architecture
Windows Phone architecture and tools
How & where to start iOS development?
Android Architecture
Introduction to iOS Apps Development
Mobile Operating System
iOS Architecture
iOS Introduction For Very Beginners
Introduction to iOS Development
Никита Корчагин - Introduction to Apple iOS Development.
Symbian OS Application Development
iOS Development - A Beginner Guide
Symbian OS
Linux kernel architecture
Presentation on iOS
Linux architecture
The linux networking architecture
Ad

Similar to Developing Applications on iOS (20)

KEY
iPhone OS: The Next Killer Platform
KEY
I os dev_insights
PDF
Enterprise iPad Development Without Notes
PPTX
Lecture1
PDF
ID-ObjectiveConference 2012 - Introduction to iOS Development
PPTX
How to become iPhone developer
KEY
Programing for the iPhone
PDF
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
PDF
Preparing for Release to the App Store
PDF
mobile technologies iOS
PPT
iPhone Programming
PPTX
iOS intro
PDF
iPhone OS Platform
PPTX
iOS Developer Concept introduction
PDF
iOS Development Survival Guide for the .NET Guy
PPTX
PDF
MSR iOS Tranining
PPTX
Presentation
PDF
Developer's got talent iPhone
PPTX
Apple iOS
iPhone OS: The Next Killer Platform
I os dev_insights
Enterprise iPad Development Without Notes
Lecture1
ID-ObjectiveConference 2012 - Introduction to iOS Development
How to become iPhone developer
Programing for the iPhone
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
Preparing for Release to the App Store
mobile technologies iOS
iPhone Programming
iOS intro
iPhone OS Platform
iOS Developer Concept introduction
iOS Development Survival Guide for the .NET Guy
MSR iOS Tranining
Presentation
Developer's got talent iPhone
Apple iOS

More from Francisco Ramos (13)

PDF
Esri Developer Summit - Berlin 2016 - Smart Beetles
PDF
Esri Spain Conference 2016 - Are you a Smart Citizen? Try Smart Beetles
PDF
ESRI User Conference 2016 - Providing Healthy Areas By Using Sensors Within a...
PDF
Creating a World Map of Feelings
PDF
Edulearn 2015 - Emotional Intelligence Assessment in Children by using a Mobi...
PDF
Lightning talk Geo Meetup Lisbon - AGILE 2015 - Organized by ESRI
PDF
Emotional Apps - Jornadas de Puertas Abiertas Universitat Jaume I
PDF
Lighting talk - Conferencia ESRI España 2014
PDF
ESRI User Conference 2014 - A Location Aware Mobile Tool for Direct and Indir...
PDF
ESRI User Conference 2014 - Emotions and technology: me make it possible
PDF
ESRI. Conferencia Española 2012. Una aplicación móvil para acceder a datos cl...
PDF
Ceig 2010. Teselación y Simulación de Mar
PDF
MeteoClimatic. ESRI EUROPEAN USER CONFERENCE 2011
Esri Developer Summit - Berlin 2016 - Smart Beetles
Esri Spain Conference 2016 - Are you a Smart Citizen? Try Smart Beetles
ESRI User Conference 2016 - Providing Healthy Areas By Using Sensors Within a...
Creating a World Map of Feelings
Edulearn 2015 - Emotional Intelligence Assessment in Children by using a Mobi...
Lightning talk Geo Meetup Lisbon - AGILE 2015 - Organized by ESRI
Emotional Apps - Jornadas de Puertas Abiertas Universitat Jaume I
Lighting talk - Conferencia ESRI España 2014
ESRI User Conference 2014 - A Location Aware Mobile Tool for Direct and Indir...
ESRI User Conference 2014 - Emotions and technology: me make it possible
ESRI. Conferencia Española 2012. Una aplicación móvil para acceder a datos cl...
Ceig 2010. Teselación y Simulación de Mar
MeteoClimatic. ESRI EUROPEAN USER CONFERENCE 2011

Recently uploaded (20)

PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Machine learning based COVID-19 study performance prediction
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPT
Teaching material agriculture food technology
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Approach and Philosophy of On baking technology
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Cloud computing and distributed systems.
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Encapsulation theory and applications.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
cuic standard and advanced reporting.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Machine learning based COVID-19 study performance prediction
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Teaching material agriculture food technology
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
MIND Revenue Release Quarter 2 2025 Press Release
Diabetes mellitus diagnosis method based random forest with bat algorithm
Approach and Philosophy of On baking technology
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Cloud computing and distributed systems.
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Reach Out and Touch Someone: Haptics and Empathic Computing
Encapsulation theory and applications.pdf
Spectral efficient network and resource selection model in 5G networks
cuic standard and advanced reporting.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf

Developing Applications on iOS

  • 1. Developing Applications on iOS September Francisco Ramos 2011 http://www3.uji.es/~jromero
  • 2. Devices Introduction to iOS iOS Architecture Developing Tools Demos Distribution
  • 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. 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. Introduction to iOS Operating System and Technologies to create applications for iPad, iPhone iPod touch
  • 6. Introduction to iOS Code Information Tools to: develop, test and run apps on iOS
  • 7. Introduction to iOS Specific Components
  • 8. Introduction to iOS What can I do? Web Apps Native Apps
  • 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. Introduction to iOS Web Apps A website that is specifically optimized for the iPhone
  • 11. Introduction to iOS Web Apps Cons and Pros You cannot access the all cool Web developers can use their hardware 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. Introduction to iOS Native Apps Installed on the iPhone App Store
  • 13. Introduction to iOS Native 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 device You can’t release bug fixes in a timely fashion Development cycle slow, testing App Store limitations
  • 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
  • 16. iOS Architecture Layers Similar to MAC OS X
  • 17. iOS Architecture Cocoa Touch Layer Infraestructure fundamental for Apps: •UIKit •Windows •Views •Controls •Foundation •Collections •File management
  • 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. iOS Architecture Media Layer Support technologies for: •2D and 3D rendering •Audio •Video •Animación C and Objective-C based
  • 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. iOS Architecture Core OS and Core Services Fundamental Interfaces of iOS: •File access •Basic data types •Network sockets •So on... C-Based
  • 23. iOS Developing Tools Dashcode Web Applications Dual Develop Assisted Design Data Access Debugging Tools
  • 24. iOS Developing Tools Web Inspector In Safari and Dashcode Objectives: debug and optimization Several measures Powerful Intuitive
  • 25. iOS Developing Tools iPhone Simulator WebKit Native Applications Multi-touch Integrated Tools: - Develop - Debug - Optimization
  • 26. iOS Developing Tools Native Applications Xcode IDE on gcc and gdb Templates Settings Management
  • 27. iOS Developing Tools Interface Builder GUI Design WYSIWYG Orientations Support Standard Controls Default Control Settings
  • 28. iOS Developing Tools Instruments Performance Monitor Debug (Memory Leaks) Threads Detail of Events User-Specific Instruments Both simulator and device
  • 29. iOS Developing Tools Objetive-C Object Oriented C Extension Not so related to C++ (but compatible) Inspired in Smalltalk Java got many concepts from Objective-C
  • 30. iOS Developing Tools Objetive-C
  • 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. Distribution iOS 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