Aplicaciones Móviles
               José Díaz Moreno
                jose.diaz@atrapalo.com
¿Qué opciones hay por ahí?

Principales proyectos

         PhoneGap

         Appcelerator Titanium
Funcionalidad
General

• Para ejecutar en más tipos de dispositivos
    diferentes.
•   Poca documentación y wiki, creo.
•   Interfaz de usuario (UI) simulada por CSS.
•   Todo se ejecuta en una vista Web, más lento
    que código nativo.




• La Interfaz de Usuario (UI) y la habilidad para
    acceder al código nativo es un gran avance.
•   IDE propio, mucha comunidad y gran
    cantidad de documentación.
•   La App generada corre en código nativo,
    más rápido.
•   Ésta es mi elección, pero no quiere decir que
    tenga que ser la tuya.
Capacidades de las APIs
¿Qué plataforma elegir?
Aplicación de pago: No puedes usar PhoneGap porque podrá ser
“pirateada” con extrema facilidad, al incluir el código fuente. Ni deberías usar
Adobe Air porque no funcionará en todos los dispositivos Android. Te queda
solo Corona para juegos y Appcelerator para el resto de aplicaciones.

Aplicación gratuita: Puedes usar PhoneGap, siempre que no te importe
que el mundo entero vea tu código. No deberías usar Adobe Air por la
misma razón que el punto anterior, así que te queda Corona y Appcelerator.

Aplicación a medida: Puedes usar PhoneGap, tu cliente quiere que le
desarrolles una aplicación a medida, no robarte el código. Puedes usar
Adobe Air mobile siempre y cuando te asegures de que tu cliente va a tener
terminales con el procesador Arm7, y le dejes bien claro (por escrito) que no
funcionará con terminales que no lo tenga, para evitar sorpresas posteriores.
¿Que es Titanium (Mobile)?
Titanium es un framework para crear aplicaciones
nativas usando tecnologías web.
Desktop: Windows, Mac, Linux
Mobile: iPhone, iPhone, Android, Blackberry
Open Source (Apache 2.0 License)
Website: http://appcelerator.com
Source: http://github.com/appcelerator
¿Por qué Titanium?
Aplicaciones Nativas
  Velocidad de ejecución
  Aprovecha mejor las capacidades de los dispositivos

Tecnologías Web
  Habilidades y conocimientos que ya tenemos
  Desarrollo rápido

Lo mejor de los dos mundos (web y nativo)
Un solo set de herramientas, muchas plataformas
IDE propio, Titanium Studio (compraron el
framework Aptana), similar a Eclipse
Arquitectura de Alto nivel
        UI API                                                                 Phone API
contiene asignaciones a                                                contiene asignaciones a las
  componentes de UI:                                                    capacidades nativas del
                                                                                teléfono:
 Nativos, Navbar, Tabbar,                         Código fuente
Toolbar, Menus, Diálogos,                      HTML, CSS, JavaScript   Geo, Acelerometro, Mapas,
     Alertas, Botones                                                   Sonido, DB, File System,
                                                                                  Red



                Tu aplicación                                                        Tu aplicación


   UI API         Phone API          Módulos                           UI API          Phone API       Módulos


     JavaScript - Objective-C Bridge                                            JavaScript - Java Bridge


            iPhone Objective-C API                                                 Android Java API



      iPhone App Nativo                                                  Android App Nativo
Más cositas
Internacionalización (i18n) de la app fácil mediante el
propio framework. Idioma por defecto el seleccionado en
el teléfono, opcionalmente el usuario puede cambiarlo.
Manejo de los diferentes tamaños y densidades de
pantalla. Se separa la lógica de la aplicación (ficheros .js)
de la distribución de los datos en los diferentes tipos de
dispositivos y de pantallas (ficheros .jss), mediante hojas
de estilo de tipo CSS.
APIs: Photo Gallery, Camara, HTTP Client, SOAP...
Posibilidad de utilizar bibliotecas externas como jQuery
Mobile para determinadas funciones en javascript.
Media    Paquetes o streaming de audio y video

Video:




Audio:
+ Media
Interactúa con la cámara del iPhone/Android
Geolocalización
Usa la Geolocalización para
conocer la ubicación del
usuario
Acelerómetro
Podrás usar “gestures” avanzados y el movimiento del telefono para añadir
interactividad a tu app.

Al poder desarrollar módulos adicionales en código nativo, podrás extender
funciones que no estén disponibles en el propio framework Titanium, o crear
módulos específicos y venderlos en el Market de Titanium.
BD y File System
Puedes tener acceso a bases de datos SQLite de forma
síncrona y asíncrona, así como al sistema de ficheros de la
plataforma
Red
Objetos tipo XHR para solicitud de datos remotos




