Está en la página 1de 54

Programacin de aplicaciones

para plataformas mviles


Enrique Fernndez

ndice
Introduccin
Sistemas existentes
Programacin aplicaciones
Conclusiones

ndice
Introduccin
Historia y evolucin
Posibilidades
Ejemplos aplicaciones

Sistemas existentes
Programacin aplicaciones
Conclusiones
2

Introduccin
Aumento de popularidad de las nuevas
plataformas mviles:
Smartphones
Tablets

Introduccin
Muchas posibilidades:

Conectividad (3G, Wifi, Bluetooth, NFC)


Cmaras de fotos alta resolucin
Geolocalizacin
Potencia de procesamiento

Mercado para desarrolladores


Y adems estn de moda

ndice
Introduccin
Historia y evolucin
Posibilidades
Ejemplos aplicaciones

Sistemas existentes
Programacin aplicaciones
Conclusiones
5

Historia y evolucin
La programacin para mviles no es algo
nuevo

Historia y evolucin
Sistemas operativos bastante extendidos:
Symbian
Windows Mobile

Java (J2ME)
Amplias posibilidades desde el punto de vista
tcnico, pero tambin limitaciones
Distinta filosofa en aplicaciones:
Centrado en funcionalidad
Despreocupacin por experiencia de usuario
7

Historia y evolucin
Qu ha cambiado?
Telfonos tctiles (interaccin
usuario)
Mayor potencia y capacidades
Pero sobre todo, el acceso directo a
las aplicaciones (Ecosistema)

ndice
Introduccin
Historia y evolucin
Posibilidades
Ejemplos aplicaciones

Sistemas existentes
Programacin aplicaciones
Conclusiones
9

Posibilidades
Conectividad
Acceso ubicuo servicios Internet: 3G , Wifi
Bluetooth: comunicacin entre terminales,
accesorios
NFC (Near Field Communication)

Multimedia
Cmara (fotos, vdeo, realidad aumentada)
Reproduccin msica y vdeo

10

Posibilidades
Geolocalizacin
GPS
Localizacin basada en red (Wifi, telfono)
Mapas

Potencia de procesamiento
Procesadores avanzados (multi-core)
GPU integrada

11

ndice
Introduccin
Historia y evolucin
Posibilidades
Ejemplos aplicaciones

Sistemas existentes
Programacin aplicaciones
Conclusiones
12

Ejemplos aplicaciones
Videojuegos

13

Ejemplos aplicaciones
Realidad aumentada

14

Ejemplos aplicaciones
Multimedia

15

Ejemplos aplicaciones
Control remoto

16

ndice
Introduccin
Sistemas existentes
Programacin aplicaciones
Conclusiones

17

Sistemas existentes
Existen gran cantidad de sistemas mviles:

iOS
Android
Windows Phone 7
Meego
Bada
WebOS
Blackberry OS

18

Sistemas existentes: iOS

Sistema operativo de Apple


Presente en iPhone, iPod Touch y iPad
Ecosistema cerrado, controlado por Apple
Actualmente versin 4 (beta 5 para
desarrolladores)
Interfaz de usuario multitctil, orientada a
gestos
Mercado de aplicaciones: App Store
19

Sistemas existentes: Android


SO de Google (Open Handset Alliance)
Orientado a Smartphones, y
recientemente a Tablets
Versiones recientes
Smartphones: 2.3 Gingerbread
Tablets: 3.1 Honeycomb

Interfaz multitctil (skins fabricantes)


Diferentes mercados aplicaciones:
Android Market, Amazon, Samsung
20

Sistemas existentes: Windows Phone 7


Sistema operativo de Microsoft
Desarrollo reciente, menos implantado
que iOS y Android
Actualmente versin 7.1
Mltiples fabricantes interesados
(especialmente Nokia)
Mercado propio: Windows
Marketplace
21

Sistemas existentes: Meego

SO iniciado por Intel y Nokia


Fusin de Moblin y Maemo
An en desarrollo, sin dispositivos en el mercado
Amplia gama de plataformas: netbook,
smartphone, TV
https://meego.com/

22

Sistemas existentes: Bada


Sistema propio de Samsung, presente en la
familia Wave
Varios smartphones disponibles en el mercado
Mercado de aplicaciones: Samsung Apps
http://bada.com/

23

Sistemas existentes: WebOS

Originario de Palm, actualmente de HP


Sistema operativo para smartphone y tablets
https://developer.palm.com/

24

Sistemas existentes: Blackberry OS


Sistema propio de Blackberry, para mviles y
tablets.
Ms orientado al usuario profesional.
Sincronizacin contactos, correos, agenda
Multitarea real

Mercado de aplicaciones propio: Blackberry App


World

25

26

Cuota de mercado
Aumento importante del uso de smartphones
(especialmente iPhone y Android)

27

ndice
Introduccin
Sistemas existentes
Programacin aplicaciones
iOS
Android
 Comenzar a trabajar con Android

Conclusiones
28

Programacin aplicaciones
Quiero hace un programa
A ser posible, venderlo y hacerme rico
Por dnde empiezo?

29

Programacin aplicaciones
Mismo flujo de trabajo para mayora
plataformas:
Diseo de aplicacin
Desarrollo
Pruebas
 Emulador
 Dispositivo

Distribucin al mercado

