abraham barrera - dev-cross-mobile

158
Abraham Barrera Desarrollador @abraham_barrera Desarrollo Móvil Multiplataforma ¿Por dónde comenzar?

Upload: startech-conference

Post on 22-Nov-2014

1.256 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Abraham Barrera - dev-cross-mobile

Abraham BarreraDesarrollador@abraham_barrera

Desarrollo Móvil Multiplataforma¿Por dónde comenzar?

Page 2: Abraham Barrera - dev-cross-mobile

Acerca de @abraham_barrera

Page 3: Abraham Barrera - dev-cross-mobile

Desarrollador RoR y Mobile en Continuum

Page 4: Abraham Barrera - dev-cross-mobile

Apasionado por el desarrollo Web desde 2001 y Móvil desde 2008

Page 5: Abraham Barrera - dev-cross-mobile

Músico Amateur

Page 6: Abraham Barrera - dev-cross-mobile

Deportista Amateur

Page 7: Abraham Barrera - dev-cross-mobile

Abraham BarreraDesarrollador@abraham_barrera

Desarrollo Móvil Multiplataforma¿Por dónde comenzar?

Page 8: Abraham Barrera - dev-cross-mobile

Abraham BarreraDesarrollador@abraham_barrera

Desarrollo Móvil Multiplataforma¿Por dónde comenzar?

Page 9: Abraham Barrera - dev-cross-mobile

Abraham BarreraDesarrollador@abraham_barrera

Desarrollo Móvil Multiplataforma¿Por dónde comenzar?

Page 10: Abraham Barrera - dev-cross-mobile

Desarrollo Móvil

Page 11: Abraham Barrera - dev-cross-mobile

Objetivos “No Funcionales”

Page 12: Abraham Barrera - dev-cross-mobile

Objetivos “No Funcionales”

Page 13: Abraham Barrera - dev-cross-mobile

Usable

Page 14: Abraham Barrera - dev-cross-mobile

UsableEficiente - Fluido

Page 15: Abraham Barrera - dev-cross-mobile

UsableFluido - Fluido

Portable

Page 16: Abraham Barrera - dev-cross-mobile

Objetivos “Menos Funcionales”

Page 17: Abraham Barrera - dev-cross-mobile

Objetivos “Menos Funcionales”

Page 18: Abraham Barrera - dev-cross-mobile

Trabajar con Cerveza

Page 19: Abraham Barrera - dev-cross-mobile

Trabajar con Cerveza

Divertirse

Page 20: Abraham Barrera - dev-cross-mobile

Trabajar con Cerveza

DivertirseHacerlo rápido

Page 21: Abraham Barrera - dev-cross-mobile

Trabajar con Cerveza

DivertirseHacerlo rápido

Disfrutar el código

Page 22: Abraham Barrera - dev-cross-mobile

Trabajar con Cerveza

DivertirseHacerlo rápido

Disfrutar el código

UsableEficiente - Fluido

Portable

Page 23: Abraham Barrera - dev-cross-mobile

Trabajar con Cerveza

DivertirseHacerlo rápido

Disfrutar el código

UsableEficiente - Fluido

Portable

Page 24: Abraham Barrera - dev-cross-mobile

Elección de la Tecnología

Page 25: Abraham Barrera - dev-cross-mobile

¿WEB o

no WEB?

Page 26: Abraham Barrera - dev-cross-mobile

CSS3

Page 27: Abraham Barrera - dev-cross-mobile
Page 28: Abraham Barrera - dev-cross-mobile
Page 29: Abraham Barrera - dev-cross-mobile
Page 30: Abraham Barrera - dev-cross-mobile
Page 31: Abraham Barrera - dev-cross-mobile

Usable

Page 32: Abraham Barrera - dev-cross-mobile

Framework o Diseñador Web

Page 33: Abraham Barrera - dev-cross-mobile

Eficiente - Fluido

Page 34: Abraham Barrera - dev-cross-mobile

Depende de la conexión (Kb)

Page 35: Abraham Barrera - dev-cross-mobile

Portables por Naturaleza

Page 36: Abraham Barrera - dev-cross-mobile

Use Frameworks WEB

