desarrollo de apps con la herramienta phonegap

31
02/06/2012

Upload: congresoweb

Post on 24-Apr-2015

9.692 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Desarrollo de Apps con la herramienta Phonegap

02/06/2012

Page 2: Desarrollo de Apps con la herramienta Phonegap

Presentación

http://es.linkedin.com/in/jorgepintado

@jorgepsant

[email protected]

Page 3: Desarrollo de Apps con la herramienta Phonegap

¿Qué es?

PhoneGap is an open source solution for building cross-platform mobile apps with standards-based Web technologies like HTML, JavaScript, CSS.

¿Páginas web?Si… que acceden a funciones del dispositivo.

PhoneGap:

Page 4: Desarrollo de Apps con la herramienta Phonegap

¿Cuánto cuesta?

PhoneGap es una implementación de código abierto de estándares open-source y LIBRES.

Aplicaciones móviles gratuitas

(freeware)

Aplicaciones comerciales

(de pago)Open Source

Combinación de estas licencias

Page 5: Desarrollo de Apps con la herramienta Phonegap

Proyecto

Nitobi

Adobe

Apache

Apache Callback Apache Cordova

Page 6: Desarrollo de Apps con la herramienta Phonegap

Actividad

https://github.com/phonegap

1.7.0 para descarga (1.8.0rc2)

0.8.0: Apple aprueba las aplicaciones con PhoneGap

Versiones

Page 7: Desarrollo de Apps con la herramienta Phonegap

Grupos y encuentrosGrupos 29 Miembros 4.128

Interesado 900 Ciudades 24

Países 10

http://groups.google.com/group/phonegap

Page 8: Desarrollo de Apps con la herramienta Phonegap

Pero… y su modelo de negocio

PhoneGap:build

FormaciónSoporte

Page 9: Desarrollo de Apps con la herramienta Phonegap
Page 10: Desarrollo de Apps con la herramienta Phonegap

Soporte de PhoneGap:

Page 11: Desarrollo de Apps con la herramienta Phonegap

¿Cómo?

Une código nativo con objetos JavaScript, que se visualizan en un navegador

Page 12: Desarrollo de Apps con la herramienta Phonegap

Alternativas

appMobi

• Tecnologías web, open source y Cloud Computing• Plataformas: iOS, Android, Windows, Mac OSX, Linux.

Appcelerator Titanium

• Solución para desarrollar y mantener aplicaciones móviles.• Sin necesidad de programación.• Ciclo de desarrollo de pocos días (o día).

Red Foundry

rhomobile

• Convierte Flash en aplicaciones móviles y juegos.• Pensado para desarrolladores flash.

Corona

Page 13: Desarrollo de Apps con la herramienta Phonegap

Limitaciones

MÁS importante que saber usar una herramienta es saber cuándo NO usarla

¿Consumes recursos gráficos?

(juego,…)Usa OpenGL

¿Utilizas funciones del sistema?

Utiliza una web app.

OJO: en iOS utiliza hardware para tareas del CSS mayor rendimiento

Page 14: Desarrollo de Apps con la herramienta Phonegap

Prototipado

Realizar una aproximación rápidaLuego ajustar entre plataformas

Buen enfoque

• Usar porcentajes en el diseño inicialmente, y luego ajustar entre plataformas.• Combinar con <meta name=“viewport”> (indica el tamaño de la pantalla a mostrar)

Recomendable

Page 15: Desarrollo de Apps con la herramienta Phonegap

Prototipado (II)

• Evitar copy-paste

• Fácil de leer:• Facil de extender• Facil de reutilizar

• Modular and layer approach

Aplicar buenas prácticas de programación:

Page 16: Desarrollo de Apps con la herramienta Phonegap

Prototipado (III)•Modelo-Vista-Controlador

App

Modelo

VistaControlador

Page 17: Desarrollo de Apps con la herramienta Phonegap

OfflinePor su naturaleza, los smartphone no están conectados de forma continua (cobertura, …)

MUY IMPORTANTE para una aplicación es manejar esta situación, sobre todo en iOS

Apple revisa

Page 18: Desarrollo de Apps con la herramienta Phonegap

Almacenamiento persistente

Dos aproximaciones:

FicherosPermite la lectura/escritura