Módulos existentes para conexión con API de
Facebook, Twitter, Paypal...
Controles UI Nativos
Utiliza una interfaz de usuario nativa a través de
Javascript
UI Nativo en el iPhone
 Tab Bar
 Nav Bar
 Table View
 Alertas / Opciones
 Composite Views
 Mucho más
UI Nativo en Android
 Tab Bar
 Table View
 Alertas / Opciones
 Indicador de
 Actividad (loaders)
 Notificaciones
 Mucho más
Ejemplo de interpretación
de la API en Javascript




  Table View en iPhone   Table View en Android
Publicar y vender Apps
Apple AppStore
   Registrarse como desarrollador iOS
   Pagar anualmente unos 73€ ($99)
   Comisión del 30% sobre cada app vendida
   La App subida tarda entre 3 y 7 días en ser validada...
   Revisión de brechas de seguridad, envío de información
   privada al exterior y uso indebido de datos personales

Android Market
   Registrarse o habilitar tu cuenta de Gmail para ser
   desarrollador Android
   Pagar una sola vez unos 19€ ($25)
   Comisión del 30% sobre cada app vendida
   La App subida se publica inmediatamente, sin revisión
   alguna
Experiencias con Apps propias
 Plataforma iOS (iPhone/iPod/iPad)
     En torno a 10 veces más descargas de la app que en
     Android (más usuarios o más hábito de buscar apps)
     2-3% de descargas de pago frente a lite (gratis/demo)
     Las apps quedan instaladas en más casos
     En resumen, usuarios que prueban y desinstalan menos
     apps y están más dispuestos a pagar. Se valora mucho el
     aspecto gráfico de la aplicación

 Android
     0,5% de descargas de pago frente a lite (gratis/demo)
     Las apps lite son eliminadas del teléfono en cerca de un
     60% de los casos
     En resumen, usuarios que prueban y desinstalan muchas
     apps pero difícilmente compran
¿Curiosidad?
Kitchen Sink.

Demo completo de todas
las funciones del API.
Excelente para empezar a
trabajar.


Codestrong.com - ejemplos y guías
Dev Chat: #titanium_app (irc.freenode.net)
http://www.codestrong.com/timobile/samples/
¡Gracias!
                   ¿?
               ¿Preguntas?
  ¿dudas? ¿tienes una megaidea para una app y nos
podemos hacer ricos los dos? ¿crees que no he dicho ni
         una sola verdad en todo este rato?

      Me podéis encontrar en el COMMON BUENO, aquí al lado, en Atrápalo ;)
                              jupediaz@gmail.com   jose.diaz@atrapalo.com

