Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Proyecto Apache Cordova

No description
by

Miguel Lopez

on 10 June 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Proyecto Apache Cordova

El 23 de Mayo apareció la nueva versión
Es mucho más fácil de desarrollar
Trabajando desde diferentes SO
Para hacer aplicaciones en iOS, es necesario un Mac
Llega Apache Cordova 3.5.0
Instalación
Ventajas de Apache Cordova
Las ventajas de programación de apache Cordova, pasan por un fácil desarrollo a través de leguajes mucho más sencillos;
HTML, CSS y Javascript
, frente a los lenguajes utilizados por Android;
JAVA y XML
.
De esta forma podemos crear comunicación entre actividades sin tener que tocar archivos como
androidmanifest
, y utilizando solo una página nueva y un enlace.
Además la posibilidad del diseño con CSS es mucho mas abierta que con los layouts de Android.

$1.25
Monday, June 16, 2014
Vol XCIII, No. 311
Origen de Cordova
Aparece una nueva Tecnología
Una tecnología aun en pañales
Desventajas de Apache Cordova
Hasta hace relativamente poco tiempo para programar en Android había que utilizar el tedioso método nativo con
JAVA y XML
, pero en el 2008 Nitobi presentó su proyecto
PhoneGap
en el
iPhoneDevCamp
, que utilizaba
HTML, CSS y Javascript
encapsulado en una aplicación nativa Android.
Tal fue su éxito que en el año 2011 Adobe compro Nitobi, provocando un cambio de estrategia y todo el código de
PhoneGap
se trasladó a la Fundación Apache con el nombre
Cordova
, que era el nombre de la calle donde Nitobi tenía su sede en Vancouver.
A partir de ese momento el proyecto
Apache Cordova
se convirtió en el motor de PhoneGap . Los dos proyectos se espera que se mantengan libres, ya que donde Adobe busca hacer negocio es en su producto "Adobe PhoneGap Build" que ofrece una plataforma en la nube para el empaquetado de aplicaciones hechas con PhoneGap.

No cabe duda de que Cordova es una tecnología con muchas posibilidades, pero que aun debe de mejorar bastante y seguir reinventandose, de hecho se puede encontrar que muchas de las funcionalidades no están disponibles para todas las plataformas.
Es necesario cargar el evento deviceready, ya que de lo contrario puede ser que la aplicación no funcione, aunque hay plugins que no necesitan de todas las librerías, es recomendable hacerlo para un correcto funcionamiento.
Para acceder a ciertos plugin como el Media se necesita una versión de Cordova que esta desfasada y es imposible de utilizar, dejando estos plugins inaccesibles.
El plugin File da problemas de uso, no funcionando correctamente.
El uso de datos guardado mediante localstorage no es persistente y desaparecen los datos al cerrar la aplicación, lo cual no es recomendable.

APACHE CORDOVA
¿Qué es Apache Cordova?
¿Cómo funiona?
Apache Cordova es un marco para desarrollo móvil de código abierto, el cual nos permite utilizar leguajes web como HTML5, CSS3 y JavaScript en multiplataforma, evitando de este modo la programación en lenguajes nativos como Java en Android.
Las aplicaciones se ejecutan dentro de un encapsulado dependiente de la plataforma indicada y utilizan enlaces estándares a las APIs para poder tener acceso a los sensores de los dispositivos, los datos y el estado de la red.
Apache Cordova
es útil:
Para extender una aplicación a más de una plataforma, sin tener que volver a implementarla en los lenguajes nativos y las herramientas que dependen de cada plataforma.
Si se desea implementar una aplicación que pueda distribuirse en varias app store diferentes y de distintos portales.
Si se desean mezclar componentes de la visiualización web con los componentes de una aplicación nativa, teniendo acceso a las API del dispositivo.