Android, iOS, webOs, BB 6.0NOTA: cada página puede darnos solo un objeto BBDD

Sqlite

cada objeto iun máximo de 5MB! (2 en Android configurable)

Almacenamiento clave/valor

“Persistant storage”

Page 19: Desarrollo de Apps con la herramienta Phonegap

XUI

Framework JavaScript (xuijs.com), pero diseñado para dispositivos móviles

EL TAMAÑO IMPORTA (<10KB)

Plataformas: • Android• iOS• Symbian• Palm• … ¡y BlackBerry!

Page 20: Desarrollo de Apps con la herramienta Phonegap

Rendimiento

Utilizar una página HTML (single page)

+JavaScript para

show/hide

¡OJO! En BlackBerry cada nueva página fuerza a codificar en base 64 en tiempo de ejecución

Aplicación pequeña

Page 21: Desarrollo de Apps con la herramienta Phonegap

Rendimiento

Mayor tamaño

Ofuscación/recortar JavaScript:

Los dispositivos móviles tienen limitada la

memoria para JavaScript en el navegador

Si es pequeño, no es necesario estar

paginando in/out la memoria del navegador

Por ejemplo: en iOS hay reservado 25KB

Page 22: Desarrollo de Apps con la herramienta Phonegap

Funcionalidades

Accelerometer Camera Capture Compass Connection Contacts

Device Events File Geolocation Media Notification Storage

http://phonegap.com/about/features

Page 23: Desarrollo de Apps con la herramienta Phonegap

Pasos para iOS

1.- Sign up at http://developer.apple.com/iphone2.- Download the latest iPhone SDK and install it. 3.- Run 'make' in [phonegap source]/iphone 4.- Open up Xcode and click:

4.1.- New project4.2.- User templates4.3.- PhoneGap-based Application

5.- Start building your app in the www folder.

Solo para Mac. VMWare es tu amigo... o enemigo

Page 24: Desarrollo de Apps con la herramienta Phonegap

Pasos para Android

1.- Download and install the Android SDK here: http://developer.android.com/sdk/installing.html

2.- Run "android" in your terminal.3.- Update all from the weird GUI that launches.4.- Generate a new project (See README): ./droidgap <sdk> <name> <package> <www> <path> 5.- Import into Eclipse (optional)

Page 25: Desarrollo de Apps con la herramienta Phonegap

Pasos para Symbian

1.- Download Aptana Studio from http://aptana.org2.- File > New > Project... 3.- Nokia Web Runtime > Import widget 4.- Point to a copy of the www from phonegap/symbian

Page 26: Desarrollo de Apps con la herramienta Phonegap

¿Algo en común?Repetición de pasos:

1.- SDK 2.- generar un proyecto 3.- compilar

PhoneGap-dev, automatiza los procesos de:• Generación de proyectos• Compilar y ejecutar en emulador o dispositivos

phonegap --generate path/to/MyFreshApp phonegap --build path/to/MyFreshApp phonegap --report path/to/MyFreshApp phonegap --install

https://github.com/brianleroux/phonegap-dev

Page 27: Desarrollo de Apps con la herramienta Phonegap

¡Se acabó el miedo de compilar aplicaciones móviles para varias plataformas!

Escribe una vezCompila en la nubeEjecuta en cualquier dispositivo

https://build.phonegap.com/

Escribe tu app usando HTML, CSS y

JavaScript

Envía la app a Phone

Gap Build

Obten la app lista para

publicar

Page 28: Desarrollo de Apps con la herramienta Phonegap

Ejemplos

vibraciónnavigator.notification.vibrate(0);

beepnavigator.notification.beep(2);

Cámaranavigator.camera.getPicture( cameraSuccess, cameraError, [ cameraOptions ] );

Acelerómetronavigator.accelerometer.getCurrentAcceleration(accelerometerSuccess, accelerometerError);

Page 29: Desarrollo de Apps con la herramienta Phonegap

Plugins

Código JavaScript o Java + JavaScript

https://github.com/phonegap/phonegap-plugins

Page 30: Desarrollo de Apps con la herramienta Phonegap

Fuente de PhoneGap

https://github.com/phonegap/phonegap

¡Vamos a verlo!

Page 31: Desarrollo de Apps con la herramienta Phonegap

02/06/2012

Preguntas

@jorgepsant