Presentacion Apps Moviles Atrapalo.com

  • 1.
    Aplicaciones Móviles José Díaz Moreno jose.diaz@atrapalo.com
  • 2.
    ¿Qué opciones haypor ahí? Principales proyectos PhoneGap Appcelerator Titanium
  • 3.
    Funcionalidad General • Para ejecutaren más tipos de dispositivos diferentes. • Poca documentación y wiki, creo. • Interfaz de usuario (UI) simulada por CSS. • Todo se ejecuta en una vista Web, más lento que código nativo. • La Interfaz de Usuario (UI) y la habilidad para acceder al código nativo es un gran avance. • IDE propio, mucha comunidad y gran cantidad de documentación. • La App generada corre en código nativo, más rápido. • Ésta es mi elección, pero no quiere decir que tenga que ser la tuya.
  • 4.
  • 5.
    ¿Qué plataforma elegir? Aplicaciónde pago: No puedes usar PhoneGap porque podrá ser “pirateada” con extrema facilidad, al incluir el código fuente. Ni deberías usar Adobe Air porque no funcionará en todos los dispositivos Android. Te queda solo Corona para juegos y Appcelerator para el resto de aplicaciones. Aplicación gratuita: Puedes usar PhoneGap, siempre que no te importe que el mundo entero vea tu código. No deberías usar Adobe Air por la misma razón que el punto anterior, así que te queda Corona y Appcelerator. Aplicación a medida: Puedes usar PhoneGap, tu cliente quiere que le desarrolles una aplicación a medida, no robarte el código. Puedes usar Adobe Air mobile siempre y cuando te asegures de que tu cliente va a tener terminales con el procesador Arm7, y le dejes bien claro (por escrito) que no funcionará con terminales que no lo tenga, para evitar sorpresas posteriores.
  • 6.
    ¿Que es Titanium(Mobile)? Titanium es un framework para crear aplicaciones nativas usando tecnologías web. Desktop: Windows, Mac, Linux Mobile: iPhone, iPhone, Android, Blackberry Open Source (Apache 2.0 License) Website: http://appcelerator.com Source: http://github.com/appcelerator
  • 7.
    ¿Por qué Titanium? AplicacionesNativas Velocidad de ejecución Aprovecha mejor las capacidades de los dispositivos Tecnologías Web Habilidades y conocimientos que ya tenemos Desarrollo rápido Lo mejor de los dos mundos (web y nativo) Un solo set de herramientas, muchas plataformas IDE propio, Titanium Studio (compraron el framework Aptana), similar a Eclipse
  • 8.
    Arquitectura de Altonivel UI API Phone API contiene asignaciones a contiene asignaciones a las componentes de UI: capacidades nativas del teléfono: Nativos, Navbar, Tabbar, Código fuente Toolbar, Menus, Diálogos, HTML, CSS, JavaScript Geo, Acelerometro, Mapas, Alertas, Botones Sonido, DB, File System, Red Tu aplicación Tu aplicación UI API Phone API Módulos UI API Phone API Módulos JavaScript - Objective-C Bridge JavaScript - Java Bridge iPhone Objective-C API Android Java API iPhone App Nativo Android App Nativo
  • 9.
    Más cositas Internacionalización (i18n)de la app fácil mediante el propio framework. Idioma por defecto el seleccionado en el teléfono, opcionalmente el usuario puede cambiarlo. Manejo de los diferentes tamaños y densidades de pantalla. Se separa la lógica de la aplicación (ficheros .js) de la distribución de los datos en los diferentes tipos de dispositivos y de pantallas (ficheros .jss), mediante hojas de estilo de tipo CSS. APIs: Photo Gallery, Camara, HTTP Client, SOAP... Posibilidad de utilizar bibliotecas externas como jQuery Mobile para determinadas funciones en javascript.
  • 10.
    Media Paquetes o streaming de audio y video Video: Audio:
  • 11.
    + Media Interactúa conla cámara del iPhone/Android
  • 12.
    Geolocalización Usa la Geolocalizaciónpara conocer la ubicación del usuario
  • 13.
    Acelerómetro Podrás usar “gestures”avanzados y el movimiento del telefono para añadir interactividad a tu app. Al poder desarrollar módulos adicionales en código nativo, podrás extender funciones que no estén disponibles en el propio framework Titanium, o crear módulos específicos y venderlos en el Market de Titanium.
  • 14.
    BD y FileSystem Puedes tener acceso a bases de datos SQLite de forma síncrona y asíncrona, así como al sistema de ficheros de la plataforma
  • 15.
    Red Objetos tipo XHRpara solicitud de datos remotos Módulos existentes para conexión con API de Facebook, Twitter, Paypal...
  • 16.
    Controles UI Nativos Utilizauna interfaz de usuario nativa a través de Javascript
  • 17.
    UI Nativo enel iPhone Tab Bar Nav Bar Table View Alertas / Opciones Composite Views Mucho más
  • 18.
    UI Nativo enAndroid Tab Bar Table View Alertas / Opciones Indicador de Actividad (loaders) Notificaciones Mucho más
  • 19.
    Ejemplo de interpretación dela API en Javascript Table View en iPhone Table View en Android
  • 20.
    Publicar y venderApps Apple AppStore Registrarse como desarrollador iOS Pagar anualmente unos 73€ ($99) Comisión del 30% sobre cada app vendida La App subida tarda entre 3 y 7 días en ser validada... Revisión de brechas de seguridad, envío de información privada al exterior y uso indebido de datos personales Android Market Registrarse o habilitar tu cuenta de Gmail para ser desarrollador Android Pagar una sola vez unos 19€ ($25) Comisión del 30% sobre cada app vendida La App subida se publica inmediatamente, sin revisión alguna
  • 21.
    Experiencias con Appspropias Plataforma iOS (iPhone/iPod/iPad) En torno a 10 veces más descargas de la app que en Android (más usuarios o más hábito de buscar apps) 2-3% de descargas de pago frente a lite (gratis/demo) Las apps quedan instaladas en más casos En resumen, usuarios que prueban y desinstalan menos apps y están más dispuestos a pagar. Se valora mucho el aspecto gráfico de la aplicación Android 0,5% de descargas de pago frente a lite (gratis/demo) Las apps lite son eliminadas del teléfono en cerca de un 60% de los casos En resumen, usuarios que prueban y desinstalan muchas apps pero difícilmente compran
  • 22.
    ¿Curiosidad? Kitchen Sink. Demo completode todas las funciones del API. Excelente para empezar a trabajar. Codestrong.com - ejemplos y guías Dev Chat: #titanium_app (irc.freenode.net) http://www.codestrong.com/timobile/samples/
  • 23.
    ¡Gracias! ¿? ¿Preguntas? ¿dudas? ¿tienes una megaidea para una app y nos podemos hacer ricos los dos? ¿crees que no he dicho ni una sola verdad en todo este rato? Me podéis encontrar en el COMMON BUENO, aquí al lado, en Atrápalo ;) jupediaz@gmail.com jose.diaz@atrapalo.com