Lista de eventos en Apache Cordova
Eventos
La fuerza de Apache Cordova
Plugins
Cordova, mucho más que Android
Añadiendo Plataformas
Y su estructura de directorios
Creando un proyecto
Como mantener a los usuarios informados
Privacidad
Accesos sin restricción a la red
Listas Blancas
Realizada para una multinacional
Una aplicación real
Proyecto integrado DAW 2013/14
Proyecto realizado por:
Llega Apache Cordova 3.5.0
Funcionalidades, actualizaciones y mejoras
El 23 de Mayo de 2014, aparece la versión 3.5.0 de
Apache Cordova
con una serie de cambios, en algunos casos muy importantes, los más significativos han sido:
· El código común entre
cordova-cli
y
cordova-plugman
se ha mudado a su propio repositorio llamado
cordoba-lib
· Cada plataforma cuenta ahora con un archivo llamado package.json que se ha subido a NGP. Las futuras actualizaciones de
cordova.cli
harán uso de npm para las plataformas de carga
· Caída del apoyo de
iOS 5.0
y de
arm64
. Desde ahora los proyectos se crean en código binario universal de 64 y 32 bits requiriendo como mínimo el despliegue en
iOS 6.0
· Esta será la última versión con soporte para
Windows Phone 7
· Se ha añadido soporte para
Chrome devtools
, con versiones de depuración de amazon-fireos.

Instalación
Requisitos básicos para su instalación
Para la instalación de
Apache Cordova
vamos a necesitar preparar nuestras máquinas, para ello debemos descargar e instalar algunos programas (
SDK de android, NodeJS, Apache-Ant
), así como añadirlos al prompt.
Para seguir los pasos de la instalación tanto en
windows
como en
linux
, recomendamos ir al sitio web:
http://apachecordova.esy.es/instalacin.html
Aquí podrás encontrar toda la información necesaria para la instalación en tu sistema, así como los enlaces a las páginas oficiales para la descarga del software requerido.


Eventos
¿Qué son? ¿Cuales hay?
Mediante el uso de eventos podemos establecer acciones y comportamiento en nuestra aplicación en base a una serie de situaciones predefinidas por la API de Cordova
Tipos de eventos comunes


deviceready:
Este evento es fundamental para cualquier aplicación. Señala que las API del dispositivo de Córdoba han cargado y están listos para el acceso

pause:
Se desencadena el evento de pausa cuando la plataforma nativa pone la aplicación en segundo plano, por lo general cuando el usuario cambia a una aplicación distinta.

resume:
Se desencadena el evento de reanudación cuando la plataforma nativa vuelve a poner en primer plano a la aplicación.

backbutton:
Activa el boton backbutton para ir hacia atras en las pantallas de la aplicación.

menubutton:
La aplicación de un controlador de eventos reemplaza el comportamiento del botón de menú por defecto. (Solo Amazon Fire OS, Android y BlackBerry 10)

searchbutton
: Anula el coportamiento del botón de buesqueda. (Solo para Android)

startcallbutton:
Reemplaza el comportamiento del botón de inicio (Solo para BlackBerry 10)

endcallbutton:
Reemplaza el uso del botón end (Solo para BlackBerry 10)

volumedownbutton:
Reemplaza el uso del botón volumedown (Solo para BlackBerry10)

volumeupbutton:
Reemplaza el uso del botón volumeup (Solo para BlackBerry10)

Plugins
La fuerza de Apache Cordova
El proyecto básico de
Cordova
mantiene la mínima API requerida, pero si queremos agregar nuevos plugins como; vibración, cámara, contactos... se necesita ampliar la API.
Para ampliarla es tan sencillo como utilizar el siguiente comando dentro del directorio del proyecto:

cordova plugin add [plugin que necesitemos]

Cada plugin tiene sus propios métodos, aunque no todos ellos son validos para todas las plataformas, por lo que hay que tener cuidado a la hora de utilizarlos.

Listado de los plugins que existen en Apache Cordova
· Acelerometro
· Brújula
· Cámara
· Contactos
· Dialog
· Device
· File
· Geolocalización
· Globalización
· Inappbrowser
· network-information
· Splashscreen
· Vibración
· Guía de desarrollo de plugins



Añadiendo PLataformas
Cordova, mucho más que Android
Antes de que se construya el proyecto, se debe de especificar el conjunto de la plataformas de destino. La capacidad para ejecutar estos comandos depende de si la maquina soporta los
SDK
y de si esta instalado.

La forma de añadir plataformas es utilizando el siguiente comando dentro del directorio del proyecto:
cordova platform add [nombre de la plataforma]

Se puede ver que plataformas están instaladas con:
cordova platform ls

y borrarlas con:
cordova platform rm [nombre de la plataforma]

Las plataformas se crean como subdirectorios dentro del directorio platforms del proyecto y cada uno tiene su propio
www
.
Creando un proyecto
Y su estructura de directorios
Ubicándose en el directorio donde se desea mantener el código fuente, se debe de ejecutar el siguiente comando:

$ cordova create hola com.example.hola HolaMundo

