SlideShare uma empresa Scribd logo
1 de 34
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

Mais conteúdo relacionado

Mais procurados

I phone programming project report
I phone programming project reportI phone programming project report
I phone programming project reportDhara Shah
 
Innovations in Mobile Testing: Expanding Your Test Plan
Innovations in Mobile Testing: Expanding Your Test PlanInnovations in Mobile Testing: Expanding Your Test Plan
Innovations in Mobile Testing: Expanding Your Test PlanJosiah Renaudin
 
HiUED 前端/web 發展和體驗
HiUED 前端/web 發展和體驗HiUED 前端/web 發展和體驗
HiUED 前端/web 發展和體驗Bobby Chen
 
Synapse india reviews on mobile application development
Synapse india reviews on mobile application developmentSynapse india reviews on mobile application development
Synapse india reviews on mobile application developmentsaritasingh19866
 
Fun with Enterprise iOS Apps
Fun with Enterprise iOS AppsFun with Enterprise iOS Apps
Fun with Enterprise iOS AppsTechWell
 
Apple iOS Introduction
Apple iOS IntroductionApple iOS Introduction
Apple iOS IntroductionPratik Vyas
 
Creating Mobile Content Using Flash
Creating Mobile Content Using FlashCreating Mobile Content Using Flash
Creating Mobile Content Using Flashpaultrani
 
Mobile Application testing- All you want to know to get started!!
Mobile Application testing- All you want to know to get started!!Mobile Application testing- All you want to know to get started!!
Mobile Application testing- All you want to know to get started!!Neha Thakur
 
Adobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBookAdobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBookMihai Corlan
 
iOS App Development Presented by Edifyself
iOS App Development Presented by EdifyselfiOS App Development Presented by Edifyself
iOS App Development Presented by EdifyselfEdifyself
 
History of iOS
History of iOSHistory of iOS
History of iOSpyro2927
 

Mais procurados (20)

Introducción a iOS
Introducción a iOSIntroducción a iOS
Introducción a iOS
 
I phone programming project report
I phone programming project reportI phone programming project report
I phone programming project report
 
iOS application development
iOS application developmentiOS application development
iOS application development
 
Innovations in Mobile Testing: Expanding Your Test Plan
Innovations in Mobile Testing: Expanding Your Test PlanInnovations in Mobile Testing: Expanding Your Test Plan
Innovations in Mobile Testing: Expanding Your Test Plan
 
Android ppt
Android pptAndroid ppt
Android ppt
 
HiUED 前端/web 發展和體驗
HiUED 前端/web 發展和體驗HiUED 前端/web 發展和體驗
HiUED 前端/web 發展和體驗
 
iCloud
iCloudiCloud
iCloud
 
Synapse india reviews on mobile application development
Synapse india reviews on mobile application developmentSynapse india reviews on mobile application development
Synapse india reviews on mobile application development
 
Fun with Enterprise iOS Apps
Fun with Enterprise iOS AppsFun with Enterprise iOS Apps
Fun with Enterprise iOS Apps
 
Android & IOS
Android & IOSAndroid & IOS
Android & IOS
 
Apple iOS Introduction
Apple iOS IntroductionApple iOS Introduction
Apple iOS Introduction
 
Creating Mobile Content Using Flash
Creating Mobile Content Using FlashCreating Mobile Content Using Flash
Creating Mobile Content Using Flash
 
Mobile Application testing- All you want to know to get started!!
Mobile Application testing- All you want to know to get started!!Mobile Application testing- All you want to know to get started!!
Mobile Application testing- All you want to know to get started!!
 
Ios operating system
Ios operating systemIos operating system
Ios operating system
 
Adobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBookAdobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBook
 
iOS App Development Presented by Edifyself
iOS App Development Presented by EdifyselfiOS App Development Presented by Edifyself
iOS App Development Presented by Edifyself
 
History of iOS
History of iOSHistory of iOS
History of iOS
 
Core competence doc
Core competence docCore competence doc
Core competence doc
 
Ios seminar
Ios seminarIos seminar
Ios seminar
 
Mobile development
Mobile developmentMobile development
Mobile development
 

Destaque

MobileCity:Introduction to IOS
MobileCity:Introduction to IOSMobileCity:Introduction to IOS
MobileCity:Introduction to IOSAllan Davis
 
iOS development introduction
iOS development introduction iOS development introduction
iOS development introduction paramisoft
 