Page 37: Abraham Barrera - dev-cross-mobile

Abraham BarreraDesarrollador@abraham_barrera

Muchas gracias !

¿Preguntas?

Page 38: Abraham Barrera - dev-cross-mobile

Funcionalidades Nativas

Page 39: Abraham Barrera - dev-cross-mobile

GPS

Page 40: Abraham Barrera - dev-cross-mobile

¿ GPS ?

Page 41: Abraham Barrera - dev-cross-mobile

¿ GPS ?

Acelerómetro

Page 42: Abraham Barrera - dev-cross-mobile

¿ GPS ?

Acelerómetro

Notificaciones PUSH

Page 43: Abraham Barrera - dev-cross-mobile

¿ GPS ?

Acelerómetro

Notificaciones PUSH

Libreta de Contactos

Page 44: Abraham Barrera - dev-cross-mobile

¿ GPS ?

Acelerómetro

Notificaciones PUSH

Libreta de Contactos

Cámara Fotográfica

Page 45: Abraham Barrera - dev-cross-mobile

GPS ?

Acelerómetro

Notificaciones PUSH

Libreta de Contactos

Cámara Fotográfica

Audio y Video

Page 46: Abraham Barrera - dev-cross-mobile

GPS ?

Acelerómetro

Notificaciones PUSH

Libreta de Contactos

Cámara Fotográfica

Audio y Video

Sistema de Archivos

Page 47: Abraham Barrera - dev-cross-mobile

Computadores

!=

Dispositivos Móviles

Page 48: Abraham Barrera - dev-cross-mobile

Desarrollo Nativo

Page 49: Abraham Barrera - dev-cross-mobile

Web

I

Page 50: Abraham Barrera - dev-cross-mobile

I

Page 51: Abraham Barrera - dev-cross-mobile

Desarrollo Nativo

(Necesidad)

Page 52: Abraham Barrera - dev-cross-mobile
Page 53: Abraham Barrera - dev-cross-mobile
Page 54: Abraham Barrera - dev-cross-mobile

¿Aprender o

no Aprender?

Page 55: Abraham Barrera - dev-cross-mobile

El tiempo

es Oro

Page 56: Abraham Barrera - dev-cross-mobile

Tranquilo

Papá !

Page 57: Abraham Barrera - dev-cross-mobile

Take it

Easy !

Page 58: Abraham Barrera - dev-cross-mobile

Herramientas de

código abierto

Page 59: Abraham Barrera - dev-cross-mobile

Multiplataforma ?

Page 60: Abraham Barrera - dev-cross-mobile

Multiplataforma !=

Codificar una vez y ejecutar en todas partes

Page 61: Abraham Barrera - dev-cross-mobile

Multiplataforma

==

Codificar una vez y generar para ejecutar en cada una de las partes

Page 62: Abraham Barrera - dev-cross-mobile

Rhodes - RhoMobile

Page 63: Abraham Barrera - dev-cross-mobile

Rhodes - RhoMobile

PhoneGap

Page 64: Abraham Barrera - dev-cross-mobile

Rhodes - RhoMobile

PhoneGap

Titanium Mobile

Page 65: Abraham Barrera - dev-cross-mobile

Rhodes - RhoMobile

PhoneGap

Titanium Mobile

Page 66: Abraham Barrera - dev-cross-mobile
Page 67: Abraham Barrera - dev-cross-mobile

Ruby / HTML / CSS / JS

Page 68: Abraham Barrera - dev-cross-mobile

Con sabor a Rails

Page 69: Abraham Barrera - dev-cross-mobile

Sincronización de Datos embebida

Page 70: Abraham Barrera - dev-cross-mobile

Android, iOS, RIM, WM, otros

Page 71: Abraham Barrera - dev-cross-mobile

Interfaz HíbridaDemasiado gusto a Web Embebido

Page 72: Abraham Barrera - dev-cross-mobile

Código Nativo Invisible

Page 73: Abraham Barrera - dev-cross-mobile

$ gem install rhodes

$ rhodes app test_rhodes <url>

$ rake run:android

Page 74: Abraham Barrera - dev-cross-mobile
Page 75: Abraham Barrera - dev-cross-mobile
Page 76: Abraham Barrera - dev-cross-mobile

