Upload
software-guru
View
2.642
Download
0
Embed Size (px)
Citation preview
MobileWars: Desarrollo móvil multiplataforma
Daniel Martínez Ramos Erick Camacho Chavarría
Nosotros Daniel Ramos -
@dannyGeek. Adobe Certified Expert en varios productos. CoManager de LiveData AUG
Erick Camacho – @ecamacho. CoManager de CocoaHeads México
Nosotros Desarrollamos apps móviles para iOS con Objective-C.
Nos gusta el desarrollo nativo, pero es costoso hacer una aplicación nativa por plataforma.
Existen opciones y queríamos explorarlas.
¿Qué hicimos? Litros de A Litro
Una aplicación para geolocalizar gasolineras y su calificación por la Profeco.
OpenSource: github.com/tidyslice
Los concursantes
Objective -C La usamos como Referencia.
Objective-C - Requisitos
IDE Precio Lenguaje
XCode Gratuito Objective-C
Objective-C - La aplicación DEMO
Objective-C - Observaciones
Performance Documentación
Curva de aprendizaje
Componentes Plataformas soportadas
Excelente Excelente Alta Gran cantidad y muchos de terceros
iOS
PhoneGap
PhoneGap Permite empaquetar aplicaciones HTML como
aplicaciones nativas.
Ofrece plantillas para cada plataforma soportada.
Tiene una librería nativa para integrarse con la plataforma y una librería javascript para integrarlo con tus aplicaciones.
PhoneGap
IDE Precio Lenguaje
Xcode – iOS Eclipse – Android, BlackBerry Dreamweaver CS5.5
Gratuito (Soporte desde USD $249)
HTML, javascript
Phonegap – La Aplicación Demo
Phonegap - Observaciones
Performance Documentación
Curva de aprendizaje
Componentes Plataformas soportadas
Lento Buena Baja Buena Cantidad
iOS Blackberry Android WebOS Symbian Bada
Phonegap - Observaciones Es sencillo hacer plugins que empaqueten funcionalidades
nativas.
Phonegap es sólo un wrapper. Lo importante es el framework HTML/javascript que uses.
Existen varios, pero sólo 2 maduros: jqueryMobile y SenchaTouch
Los controles con cualquier framework javascript, se notan que no son nativos.
Appcelerator Titanium
Appcelerator Titanium Titanium es un compilador que transforma de código en
un DSL propietario con javascript a código nativo de la plataforma elegida.
Para usarlo, se debe utilizar el Titanium IDE basado en Eclipse
Appcelerator Titanium
IDE Precio Lenguaje
Titanium Studio Gratuito (Soporte, cursos, certificación de pago)
javascript
Appcelerator Titanium Demo
Appcelerator Titanium
Performance Documentación
Curva de aprendizaje
Componentes Plataformas soportadas
Bueno Mala Media Pocos iOS Android Blackberry (beta) Escritorio
Appcelerator Titanium Programas usando un DSL javascript que se compila a
componentes nativos casi al 100%
El usuario verá una app nativa, no notará que es Titanium
Lo que no se compila a nativo, se ejecuta por un intérprete en tiempo de ejecución para permitir mecanismos dinámicos
El DSL define un framework MVC para crear aplicaciones basado en eventos y ventanas.
Adobe Air
Adobe Air Tecnología para crear aplicaciones usando ActionScript
puro o con el framework Adobe Flex.
Adobe Air
IDE Precio Lenguaje
Flash CS5 Flash Builder
Desde USD$699 ActionScript MXML
Adobe Air Demo
Adobe Air
* Sólo funciona en el 10% de los smartphones con Android y en las Tablets con HoneyComb
Performance Documentación
Curva de aprendizaje
Componentes Plataformas soportadas
Bueno con ActionScript Malo con Flex
Buena Media Buena cantidad
iOS Android * Escritorio
Adobe Air
Para crear controles (botones, diálogos, etc) puedes hacerlo a mano usando ActionScript o Flex.
Los controles Flex se ven diferentes a los nativos, así que el usuario notará la diferencia
A pesar de que soporta ActionScript no soporta varias características de Flash, por lo que no se puede pasar una app Flash a móvil de forma transparente
Conclusiones Usa Aplicación nativa si te interesa mucho el rendimiento
y quieres usar funciones que ningún framework soporta como OpenGL.
Si tienes expertise con javascript, phonegap te permitirá una productividad instantánea a costo de un bajo performance.
Si necesitas que tu app funcione en BlackBerry, sólo phonegap te lo garantiza.
Conclusiones Lo mejor de Titanium es que utiliza controles nativos, pero
su DSL es un problema: es poco flexible si te quieres salir de los estándares que maneja.
Adobe Air tiene un ecosistema impresionante. Su IDE te permite hacer debug, simulaciones, construir interfaces con drag & drop; existen varias herramientas de análisis de código, de testing, etc.
Tiene dos desventajas: los controles se nota que no son nativos y el performance en smartphones es todavía lento (en tablets es muy bueno)
Conclusiones Si tienes expertise en Adobe Flex, puedes ser muy
productivo desde el inicio.
Gracias
Código http://github.com/tidyslice
Contacto [email protected]
Próximo Sábado : charla CocoaHeads México - telmexHub