Windows Phone architecture and tools
Windows Phone architecture and toolsWindows Phone architecture and tools
Windows Phone architecture and toolsBadoo
 
How & where to start iOS development?
How & where to start iOS development?How & where to start iOS development?
How & where to start iOS development?Kazi Mohammad Ekram
 
Android Architecture
Android ArchitectureAndroid Architecture
Android ArchitectureLope Emano
 
Introduction to iOS Apps Development
Introduction to iOS Apps DevelopmentIntroduction to iOS Apps Development
Introduction to iOS Apps DevelopmentProf. Erwin Globio
 
iOS Architecture
iOS ArchitectureiOS Architecture
iOS ArchitectureJacky Lian
 
Introduction to iOS Development
Introduction to iOS DevelopmentIntroduction to iOS Development
Introduction to iOS DevelopmentAsim Rais Siddiqui
 
Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.DataArt
 
Symbian OS Application Development
Symbian OS Application DevelopmentSymbian OS Application Development
Symbian OS Application DevelopmentAbhi Arya
 
iOS Development - A Beginner Guide
iOS Development - A Beginner GuideiOS Development - A Beginner Guide
iOS Development - A Beginner GuideAndri Yadi
 
Linux architecture
Linux architectureLinux architecture
Linux architecturemcganesh
 
The linux networking architecture
The linux networking architectureThe linux networking architecture
The linux networking architecturehugo lu
 

Destaque (20)

MobileCity:Introduction to IOS
MobileCity:Introduction to IOSMobileCity:Introduction to IOS
MobileCity:Introduction to IOS
 
iOS development introduction
iOS development introduction iOS development introduction
iOS development introduction
 
Symbian OS Architecture
Symbian OS ArchitectureSymbian OS Architecture
Symbian OS Architecture
 
Android architecture
Android architectureAndroid architecture
Android architecture
 
Windows Phone architecture and tools
Windows Phone architecture and toolsWindows Phone architecture and tools
Windows Phone architecture and tools
 
How & where to start iOS development?
How & where to start iOS development?How & where to start iOS development?
How & where to start iOS development?
 
Android Architecture
Android ArchitectureAndroid Architecture
Android Architecture
 
Introduction to iOS Apps Development
Introduction to iOS Apps DevelopmentIntroduction to iOS Apps Development
Introduction to iOS Apps Development
 
Mobile Operating System
Mobile Operating SystemMobile Operating System
Mobile Operating System
 
iOS Architecture
iOS ArchitectureiOS Architecture
iOS Architecture
 
iOS Introduction For Very Beginners
iOS Introduction For Very BeginnersiOS Introduction For Very Beginners
iOS Introduction For Very Beginners
 
Introduction to iOS Development
Introduction to iOS DevelopmentIntroduction to iOS Development
Introduction to iOS Development
 
Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.
 
Symbian OS Application Development
Symbian OS Application DevelopmentSymbian OS Application Development
Symbian OS Application Development
 
iOS Development - A Beginner Guide
iOS Development - A Beginner GuideiOS Development - A Beginner Guide
iOS Development - A Beginner Guide
 
Symbian OS
Symbian OSSymbian OS
Symbian OS
 
Linux kernel architecture
Linux kernel architectureLinux kernel architecture
Linux kernel architecture
 
Presentation on iOS
Presentation on iOSPresentation on iOS
Presentation on iOS
 
Linux architecture
Linux architectureLinux architecture
Linux architecture
 
The linux networking architecture
The linux networking architectureThe linux networking architecture
The linux networking architecture
 

Semelhante a Developing Applications on iOS

I os dev_insights
I os dev_insightsI os dev_insights
I os dev_insightsMarkus Kopf
 
ID-ObjectiveConference 2012 - Introduction to iOS Development
ID-ObjectiveConference 2012 - Introduction to iOS DevelopmentID-ObjectiveConference 2012 - Introduction to iOS Development
ID-ObjectiveConference 2012 - Introduction to iOS DevelopmentAndri Yadi
 
iOS Developer Concept introduction
iOS Developer Concept introductioniOS Developer Concept introduction
iOS Developer Concept introductionBanyapon Poolsawas
 
iOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET GuyiOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET GuyNick Landry
 
Road Map to iOS Development
Road Map to iOS DevelopmentRoad Map to iOS Development
Road Map to iOS DevelopmentHilal Baig
 
How to Choose the Best Platform for iOS App Development?
How to Choose the Best Platform for iOS App Development?How to Choose the Best Platform for iOS App Development?
How to Choose the Best Platform for iOS App Development?SemaphoreSoftware1
 
