Beruflich Dokumente
Kultur Dokumente
ASPECTOS AVANZADOS
7.1 Aspectos avanzados /
BACKEND DE VERDAD
Para poder hacer aplicaciones reales en muchas ocasiones Firebase Cloud Messaging1
necesitaremos realizar procesos que no se pueden realizar en
el mvil y necesitaremos apoyarnos en un backend remoto para Nos permite mandar mensajes push a
poder hacerlas. Tradicionalmente estos servicios teniamos que nuestros dispositivos, es decir, sin que
programarlos nosotros, pero en la actualidad cada vez tenemos ellos nos lo soliciten y de forma asncrona,
estos servicios disponibles programados por terceras personas sin el servidor puede mandar informacin a
necesidad de mantenerlas nosotros mismos. los dispositivos. Estos sistemas se pueden
usar en aplicaciones de notificacin de
Vamos a ver tres ejemplos de las funcionalidades que nos chats, mails, etc.
ofrece uno de los proveedores de servicios que hemos utilizado
anteriormente, Firebase. Nos permite mandar mensajes que puedan ver nuestros usuarios
o de control del dispositivo. A un grupo de usuarios, a los que
estn suscritos a un tema o a un usuario completo. Casi cualquier
aplicacin puede beneficiarse de este tipo de servicio.
(1) https://firebase.google.com/docs/cloud-messaging/
7.1 Aspectos avanzados / BACKEND DE VERDAD
Como hemos visto en el curso, desarrollando aplicaciones hbridas 2. En android los terminales tienen un botn back (atrs) fsico,
podemos crear una app que funciona tanto en plataformas android que los terminales iOS no tienen. Por tanto, las apps que
como iOS. Pero, debemos usar exactamente la misma aplicacin desarrollemos deben tener esto en cuenta, por ejemplo,
en ambos entornos? Hay alguna diferencia en desarrollar una mostrando un botn atrs slo para terminales iOS.
aplicacin para android y iOS? Podemos hacer aplicaciones
personalizadas para cada plataforma en el mismo proyecto de 3. Las listas, mens y cabeceras tienen un diseo especfico en
PhoneGap? Vamos a responder a estas preguntas. cada plataforma, y los usuarios de cada una esperan que sean
de esa forma.
Diferencias de diseo
Por suerte ambas plataformas cuentan con guas de estilo que
En primer lugar, existen algunas diferencias que deberan reflejarse debemos usar, el gua de interfaces de iOS4 y la de Material Design
en el propio diseo de la aplicacin. Vamos a ver 3 de ellas. de Android5.
El plugin device6
Las aplicaciones mviles se ejecutan en un entorno, el terminal 1. Evita los accesos innecesarios a la red. Muchas veces nuestra
mvil, que tiene capacidad limitada de recursos: memoria, CPU, aplicacin necesita varios recursos que se descargan de la red.
almacenamiento en disco, acceso a la red, batera, etc. Por En lugar de descargarlos de uno en uno, podemos descargar
ejemplo, si nuestra aplicacin est accediendo a la red tenemos todos en una nica peticin. Tambin haciendo uso de cache
que tener en cuenta que puede tener tiempos de respuesta largos, y almacenamiento local evitamos estos accesos. Otro caso es
desconexiones, etc. O si queremos pintar una imagen con millones que si vamos a mostrar un listado de recursos muy grandes, en
de pxeles, el sistema tienen que cargarla en memoria y tomar lugar de descargarnos todos lo vayamos haciendo poco a poco,
un tiempo hacerlo, incluso podemos consumir toda la memoria segn los vamos mostrando al usuario. Como regla general slo
disponible y la aplicacin pasa a un estado de error (crash). Por debemos descargar la informacin que vamos a mostrarle al
eso, es importante hacer un uso eficiente de los recursos para que usuario, ni ms ni menos.
nuestra aplicacin se ejecute de forma fluida y el usuario tenga
una buena experiencia de uso. 2. No esperar a los datos para empezar a pintar la interfaz. Hay
interfaces que para pintarse depende de datos de la red. Pero
Vamos a dar una serie de tips para que el rendimiento de nuestras podemos ir pintando la interfaz en el navegador vaca y cuando
apps no decaiga. tengamos datos la actualizamos. Tambin podemos usar splash
screens para que el usuario no pierda la paciencia.
7.3 Aspectos avanzados / RENDIMIENTO
3. Usar funciones que usen aceleracin por hardware, por ejemplo, El debugger de Phonegap
las animaciones CSS estn optimizadas por encima de las que
hacemos con JavaScript. Phonegap cuenta con una aplicacin para hacer debugging, weinre8
(inspector web remoto), que permite usar las devtools de Chrome
4. Usar fastclick para evitar el retardo de 300ms para escuchar para revisar nuestra aplicacin. Usando esta herramienta podemos
eventos mviles. detectar problemas de rendimiento al ver cmo se cargan los
recursos de nuestra app y ver si hay, por ejemplo, alguno muy
5. Optimiza las imgenes al tamao de la pantalla, para evitar pesado o algn proceso consume mucha memoria.
descargar imgenes de megas cuando van a pintarse en un
espacio pequeo de la pantalla. Para utilizar weinre debemos primero instalarlo usando npm, y
luego lanzarlo desde nuestro terminal. A continuacin incluimos
6. No usar frameworks pesados (en tamao) de JavaScript, como un script en nuestra app de PhoneGap para que se conecte al
jQuery, a no ser que de verdad estemos haciendo uso de sus servidor a travs de la red local. Cuando ya tenemos nuestra app
caractersticas. funcionando en la PhoneGap Developer App, usamos una URL que
nos da la aplicacin para abrir una web en nuestro navegador. En
esta web aparecen las devtools que inspeccionan directamente
nuestra app en el mvil. Podemos usar el inspector, la consola
JavaScript y en general todas las funcionalidades de las devtools.