Objetivo del Taller
Este taller le enseñará lo que necesita saber
sobre las herramientas para crear aplicaciones en
la plataforma iOS.
Introducción al desarrollo de iOS!
¿Que es iOS?
Es el sistema operativo que se ejecuta en los todos los dispositivos
mobiles de Apple.
Introducción al desarrollo de iOS!
Consideraciones en el desarrollo de iOS.
Teclado pequeño.
Pantalla pequeña.
Version universal.
Almacenamiento limitado.
Conexión impredecible.
Modos de uso.
Introducción al desarrollo de iOS!
Arquitectura de iOS.
Cocoa Touch!
Interfaz de usuario.
Manejo de eventos Touch.
Manejo de interacciones y gestos.
Integración con los datos.
Media!
Soporte para gráficos.
Soporte para audio.
Soporte para video.
Core OS!
Acceso Bluetooth.
Conexiones de terceros por puerto serial.
Servicios de seguridad
Servicios de sistema y redes.
Core Services!
iCloud.
ARC.
Block objects.
In-App Purchase
Core Data
!
Core Foundation
Foundation!
Event Kit
Core Location!
Core Motion
Newsstand
Pass Kit
Quick Look
Social!
Store Kit
System Configuration!
The Core OS Layer
Accelerate
Core Bluetooth
External Accessory
Security
System
UIKit!
Map Kit!
Game Kit
Message UI/Address Book UI/Event Kit UI
iAd
The Media Layer
AV Foundation
Core Audio
Core Image
Core Graphics
Core Text
Image I/O
Media Player
OpenGL ES
Quartz Core
The Core Services Layer
Accounts
Address Book
CFNetwork!
Core Data
Introducción al desarrollo de iOS!
Arquitectura de iOS.
Introducción al desarrollo de iOS!
Application Lifecycle (Demo).
App delegate!
Not Running (No ha sido lanzada)
Inactive(Al frente sin eventos)
Active(Al frente con eventos)
Background(Al fondo ejecutando código)
Suspended(Al fondo sin ejecutar código)
Introducción al desarrollo de iOS!
Estructura de una aplicación en iOS.
Modelo: !
Los datos y objetos/entidades que se manejan.
Vista:!
Las vistas utilizadas y los elementos de interface.
Controlador:
El componente que permite la interacción entre el modelo y la
interfaz de usuario.
Introducción al desarrollo de iOS!
Apple App Store
Plataforma centralizada de distribución.
Facil acceso a desarrolladores.
Proceso de aprobación y calidad por apple.
Soporta todos los dispositivos.
Seguridad de la aplicación y usuarios.
Objective-C Básico para el
Desarrollo en iOS.
Objective-C Básico para iOS.!
Conceptos basicos de POO.
Clase
Subclase
Superclase
Singleton
Objeto
Instancia
Intanciacion
Metodo de Instancia
Categoria
Metodo de Clase
Mensaje
Variable de instancia
Variable
Parametro
Propiedad
Protocolo
Self
Objective-C Básico para iOS.!
Historia
Smalltalk es desarrollado por Alan Kay
Creado a inicios de los 80’s por Brad Cox y Tom Love.
NeXT obtuvo las licencias del lenguaje.
NeXTStep utilizo en lenguaje para la creación del mismo.
Objective C se vuelve el lenguaje de desarrollo para Apple.
Swift nace como remplazo gradual de Objective C
Objective-C Básico para iOS.!
Convenciones. (demo)
Nombres de clase debe ser únicos.
Nombres de métodos deben ser expresivos.
Variables locales deben ser únicas dentro del mismo scope.
Creación de objetos debe seguir convenciones.
Objective-C Básico para iOS.!
Sintaxis Basica
Creación de Interface e implementación. (archivos .h .m)
Definición de clases.
Definición de propiedades y accesos.
Declaración de métodos. (con y sin parámetros.)
Implementación de métodos.
Objective-C Básico para iOS.!
Sintaxis Basica(demo)
Utilizando e implementando objetos.
Iniciación de instancias de clases.
MyObject *o = [[MyObject alloc] initWithString:myString];
MyObject *o = [[MyObject alloc] init];
Objective-C Básico para iOS.!
Conceptos Generales
Manejo de Memoria
Categorias
Protocolos
Bloques
Objective-C Básico para iOS.!
Comparado con otros lenguajes.
Introducción a IDE Xcode5.
Introducción a IDE Xcode5.!
Instalando Xcode
Instalar Xcode es posible desde el Mac App Store
También se puede descargar desde la cuenta de desarrollador
Es necesario:!
Mac laptop o Mac desktop.
Sistema Operativo OS X Mountain Lion o Mavericks.
Al menos 6GB de espacio y Memoria de 4GB.
8GB para rendimiento optimo del IDE.
Introducción a IDE Xcode5.!
Installing Xcode (Demo)
Utilizando Xcode IDE para desarrollo de iOS!
Xcode permite:
!
• Crear y manejar proyectos de iOS
• Manejar dependencias, para diferentes plataformas, requerimientos y
configuraciones para lanzar la aplicación.
• Lanzar la aplicación desde el proyecto
• Escribir código con el editor inteligente para la verificación de sintaxis
y agregar formatos automáticamente.
• Navegación y búsqueda de archivos del proyecto y documentación.
• Depurar la aplicación en el simulador o en el dispositivo.
• Analizar rendimiento de la aplicación.
Introducción a IDE Xcode5.!
Tour de Xcode
Introducción a IDE Xcode5.!
Primera Aplicación de iOS
Introducción a IDE Xcode5.!
El Simulador de iOS
El uso del simulador en las fases tempranas es beneficioso ya
que nos permite comenzar a utilizar la aplicación sin necesidad
de instalar en un dispositivo real.
!
Algunas limitaciones son:!
• Servicios de GPS
• Sensores
• Interacción con otras aplicaciones (SMS, Teléfono,Cámaras)
Introducción a Cocoa Touch.
Introducción a la API Cocoa Touch.!
¿Que es Cocoa Touch?
Cocoa Touch incluye el conjunto de cientos de clases para
administrar todo desde botones e interfaces de usuario hasta la
manipulación de fotos y reconocimiento facial.
User Applications

 
 Address Book

 
 Core Location

 
 Map Kit

 
 Store Kit
