Mobile wars: ¿cuál es la mejor opción para desarrollo móvil multiplataforma? Un caso de estudio

Post on 12-Jun-2015

2.638 views 0 download

Transcript of Mobile wars: ¿cuál es la mejor opción para desarrollo móvil multiplataforma? Un caso de estudio

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 info@tidyslice.com

Próximo Sábado : charla CocoaHeads México - telmexHub