Download - I phone os desarrollo de aplicaciones
iPhone OSDesarrollo de aplicaciones
jueves 29 de abril de 2010
CaracterísticasArquitecturaDesarrollo
CostesConclusiones
jueves 29 de abril de 2010
¿Qué es iPhone OS?• SO propietario y cerrado de
para iPhone, iPad e iPod Touch
jueves 29 de abril de 2010
¿Qué es iPhone OS?• SO propietario y cerrado de
para iPhone, iPad e iPod Touch
• Basado en Mac OS X
jueves 29 de abril de 2010
¿Qué es iPhone OS?• SO propietario y cerrado de
para iPhone, iPad e iPod Touch
• Basado en Mac OS X
• Versión 4.0
jueves 29 de abril de 2010
¿Qué es iPhone OS?• SO propietario y cerrado de
para iPhone, iPad e iPod Touch
• Basado en Mac OS X
• Versión 4.0
✓ Junio/julio 2010
jueves 29 de abril de 2010
Multitarea
jueves 29 de abril de 2010
Multitarea• Streaming audio
jueves 29 de abril de 2010
Multitarea• Streaming audio
• VoIP
jueves 29 de abril de 2010
Multitarea• Streaming audio
• VoIP
• GPS
jueves 29 de abril de 2010
Multitarea• Streaming audio
• VoIP
• GPS
• Notificaciones Push
jueves 29 de abril de 2010
Multitarea• Streaming audio
• VoIP
• GPS
• Notificaciones Push
• Notificaciones locales
jueves 29 de abril de 2010
Multitarea• Streaming audio
• VoIP
• GPS
• Notificaciones Push
• Notificaciones locales
• Completado de tareas
jueves 29 de abril de 2010
Multitarea• Streaming audio
• VoIP
• GPS
• Notificaciones Push
• Notificaciones locales
• Completado de tareas
• Cambio rápido de aplicaciones
jueves 29 de abril de 2010
Múltiples dispositivos
jueves 29 de abril de 2010
Múltiples dispositivos
jueves 29 de abril de 2010
Múltiples dispositivos
jueves 29 de abril de 2010
Múltiples dispositivos
jueves 29 de abril de 2010
Spotlight• Búsqueda global en el
dispositivo
✓ Contactos
✓ Correo
✓ Calendario
✓ Multimedia
✓ Web, Wikipedia
• Sin API pública
jueves 29 de abril de 2010
Notificaciones Push• Notificaciones en
segundo plano
• Conexión abierta con el servidor
• Mayor consumo de batería
jueves 29 de abril de 2010
Peer to Peer• Conexión entre
dispositivos
• Transmisión de datos
jueves 29 de abril de 2010
In App Purchase• Ventas dentro de la propia
aplicación
✓ Contenido
✓ Funcionalidad
✓ Servicios
✓ Suscripciones
✓ Producto o servicio que extiende la aplicación
jueves 29 de abril de 2010
iAd• Plataforma de anuncios de
Apple
• Integrado con iPhone OS
✓ HTML 5
✓ Se muestra dentro de la aplicación
• 60% del beneficio para el desarrollador
jueves 29 de abril de 2010
Características
Multitouch OpenGL ES SQLite
WebKit Acceso VPN MS Exchange
jueves 29 de abril de 2010
CaracterísticasArquitecturaDesarrollo
CostesConclusiones
jueves 29 de abril de 2010
Arquitectura
Cocoa Touch
Media
Core Services
Core OS
jueves 29 de abril de 2010
Arquitectura
Cocoa Touch
Media
Core Services
Core OS
jueves 29 de abril de 2010
Arquitectura
Cocoa Touch
Media
Core Services
Core OS
OS X KernelTCP/IPSockets
Seguridad
Gestión energíaCertificados
Sistema de ficheros...
jueves 29 de abril de 2010
Arquitectura
Cocoa Touch
Media
Core Services
Core OS
jueves 29 de abril de 2010
Arquitectura
Cocoa Touch
Media
Core Services
Core OS
ContactosCore Data
Core LocationCore Fundation
In App PurchaseSQLiteXML
...
jueves 29 de abril de 2010
Arquitectura
Cocoa Touch
Media
Core Services
Core OS
jueves 29 de abril de 2010
Arquitectura
GráficosQuartz 2D
Core animationOpenGL ES
Core audioCore video
...
Cocoa Touch
Media
Core Services
Core OS
jueves 29 de abril de 2010
Arquitectura
Cocoa Touch
Media
Core Services
Core OS
jueves 29 de abril de 2010
Arquitectura
Interfaz usuarioMultitouch
AcelerometroKit mapas
AlertasVista webCámara
...
Cocoa Touch
Media
Core Services
Core OS
jueves 29 de abril de 2010
Arquitectura
jueves 29 de abril de 2010
Ciclo de vida
jueves 29 de abril de 2010
Ciclo de vida
jueves 29 de abril de 2010
CaracterísticasArquitecturaDesarrollo
CostesConclusiones
jueves 29 de abril de 2010
XCode
jueves 29 de abril de 2010
XCode
jueves 29 de abril de 2010
Objetive-C• Lenguaje para el desarrollo de apps en Mac OS X
• Orientado a objetos
• No hay recolector de basura (en iPhone OS)
✓ Es necesario reservar/liberar memoria
• Sintaxis “especial”
jueves 29 de abril de 2010
Objetive-C#import "MacAppAppDelegate.h"
@implementation MacAppAppDelegate
@synthesize window;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {! BOOL isFilled;! isFilled = [myRectangle isFilled];!! [myRectangle setPrimaryColor:[otherRect primaryColor]]; @end
jueves 29 de abril de 2010
Interface Builder• Diseño sencillo y
cómodo: arrastrar y soltar
• Conexión automática con XCode
jueves 29 de abril de 2010
iPhone Simulator• NO simula condiciones
reales (cpu, memoria...)
• Acelerómetro y GPS muy limitados
• Es necesario conectar el dispositivo para simular condiciones reales
✓ iSimulator
jueves 29 de abril de 2010
Instruments• Avanzada información
sobre el estado de la app
✓ CPU
✓ Memoria
✓ Gráficos
✓ ...
• Conexión REAL con el dispositivo
jueves 29 de abril de 2010
CaracterísticasArquitecturaDesarrollo
CostesConclusiones
jueves 29 de abril de 2010
CostesCuenta Standard
• Publicación en App Store
• Hasta 100 beta-tester
• Instalación Ad Hoc en 100 dispositivos
• Acceso a pre-releases
• SDK Gratuito, solo para Mac OS X
jueves 29 de abril de 2010
CostesCuenta Standard
• Publicación en App Store
• Hasta 100 beta-tester
• Instalación Ad Hoc en 100 dispositivos
• Acceso a pre-releases
• SDK Gratuito, solo para Mac OS X
79 €
jueves 29 de abril de 2010
CostesCuenta Enterprise
• Empresas de más de 500 empleados
• Uso interno, sin publicación en App Store
• Acceso a pre-releases
• SDK gratuito, sólo para Mac OS X
jueves 29 de abril de 2010
CostesCuenta Enterprise
279 €• Empresas de más de 500
empleados
• Uso interno, sin publicación en App Store
• Acceso a pre-releases
• SDK gratuito, sólo para Mac OS X
jueves 29 de abril de 2010
Publicación App Store• Darse de alta en iPhone
Developer Program
• Enviar la aplicación a Apple
• Proceso de aprobación: caja negra
• Beneficio:✓ 70% Desarrollador✓ 30% Apple
jueves 29 de abril de 2010
CaracterísticasArquitecturaDesarrollo
CostesConclusiones
jueves 29 de abril de 2010
Pros• Herramientas de desarrollo muy completas
✓ Todo incluido en el SDK
• Extensa documentación
• Dispositivo único
• Multitouch
• Capacidades multimedia avanzadas
• Multitasking
jueves 29 de abril de 2010
Contras• Pagar para probar el desarrollo en el dispositivo
• Lenguaje de programación Objetive-C
• SDK únicamente válido para Mac OS X
• Dispositivo “caro”
jueves 29 de abril de 2010
¿Preguntas?
jueves 29 de abril de 2010