Data Management

 
 Core Data

 
 SQLite
Graphics and Animation

 
 Core Animation

 
 OpenGL ES

 
 Quartz 2D
Audio and Video

 
 Core Audio

 
 OpenAL

 
 Media Library

 
 AV Foundation
Networking and Internet

 
 Bonjour

 
 WebKit

 
 BSD Sockets
Introducción a la API Cocoa Touch.!
Audio y Video
Core Audio
OpenAL
Media Player
AV Foundation
Introducción a la API Cocoa Touch.!
Data Management
Core Data
SQLite
Share Data Among Apps
Access Contacts and Photos
Calendar Access
XML Files
HTML5 Client-Side Storage in Safari
Introducción a la API Cocoa Touch.!
Graphics and Animation
Core Graphics.
Core Animation.
Core Image.
OpenGL ES and GLKit components.
Core Text.
Image I/O.
Assets Library
Introducción a la API Cocoa Touch.!
Networking and Internet
Game Center
Find Others Using Bonjour
Peer to Peer
BSD Sockets
WebKit Framework (Safari Mobile)
Introducción a la API Cocoa Touch.!
User Applications
Address Book
CoreLocation
Map Kit
Store Kit
Event Kit
Introducción a la librería UIKit.
Introducción a la librería UIKit.!
¿Que es UIKit?
Son el conjunto de clases
necesarias para construir y
administrar la interfaz de usuario.
Comprende:!
Manejo de eventos
Ventanas y vistas
Controles de acción,
Controles de navegación.
Introducción a la librería UIKit.!
Componentes de UIKit
Views!
Action Sheets
Activity Indicators
Alert Views
Collection Views
Image Views
Labels
Picker Views
Progress Views
Scroll Views
Table Views
Text Views
Web Views
!! Buttons!
Date Pickers
Page Controls
Segmented Controls
Text Fields
Sliders
Steppers
Switches
!
Navigation Bars!
Search Bars
Tab Bars
Toolbars
Introducción a la librería UIKit.!
UIKit Catalog Views
Introducción a la librería UIKit.!
UIKit Catalog Bars
Navigation Bar
Search Bar
Tab Bar
Tool Bar
Introducción a la librería UIKit.!
UIKit Catalog Controls
Introducción a la librería UIKit.!
UIKit Dynamics
Motor de fisica integrado en UIKit!
Gravedad
Colisiones
Sistema de coordenadas
Sitios Populares de iOS
http://stackoverflow.com
http://iphonedevsdk.com
https://developer.apple.com
http://raywenderlich.com
http://nshipster.com
http://iosdevweekly.com
http://appcoda.com/
https://codeschool.com
http://online.stanford.edu
http://lynda.com
http://teamtreehouse.com
https://udemy.com
Cursos Online de iOS
http://www.mobile-patterns.com
http://inspired-ui.com
http://pttrns.com
Diseño en iOS
http://ios.devtools.me
http://cocoacontrols.com
http://www.quora.com
Recursos de iOS

