Abraham Barrera - dev-cross-mobile
-
Upload
startech-conference -
Category
Technology
-
view
1.261 -
download
2
description
Transcript of Abraham Barrera - dev-cross-mobile
Abraham BarreraDesarrollador@abraham_barrera
Desarrollo Móvil Multiplataforma¿Por dónde comenzar?
Acerca de @abraham_barrera
Desarrollador RoR y Mobile en Continuum
Apasionado por el desarrollo Web desde 2001 y Móvil desde 2008
Músico Amateur
Deportista Amateur
Abraham BarreraDesarrollador@abraham_barrera
Desarrollo Móvil Multiplataforma¿Por dónde comenzar?
Abraham BarreraDesarrollador@abraham_barrera
Desarrollo Móvil Multiplataforma¿Por dónde comenzar?
Abraham BarreraDesarrollador@abraham_barrera
Desarrollo Móvil Multiplataforma¿Por dónde comenzar?
Desarrollo Móvil
Objetivos “No Funcionales”
Objetivos “No Funcionales”
Usable
UsableEficiente - Fluido
UsableFluido - Fluido
Portable
Objetivos “Menos Funcionales”
Objetivos “Menos Funcionales”
Trabajar con Cerveza
Trabajar con Cerveza
Divertirse
Trabajar con Cerveza
DivertirseHacerlo rápido
Trabajar con Cerveza
DivertirseHacerlo rápido
Disfrutar el código
Trabajar con Cerveza
DivertirseHacerlo rápido
Disfrutar el código
UsableEficiente - Fluido
Portable
Trabajar con Cerveza
DivertirseHacerlo rápido
Disfrutar el código
UsableEficiente - Fluido
Portable
Elección de la Tecnología
¿WEB o
no WEB?
CSS3
Usable
Framework o Diseñador Web
Eficiente - Fluido
Depende de la conexión (Kb)
Portables por Naturaleza
Use Frameworks WEB
Abraham BarreraDesarrollador@abraham_barrera
Muchas gracias !
¿Preguntas?
Funcionalidades Nativas
GPS
¿ GPS ?
¿ GPS ?
Acelerómetro
¿ GPS ?
Acelerómetro
Notificaciones PUSH
¿ GPS ?
Acelerómetro
Notificaciones PUSH
Libreta de Contactos
¿ GPS ?
Acelerómetro
Notificaciones PUSH
Libreta de Contactos
Cámara Fotográfica
GPS ?
Acelerómetro
Notificaciones PUSH
Libreta de Contactos
Cámara Fotográfica
Audio y Video
GPS ?
Acelerómetro
Notificaciones PUSH
Libreta de Contactos
Cámara Fotográfica
Audio y Video
Sistema de Archivos
Computadores
!=
Dispositivos Móviles
Desarrollo Nativo
Web
I
I
Desarrollo Nativo
(Necesidad)
¿Aprender o
no Aprender?
El tiempo
es Oro
Tranquilo
Papá !
Take it
Easy !
Herramientas de
código abierto
Multiplataforma ?
Multiplataforma !=
Codificar una vez y ejecutar en todas partes
Multiplataforma
==
Codificar una vez y generar para ejecutar en cada una de las partes
Rhodes - RhoMobile
Rhodes - RhoMobile
PhoneGap
Rhodes - RhoMobile
PhoneGap
Titanium Mobile
Rhodes - RhoMobile
PhoneGap
Titanium Mobile
Ruby / HTML / CSS / JS
Con sabor a Rails
Sincronización de Datos embebida
Android, iOS, RIM, WM, otros
Interfaz HíbridaDemasiado gusto a Web Embebido
Código Nativo Invisible
$ gem install rhodes
$ rhodes app test_rhodes <url>
$ rake run:android
(demo)
HTML / CSS / Javascript
Android, iOS, RIM, WM, otros
Interfaz Web Embebida
Trabajo Directamente sobre el código nativo
$ cri cri cri
$ echo “Instale PhoneGap”
$ echo “Ejecute el Instalador”
$ echo “Haga un nuevo proyecto”(en su IDE “favorito”)
$ echo “Ejecute desde el IDE”
(demo)
Javascript
CoffeeScript / Compass / SASS
Android, iOS, RIM
Android, iOS
Interfaz Nativa
si Nativa !
Código nativo Invisible
Extensible
$ echo “Descargar Titanium Studio”
$ git clone git://github.com/appcelerator/titanium_mobile.git
$ titanium create --platform="iphone,android" --name=test_video --id=org.adamantio.test_video –android=/android-sdk-mac_x86/
$ titanium run
(demo)
Azucar Sintáctico
Ti Gemhttps://github.com/revans/Ti
$ gem install ti
$ ti new test_titanium cl.ibrain.test_ti iphone
$ ti s window Sample main
$ ti compile all
$ ti build iphone
Coffee
Coffee
Javascript
Coffee
Javascript
Objective-CJava
Coffee
Javascript
Objective-CJava
Bridge Javascript To *
iOS
JavaScriptCore webkit
http://opensource.apple.com/source/JavaScriptCore/
Genera un proyecto iOS
Genera un proyecto iOS
Serializa el Código JS
Genera un proyecto iOS
Serializa el Código JS
Embebe el código en C
Genera un proyecto iOS
Serializa el Código JS
Embebe el código en C
Compila el código nativo
Genera un proyecto iOS
Serializa el Código JS
Embebe el código en C
Compila el código nativo
Interpreta en runtime
Android
Rhino JSC Compiler
http://www.mozilla.org/rhino/jsc.html
Genera un proyecto Android
Genera un proyecto Android
Compila javascript con JSC
Genera un proyecto Android
Compila javascript con JSC
Embebe archivos .class
Genera un proyecto Android
Compila javascript con JSC
Embebe archivos .class
Genera el APK
Genera un proyecto Android
Compila javascript con JSC
Embebe archivos .class
Genera el APK
Ejecuta en runtime
Titanium es
Extensible
Módulos
Escritos en código nativoJava, Objective-C, Javascript
Javascript App
Módulo(TiModule - KrollModule)
Proxy
View Proxy
View
requierecreatecreateView
$ titanium create
–- platform=android
–- type=module
–- dir=.
–- name=mimodulo
–- id=org.adamantio.mimodulo
$ ant
$ ant run
Conclusiones
¿ Por dónde comenzar ?
¿ Web o no Web ?
Elija el framework adecuado
Rhodes
PhoneGap
Titanium Mobile
Titanium Mobile + Ti GemCon azucar
¿Romperla aún Más?
Colabora !
¿Donde?
¿Comunidades de Desarrollo móvil?
Notobi Acquired
¿Comunidades de Desarrollo móvil?
¿Comunidades [REALES] de Desarrollo móvil?
Más fuerte que el Titanium
Adamantio Mobile
Admantio
http://developer.adamantio.org
http://groups.google.com/group/adamantio-devel
http://github.com/adamantio/adamantio
IRC #adamantio-devel
Commiters: @RodrigoAyala, @abraham_barrera, @FelipeDev
Admantio - Roadmap
2011 Q4 – Researching & Docs
*ideas: ruby gem, kill Win & BB support 2012 Q1 – First release with docs Module development
Q2 – Increase modules
Ti Gem
https://github.com/revans/Ti
StarTechConf 2011
https://github.com/abrahambarrera/
src-startechconf
Abraham BarreraDesarrollador@abraham_barrera
Muchas gracias !