La producción de la aplicación puede llevar cierto tiempo, por lo que se debe de esperar, pero se puede ejecutar el comando
cordova -d
para ir teniendo información durante el proceso.

Se puede observar que se han enviado tres argumentos:
el directorio donde se alojará el proyecto
el nombre del paquete
el nombre del proyecto

Privacidad
Como mantener informados a los usuarios
La privacidad en las aplicaciones móviles es una cuestión fundamental para los desarrolladores. Los usuarios esperan que sus información privada sea tratada apropiadamente por sus aplicaciones. Esto añadido a la creciente legislación y requisitos legales sobre las prácticas de privacidad móvil, hace necesario que cualquier desarrollador mantenga esta cuestión en serio.

Por estas razones hemos añadido un apéndice en la documentación, sobre como poder tratar este tema.

http://apachecordova.esy.es/apndice_iii_gua_de_privacidad.html
¡¡Bases de datos en Cordova!!
Almacenamiento de datos (SQL)
Páginas, referencias...
Bibliografía del proyecto
Listas blancas
Acceso sin restricción a la red
Las
listas blancas
de recursos son un modelo de seguridad que controla el acceso a recursos de red externos como http://google.com . La directiva de seguridad predeterminada de
Apache Cordova
permite el acceso a cualquier recurso en cualquier sitio en Internet.

El dominio
whitelisting
sienta las bases para la especificación W3C Widget access. En esta especificación la etiqueta
<access>
se utiliza para declarar el acceso a recursos de red específicos.
Apache Cordova
extiende ese concepto para permitir las listas blancas de recursos URL de la red individualmente.

Andorid apoya de forma incondicional la introducción de listas blandas

Para introducir una lista blanca en Android es muy sencillo; las reglas se encuentran en el archivo:
res/xml/config.xml
y se debe de declarar el elemento
<access origin="..."/>
Bibliografía del proyecto
Páginas, referecnias...
Página oficial de Apache cordova
https://cordova.apache.org/

Wikipedia
http://es.wikipedia.org/wiki/Wikipedia:Portada

HTML5 Rocks
http://www.html5rocks.com/es/tutorials/file/filesystem/

Pineappslab
http://pineappslab.wordpress.com/2013/08/06/como-configurar-phonegap-apache-cordova-y-no-morir-en-el-intento/

Stackoverflow
http://stackoverflow.com/

Apache Cordova en Ubuntu
http://www.gaggl.com/2014/04/apache-cordova-development-environment-install-on-ubuntu/

Almacenamiento de datos (SQL)
¡¡Bases de datos en Cordova!!
Mediante el manejo de la API de almacenamiento de datos (
Storage
) de
Apache Cordova
podemos, entre otras cosas, crear y manipular bases de datos
SQL Lite
, basándose en la especificación para Web SQL de W3C.

Esta API permite además almacenar información mediante el uso de pares clave-valor (localStorage), basándose también en especificaciones W3C. Sin embargo, en la práctica, esta forma no es muy recomendable ya que no es capaz de almacenar datos de forma permanente. La comunidad de usuarios y desarrolladores suele desaconsejar su uso.

En la documentación hemos desarrollado una pequeña aplicación que muestra el uso de una base de datos.

http://apachecordova.esy.es/almacenamiento_de_datos_sql.html
Una aplicación real
Desarrollada para una multinacional
La empresa ZPAS.net, lugar donde hemos realizado las prácticas, nos solicitó una aplicación en Apache Cordoba. Dicha aplicación, debía de ser un escaparate para sus posibles clientes, pero lejos de ser un catálogo, queríam que fuera una muestra de sus productos más significativos.
Durante el desarrollo de la misma, partiendo desde cero, incluimos un CSS sencillo, con el diseño que ellos nos pidieron, y en su interior galerías de imágenes en sliders que funcionan con JQuery y que se puede manejar con la pantalla táctil.
Le hemos introducido además el plugin de Splashscreen, y el de dialog, para los contactos

Proyecto realizado por:
Proyecto integrado DAW 2013/14
Desarrollado por:
Jesús Chicano Ramirez
@jesuschicano
jesuschicano3988@gmail.com

Miguel A. López Torralba
@_mialto_
miguel.a.torralba@gmail.com

Álvaro Serrano García
@Alvaro_Serrano8
alvarosg88@gmail.com

Dirigido por:
Jaime Rabasco Ronda

WEB de documentación
apachecordova.esy.es
Full transcript