1. Objetivo del Taller
Este taller le enseñará lo que necesita saber
sobre las herramientas para crear aplicaciones en
la plataforma iOS.
2. Introducción al desarrollo de iOS!
¿Que es iOS?
Es el sistema operativo que se ejecuta en los todos los dispositivos
mobiles de Apple.
3. 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.
4. 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
5. !
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.
6. 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)
7. 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.
8. 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.
10. 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
11. 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
12. 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.
13. 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.
14. 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];
15. Objective-C Básico para iOS.!
Conceptos Generales
Manejo de Memoria
Categorias
Protocolos
Bloques
18. 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.
19. 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.
22. 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)
24. 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
25. Introducción a la API Cocoa Touch.!
Audio y Video
Core Audio
OpenAL
Media Player
AV Foundation
26. 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
27. 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
28. 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)
29. Introducción a la API Cocoa Touch.!
User Applications
Address Book
CoreLocation
Map Kit
Store Kit
Event Kit
31. 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.
32. 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