(demo)

Page 77: Abraham Barrera - dev-cross-mobile
Page 78: Abraham Barrera - dev-cross-mobile

HTML / CSS / Javascript

Page 79: Abraham Barrera - dev-cross-mobile

Android, iOS, RIM, WM, otros

Page 80: Abraham Barrera - dev-cross-mobile

Interfaz Web Embebida

Page 81: Abraham Barrera - dev-cross-mobile

Trabajo Directamente sobre el código nativo

Page 82: Abraham Barrera - dev-cross-mobile

$ cri cri cri

Page 83: Abraham Barrera - dev-cross-mobile

$ echo “Instale PhoneGap”

$ echo “Ejecute el Instalador”

$ echo “Haga un nuevo proyecto”(en su IDE “favorito”)

$ echo “Ejecute desde el IDE”

Page 84: Abraham Barrera - dev-cross-mobile
Page 85: Abraham Barrera - dev-cross-mobile
Page 86: Abraham Barrera - dev-cross-mobile

(demo)

Page 87: Abraham Barrera - dev-cross-mobile
Page 88: Abraham Barrera - dev-cross-mobile

Javascript

Page 89: Abraham Barrera - dev-cross-mobile

CoffeeScript / Compass / SASS

Page 90: Abraham Barrera - dev-cross-mobile

Android, iOS, RIM

Page 91: Abraham Barrera - dev-cross-mobile

Android, iOS

Page 92: Abraham Barrera - dev-cross-mobile

Interfaz Nativa

Page 93: Abraham Barrera - dev-cross-mobile

si Nativa !

Page 94: Abraham Barrera - dev-cross-mobile

Código nativo Invisible

Page 95: Abraham Barrera - dev-cross-mobile

Extensible

Page 96: Abraham Barrera - dev-cross-mobile

$ 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

Page 97: Abraham Barrera - dev-cross-mobile
Page 98: Abraham Barrera - dev-cross-mobile
Page 99: Abraham Barrera - dev-cross-mobile

(demo)

Page 100: Abraham Barrera - dev-cross-mobile

Azucar Sintáctico

Page 101: Abraham Barrera - dev-cross-mobile

Ti Gemhttps://github.com/revans/Ti

Page 102: Abraham Barrera - dev-cross-mobile

$ gem install ti

$ ti new test_titanium cl.ibrain.test_ti iphone

$ ti s window Sample main

$ ti compile all

$ ti build iphone

Page 103: Abraham Barrera - dev-cross-mobile
Page 104: Abraham Barrera - dev-cross-mobile

Coffee

Page 105: Abraham Barrera - dev-cross-mobile

Coffee

Javascript

Page 106: Abraham Barrera - dev-cross-mobile

Coffee

Javascript

Objective-CJava

Page 107: Abraham Barrera - dev-cross-mobile

Coffee

Javascript

Objective-CJava

Page 108: Abraham Barrera - dev-cross-mobile
Page 109: Abraham Barrera - dev-cross-mobile
Page 110: Abraham Barrera - dev-cross-mobile

Bridge Javascript To *

Page 111: Abraham Barrera - dev-cross-mobile
Page 112: Abraham Barrera - dev-cross-mobile

iOS

JavaScriptCore webkit

http://opensource.apple.com/source/JavaScriptCore/

Page 113: Abraham Barrera - dev-cross-mobile

Genera un proyecto iOS

Page 114: Abraham Barrera - dev-cross-mobile

Genera un proyecto iOS

Serializa el Código JS

Page 115: Abraham Barrera - dev-cross-mobile

Genera un proyecto iOS

Serializa el Código JS

Embebe el código en C

Page 116: Abraham Barrera - dev-cross-mobile

Genera un proyecto iOS

Serializa el Código JS

Embebe el código en C

Compila el código nativo

Page 117: Abraham Barrera - dev-cross-mobile

Genera un proyecto iOS

Serializa el Código JS

Embebe el código en C

Compila el código nativo

Interpreta en runtime

Page 118: Abraham Barrera - dev-cross-mobile

Android

Rhino JSC Compiler