How Do I Pick the Best Platform for an iOS App?
How Do I Pick the Best Platform for an iOS App?How Do I Pick the Best Platform for an iOS App?
How Do I Pick the Best Platform for an iOS App?SemaphoreSoftware1
 
Introduction to Mobile Development
Introduction to Mobile DevelopmentIntroduction to Mobile Development
Introduction to Mobile DevelopmentPragnesh Vaghela
 
Hybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJSHybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJSZvika Epstein
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with IonicMaulik Bamania
 
The Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentThe Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentNick Landry
 
iPhone OS: The Next Killer Platform
iPhone OS: The Next Killer PlatformiPhone OS: The Next Killer Platform
iPhone OS: The Next Killer PlatformChristopher Bartling
 
Titanium Overview (Mobile March 2011)
Titanium Overview (Mobile March 2011)Titanium Overview (Mobile March 2011)
Titanium Overview (Mobile March 2011)Kevin Whinnery
 
Step-by-Step Guide to Developing a Successful iOS App.docx
Step-by-Step Guide to Developing a Successful iOS App.docxStep-by-Step Guide to Developing a Successful iOS App.docx
Step-by-Step Guide to Developing a Successful iOS App.docxBytes Technolab Inc.
 
Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0Jeff Haynie
 
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator TitaniumMobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator TitaniumJeff Haynie
 
Mobile application development
Mobile application developmentMobile application development
Mobile application developmentrohithn
 
Step-by-Step Guide to Developing a Successful iOS App.pdf
Step-by-Step Guide to Developing a Successful iOS App.pdfStep-by-Step Guide to Developing a Successful iOS App.pdf
Step-by-Step Guide to Developing a Successful iOS App.pdfBytes Technolab Inc.
 

Semelhante a Developing Applications on iOS (20)

I os dev_insights
I os dev_insightsI os dev_insights
I os dev_insights
 
ID-ObjectiveConference 2012 - Introduction to iOS Development
ID-ObjectiveConference 2012 - Introduction to iOS DevelopmentID-ObjectiveConference 2012 - Introduction to iOS Development
ID-ObjectiveConference 2012 - Introduction to iOS Development
 
iOS Developer Concept introduction
iOS Developer Concept introductioniOS Developer Concept introduction
iOS Developer Concept introduction
 
iOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET GuyiOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET Guy
 
Road Map to iOS Development
Road Map to iOS DevelopmentRoad Map to iOS Development
Road Map to iOS Development
 
How to Choose the Best Platform for iOS App Development?
How to Choose the Best Platform for iOS App Development?How to Choose the Best Platform for iOS App Development?
How to Choose the Best Platform for iOS App Development?
 
How Do I Pick the Best Platform for an iOS App?
How Do I Pick the Best Platform for an iOS App?How Do I Pick the Best Platform for an iOS App?
How Do I Pick the Best Platform for an iOS App?
 
Introduction to Mobile Development
Introduction to Mobile DevelopmentIntroduction to Mobile Development
Introduction to Mobile Development
 
Hybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJSHybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJS
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
 
The Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentThe Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App Development
 
iPhone OS: The Next Killer Platform
iPhone OS: The Next Killer PlatformiPhone OS: The Next Killer Platform
iPhone OS: The Next Killer Platform
 
Titanium Overview (Mobile March 2011)
Titanium Overview (Mobile March 2011)Titanium Overview (Mobile March 2011)
Titanium Overview (Mobile March 2011)
 
Mobile Learning Development Tools
Mobile Learning Development ToolsMobile Learning Development Tools
Mobile Learning Development Tools
 
Step-by-Step Guide to Developing a Successful iOS App.docx
Step-by-Step Guide to Developing a Successful iOS App.docxStep-by-Step Guide to Developing a Successful iOS App.docx
Step-by-Step Guide to Developing a Successful iOS App.docx
 
Mobile for the rest of us
Mobile for the rest of usMobile for the rest of us
Mobile for the rest of us
 
Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0
 
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator TitaniumMobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 
Step-by-Step Guide to Developing a Successful iOS App.pdf
Step-by-Step Guide to Developing a Successful iOS App.pdfStep-by-Step Guide to Developing a Successful iOS App.pdf
Step-by-Step Guide to Developing a Successful iOS App.pdf
 

Mais de Francisco Ramos

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

Mais de Francisco Ramos (13)

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

Último

Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Último (20)

Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 

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