Ios

  • 1.
    Objetivo del Taller Estetaller le enseñará lo que necesita saber sobre las herramientas para crear aplicaciones en la plataforma iOS.
  • 2.
    Introducción al desarrollode iOS! ¿Que es iOS? Es el sistema operativo que se ejecuta en los todos los dispositivos mobiles de Apple.
  • 3.
    Introducción al desarrollode iOS! Consideraciones en el desarrollo de iOS. Teclado pequeño. Pantalla pequeña. Version universal. Almacenamiento limitado. Conexión impredecible. Modos de uso.
  • 4.
    Introducción al desarrollode iOS! Arquitectura de iOS. Cocoa Touch! Interfaz de usuario. Manejo de eventos Touch. Manejo de interacciones y gestos. Integración con los datos. Media! Soporte para gráficos. Soporte para audio. Soporte para video. Core OS! Acceso Bluetooth. Conexiones de terceros por puerto serial. Servicios de seguridad Servicios de sistema y redes. Core Services! iCloud. ARC. Block objects. In-App Purchase Core Data
  • 5.
    ! Core Foundation Foundation! Event Kit CoreLocation! Core Motion Newsstand Pass Kit Quick Look Social! Store Kit System Configuration! The Core OS Layer Accelerate Core Bluetooth External Accessory Security System UIKit! Map Kit! Game Kit Message UI/Address Book UI/Event Kit UI iAd The Media Layer AV Foundation Core Audio Core Image Core Graphics Core Text Image I/O Media Player OpenGL ES Quartz Core The Core Services Layer Accounts Address Book CFNetwork! Core Data Introducción al desarrollo de iOS! Arquitectura de iOS.
  • 6.
    Introducción al desarrollode iOS! Application Lifecycle (Demo). App delegate! Not Running (No ha sido lanzada) Inactive(Al frente sin eventos) Active(Al frente con eventos) Background(Al fondo ejecutando código) Suspended(Al fondo sin ejecutar código)
  • 7.
    Introducción al desarrollode iOS! Estructura de una aplicación en iOS. Modelo: ! Los datos y objetos/entidades que se manejan. Vista:! Las vistas utilizadas y los elementos de interface. Controlador: El componente que permite la interacción entre el modelo y la interfaz de usuario.
  • 8.
    Introducción al desarrollode iOS! Apple App Store Plataforma centralizada de distribución. Facil acceso a desarrolladores. Proceso de aprobación y calidad por apple. Soporta todos los dispositivos. Seguridad de la aplicación y usuarios.
  • 9.
    Objective-C Básico parael Desarrollo en iOS.
  • 10.
    Objective-C Básico paraiOS.! Conceptos basicos de POO. Clase Subclase Superclase Singleton Objeto Instancia Intanciacion Metodo de Instancia Categoria Metodo de Clase Mensaje Variable de instancia Variable Parametro Propiedad Protocolo Self
  • 11.
    Objective-C Básico paraiOS.! Historia Smalltalk es desarrollado por Alan Kay Creado a inicios de los 80’s por Brad Cox y Tom Love. NeXT obtuvo las licencias del lenguaje. NeXTStep utilizo en lenguaje para la creación del mismo. Objective C se vuelve el lenguaje de desarrollo para Apple. Swift nace como remplazo gradual de Objective C
  • 12.
    Objective-C Básico paraiOS.! Convenciones. (demo) Nombres de clase debe ser únicos. Nombres de métodos deben ser expresivos. Variables locales deben ser únicas dentro del mismo scope. Creación de objetos debe seguir convenciones.
  • 13.
    Objective-C Básico paraiOS.! Sintaxis Basica Creación de Interface e implementación. (archivos .h .m) Definición de clases. Definición de propiedades y accesos. Declaración de métodos. (con y sin parámetros.) Implementación de métodos.
  • 14.
    Objective-C Básico paraiOS.! Sintaxis Basica(demo) Utilizando e implementando objetos. Iniciación de instancias de clases. MyObject *o = [[MyObject alloc] initWithString:myString]; MyObject *o = [[MyObject alloc] init];
  • 15.
    Objective-C Básico paraiOS.! Conceptos Generales Manejo de Memoria Categorias Protocolos Bloques
  • 16.
    Objective-C Básico paraiOS.! Comparado con otros lenguajes.
  • 17.
  • 18.
    Introducción a IDEXcode5.! Instalando Xcode Instalar Xcode es posible desde el Mac App Store También se puede descargar desde la cuenta de desarrollador Es necesario:! Mac laptop o Mac desktop. Sistema Operativo OS X Mountain Lion o Mavericks. Al menos 6GB de espacio y Memoria de 4GB. 8GB para rendimiento optimo del IDE.
  • 19.
    Introducción a IDEXcode5.! Installing Xcode (Demo) Utilizando Xcode IDE para desarrollo de iOS! Xcode permite: ! • Crear y manejar proyectos de iOS • Manejar dependencias, para diferentes plataformas, requerimientos y configuraciones para lanzar la aplicación. • Lanzar la aplicación desde el proyecto • Escribir código con el editor inteligente para la verificación de sintaxis y agregar formatos automáticamente. • Navegación y búsqueda de archivos del proyecto y documentación. • Depurar la aplicación en el simulador o en el dispositivo. • Analizar rendimiento de la aplicación.
  • 20.
    Introducción a IDEXcode5.! Tour de Xcode
  • 21.
    Introducción a IDEXcode5.! Primera Aplicación de iOS
  • 22.
    Introducción a IDEXcode5.! El Simulador de iOS El uso del simulador en las fases tempranas es beneficioso ya que nos permite comenzar a utilizar la aplicación sin necesidad de instalar en un dispositivo real. ! Algunas limitaciones son:! • Servicios de GPS • Sensores • Interacción con otras aplicaciones (SMS, Teléfono,Cámaras)
  • 23.
  • 24.
    Introducción a laAPI Cocoa Touch.! ¿Que es Cocoa Touch? Cocoa Touch incluye el conjunto de cientos de clases para administrar todo desde botones e interfaces de usuario hasta la manipulación de fotos y reconocimiento facial. User Applications Address Book Core Location Map Kit Store Kit Data Management Core Data SQLite Graphics and Animation Core Animation OpenGL ES Quartz 2D Audio and Video Core Audio OpenAL Media Library AV Foundation Networking and Internet Bonjour WebKit BSD Sockets
  • 25.
    Introducción a laAPI Cocoa Touch.! Audio y Video Core Audio OpenAL Media Player AV Foundation
  • 26.
    Introducción a laAPI Cocoa Touch.! Data Management Core Data SQLite Share Data Among Apps Access Contacts and Photos Calendar Access XML Files HTML5 Client-Side Storage in Safari
  • 27.
    Introducción a laAPI Cocoa Touch.! Graphics and Animation Core Graphics. Core Animation. Core Image. OpenGL ES and GLKit components. Core Text. Image I/O. Assets Library
  • 28.
    Introducción a laAPI Cocoa Touch.! Networking and Internet Game Center Find Others Using Bonjour Peer to Peer BSD Sockets WebKit Framework (Safari Mobile)
  • 29.
    Introducción a laAPI Cocoa Touch.! User Applications Address Book CoreLocation Map Kit Store Kit Event Kit
  • 30.
    Introducción a lalibrería UIKit.
  • 31.
    Introducción a lalibrería UIKit.! ¿Que es UIKit? Son el conjunto de clases necesarias para construir y administrar la interfaz de usuario. Comprende:! Manejo de eventos Ventanas y vistas Controles de acción, Controles de navegación.
  • 32.
    Introducción a lalibrería UIKit.! Componentes de UIKit Views! Action Sheets Activity Indicators Alert Views Collection Views Image Views Labels Picker Views Progress Views Scroll Views Table Views Text Views Web Views !! Buttons! Date Pickers Page Controls Segmented Controls Text Fields Sliders Steppers Switches ! Navigation Bars! Search Bars Tab Bars Toolbars
  • 33.
    Introducción a lalibrería UIKit.! UIKit Catalog Views
  • 34.
    Introducción a lalibrería UIKit.! UIKit Catalog Bars Navigation Bar Search Bar Tab Bar Tool Bar
  • 35.
    Introducción a lalibrería UIKit.! UIKit Catalog Controls
  • 36.
    Introducción a lalibrería UIKit.! UIKit Dynamics Motor de fisica integrado en UIKit! Gravedad Colisiones Sistema de coordenadas
  • 37.
    Sitios Populares deiOS http://stackoverflow.com http://iphonedevsdk.com https://developer.apple.com http://raywenderlich.com http://nshipster.com http://iosdevweekly.com http://appcoda.com/
  • 38.
  • 39.
  • 40.