http://www.mozilla.org/rhino/jsc.html

Page 119: Abraham Barrera - dev-cross-mobile

Genera un proyecto Android

Page 120: Abraham Barrera - dev-cross-mobile

Genera un proyecto Android

Compila javascript con JSC

Page 121: Abraham Barrera - dev-cross-mobile

Genera un proyecto Android

Compila javascript con JSC

Embebe archivos .class

Page 122: Abraham Barrera - dev-cross-mobile

Genera un proyecto Android

Compila javascript con JSC

Embebe archivos .class

Genera el APK

Page 123: Abraham Barrera - dev-cross-mobile

Genera un proyecto Android

Compila javascript con JSC

Embebe archivos .class

Genera el APK

Ejecuta en runtime

Page 124: Abraham Barrera - dev-cross-mobile

Titanium es

Extensible

Page 125: Abraham Barrera - dev-cross-mobile

Módulos

Page 126: Abraham Barrera - dev-cross-mobile

Escritos en código nativoJava, Objective-C, Javascript

Page 127: Abraham Barrera - dev-cross-mobile

Javascript App

Módulo(TiModule - KrollModule)

Proxy

View Proxy

View

requierecreatecreateView

Page 128: Abraham Barrera - dev-cross-mobile
Page 129: Abraham Barrera - dev-cross-mobile

$ titanium create

–- platform=android

–- type=module

–- dir=.

–- name=mimodulo

–- id=org.adamantio.mimodulo

Page 130: Abraham Barrera - dev-cross-mobile

$ ant

$ ant run

Page 131: Abraham Barrera - dev-cross-mobile

Conclusiones

Page 132: Abraham Barrera - dev-cross-mobile

¿ Por dónde comenzar ?

Page 133: Abraham Barrera - dev-cross-mobile

¿ Web o no Web ?

Page 134: Abraham Barrera - dev-cross-mobile

Elija el framework adecuado

Page 135: Abraham Barrera - dev-cross-mobile

Rhodes

Page 136: Abraham Barrera - dev-cross-mobile

PhoneGap

Page 137: Abraham Barrera - dev-cross-mobile

Titanium Mobile

Page 138: Abraham Barrera - dev-cross-mobile

Titanium Mobile + Ti GemCon azucar

Page 139: Abraham Barrera - dev-cross-mobile

¿Romperla aún Más?

Page 140: Abraham Barrera - dev-cross-mobile

Colabora !

Page 141: Abraham Barrera - dev-cross-mobile

¿Donde?

Page 142: Abraham Barrera - dev-cross-mobile

¿Comunidades de Desarrollo móvil?

Page 143: Abraham Barrera - dev-cross-mobile
Page 144: Abraham Barrera - dev-cross-mobile
Page 145: Abraham Barrera - dev-cross-mobile
Page 146: Abraham Barrera - dev-cross-mobile

Notobi Acquired

Page 147: Abraham Barrera - dev-cross-mobile
Page 148: Abraham Barrera - dev-cross-mobile
Page 149: Abraham Barrera - dev-cross-mobile
Page 150: Abraham Barrera - dev-cross-mobile

¿Comunidades de Desarrollo móvil?

Page 151: Abraham Barrera - dev-cross-mobile

¿Comunidades [REALES] de Desarrollo móvil?

Page 152: Abraham Barrera - dev-cross-mobile

Más fuerte que el Titanium

Page 153: Abraham Barrera - dev-cross-mobile

Adamantio Mobile

Page 154: Abraham Barrera - dev-cross-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

Page 155: Abraham Barrera - dev-cross-mobile

Admantio - Roadmap

2011 Q4 – Researching & Docs

*ideas: ruby gem, kill Win & BB support 2012 Q1 – First release with docs Module development

Q2 – Increase modules

Page 156: Abraham Barrera - dev-cross-mobile

Ti Gem

https://github.com/revans/Ti

Page 157: Abraham Barrera - dev-cross-mobile

StarTechConf 2011

https://github.com/abrahambarrera/

src-startechconf

Page 158: Abraham Barrera - dev-cross-mobile

Abraham BarreraDesarrollador@abraham_barrera

Muchas gracias !