30

Programacin aplicaciones
Diseo de aplicacin:
Qu va a hacer la aplicacin?
Qu posibilidades ofrece el dispositivo/SDK?
Hay limitaciones?
Diseo propiamente dicho

Resto de fases, dependientes de plataforma


iOS
Android

31

ndice
Introduccin
Sistemas existentes
Programacin aplicaciones
iOS
Android
 Comenzar a trabajar con Android

Conclusiones
32

iOS
Apple Developer Connection
http://developer.apple.com/

Herramientas y recursos para todas las fases del


flujo de trabajo
Plataforma cerrada: importante tener en cuenta
limitaciones (p.e. Bluetooth)
Cuota de 99$/ao
Requisito importante: tener un Mac!
33

iOS. Qu ofrece
Aplicaciones para iPhone, iPod Touch, iPad
Distribucin: App Store Game Center

In-App Purchases

Publicidad: iAd

34

iOS: Desarrollo
Herramientas de desarrollo
Xcode: entorno de desarrollo
iOS Simulator
Interface Builder

Recursos de desarrollo
Foros de desarrolladores
Documentacin diversa para empezar:
herramientas, frameworks, mtodos de diseo
Ejemplos de cdigo y How-Tos
35

iOS: Desarrollo
Cocoa Touch: coleccin de APIs para iOS
Multitarea
Reconocimiento gestos

Lenguaje de programacin Objective-C


Orientado a objetos
Combina ANSI C con Smalltalk
Proporciona clases, herencia, polimorfismo

Para ms informacin:
iOS Dev Center
36

iOS: Pruebas
No slo sobre simulador de iOS, sino
dispositivos reales
Instruments: recolecta informacin en tiempo
real del comportamiento de la aplicacin
Optimizacin y resolucin
de problemas
Soporte tcnico de Apple

37

iOS: Distribucin

Mercado de aplicaciones App Store


El desarrollador escoge el precio
70% desarrollador 30% Apple
Venta de productos y servicios directamente
desde la aplicacin
Posibilidad de poner publicidad con iAd
Anunciantes buscados por Apple
60% de ingresos para el desarrollador
38

ndice
Introduccin
Sistemas existentes
Programacin aplicaciones
iOS
Android
 Comenzar a trabajar con Android

Conclusiones
39

Android
Android developers
http://developer.android.com/index.html

Herramientas y recursos para todas las fases del


flujo de trabajo
Cuota de 25$ para toda la vida
Vlido cualquier SO: Windows, Linux, Mac OS
Mejor plataforma para quien quiera ir probando

40

Android. Qu ofrece
Desarrollo aplicaciones para mviles y tablets de
mltiples fabricantes: HTC, Samsung, Motorola,
LG, Sony-Ericsson
Distribucin de aplicaciones: Android Market
In-App Billing
Social Gaming: OpenFeint
Publicidad: AdMob - AdSense

41

Android: Desarrollo
Herramientas de desarrollo
Eclipse + ADT Plugin
Android SDK/NDK
Emulador

Recursos de desarrollo
Foros de desarrolladores
Gua de desarrollo, artculos, discusiones sobre
optimizacin, tutoriales
Ejemplos de cdigo y How-Tos
42

Android: Desarrollo
Entorno de desarrollo: eleccin libre, aunque se
recomienda Eclipse
Lenguaje de programacin:
Java, aunque con mquina virtual propia (Dalvik)
Orientacin a objetos

Importante: tener
en cuenta
fragmentacin
43

Android: Pruebas
El entorno de desarrollo de Android incluye un
framework de pruebas
Test de actividades
Test de servicios y proveedores de contenidos
Orientacin a posibles fuentes de error

Basado en Junit
Integracin del sistema de pruebas y obtencin
de resultados con Eclipse
44

Android: Distribucin

Disponible el mercado Android Market


El desarrollador escoge el precio
70% desarrollador 30% Google
In-App Billing, con misma proporcin de
ingresos
Posibilidad de poner publicidad con AdMob
Anunciantes mediante el servicio AdSense
70% de ingresos para el desarrollador (frente al
60% en iOS)

Otros posibles mercados (Amazon, Vodafone) 45

ndice
Introduccin
Sistemas existentes
Programacin aplicaciones
iOS
Android
 Comenzar a trabajar con Android

Conclusiones
46

Comenzar a trabajar con Android


Paso inicial: preparar entorno de desarrollo
Eclipse Classic. http://www.eclipse.org/downloads/

47

Comenzar a trabajar con Android


Descargar la SDK de Android

48

Comenzar a trabajar con Android


Configurar el plugin de Eclipse (ADT)
http://developer.android.com/sdk/eclipse-adt.html

Descargar
plataformas
(mvil, tablet)

49

ndice
Introduccin
Sistemas existentes
Programacin aplicaciones
Conclusiones

50

Conclusiones
Buen momento para los desarrolladores para
mviles
Desarrollo comercial
Proyectos e investigacin

Gran cantidad de posibilidades tcnicas


Diferentes modelos de negocio
Ingresos por venta
Publicidad y compras in-app

51

Conclusiones
Importante: diseo de la aplicacin, ms que
implementacin en s
Familiarizarse con el ecosistema

52

Muchas gracias por su atencin

Alguna
pregunta?

53

También podría gustarte