Академический Документы
Профессиональный Документы
Культура Документы
SAILA Y FINANZAS
Informatika eta Telekomunikazio Direccin de Informtica
Zuzendaritza y Telecomunicaciones
Documento de Estndares
2012
Revisin Fecha
1 Febrero, 2015
2 Noviembre, 2015
ndice
1 Introduccin .......................................................................... 3
2 Consideraciones en el desarrollo mvil ....................................... 4
3 Tipos de aplicacin.................................................................. 6
3.1 MWA (Mobile Web Application): Aplicacin Mvil Web ....................... 6
3.2 Native RMA (Native Resident Mobile Application): Aplicacin Mvil
Residente Nativa .................................................................................. 7
3.3 Hybrid RMA (Hybrid Resident Mobile Application): Aplicacin Mvil
Residente Hbrida ................................................................................. 8
5 Versionado ........................................................................... 11
5.1 MWA (Mobile Web application) .................................................... 11
5.3 Native RMA (Native Resident Mobile Application) ............................ 11
5.2 Hybrid RMA (Hybrid Resident Mobile Application) ........................... 12
Guatcnicaparaeldesarrollodesolucionesmviles Pg.2
DocumentodeEstndares2012
1 Introduccin
En este documento se recogen las pautas y recomendaciones tcnicas a tener en cuenta de cara al
desarrollo de soluciones mviles en el entorno de la Red Corporativa Administrativa del Gobierno
Vasco (RCAGV).
En los siguientes captulos se describen bajo una perspectiva tcnica los tipos de soluciones mviles
y las consideraciones a tener en cuenta de cara a elegir un tipo u otro y cmo ser la entrega de la
aplicacin en el sistema de control de versiones (Subversion [SVN]) de la RCAGV.
Guatcnicaparaeldesarrollodesolucionesmviles Pg.3
DocumentodeEstndares2012
En el desarrollo de soluciones de movilidad se deben tener en cuenta distintos aspectos segn los
requerimientos a cubrir en la aplicacin:
Controles de interfaz: el sistema operativo del dispositivo determina los controles a usar en
la navegacin y experiencia de usuario
Costes de desarrollo:
Guatcnicaparaeldesarrollodesolucionesmviles Pg.4
DocumentodeEstndares2012
En el siguiente cuadro se puede ver cmo impacta el tipo de desarrollo mvil en las distintas
caractersticas de un proyecto de desarrollo:
Guatcnicaparaeldesarrollodesolucionesmviles Pg.5
DocumentodeEstndares2012
3 Tipos de aplicacin
En base a los requisitos establecidos para el desarrollo de una aplicacin mvil y la arquitectura
mvil se podran catalogar las aplicaciones en los siguientes tipos:
Web
Se trata de aplicaciones web desarrolladas para ser visualizadas y utilizadas en cualquier dispositivo
que tenga un navegador independientemente de que sea de escritorio o mvil. La aplicacin no se
instala en el dispositivo sino que es accesible a travs de un sitio que puede discriminar la
presentacin y el formato de la informacin en funcin de las dimensiones de la interfaz.
Por ejemplo, si la presentacin es en un pc de escritorio podra mostrar una tabla con 10 columnas,
pero si el dispositivo es una tablet podra mostrar 10 columnas en disposicin apaisada o 5 en
posicin vertical y si el dispositivo fuese un mvil incluso podra presentar la informacin a nivel de
registro.
En este tipo de aplicaciones el desarrollo se abstrae del sistema operativo y de las capacidades del
dispositivo basndose en:
Single Page Applications, donde la aplicacin se muestra en una nica pgina y los
contenidos se aaden y eliminan dinmicamente proporcionando una experiencia de
usuario ms fluida.
La arquitectura de estas aplicaciones se asemeja a las aplicaciones web tradicionales y suele contar
con:
Guatcnicaparaeldesarrollodesolucionesmviles Pg.6
DocumentodeEstndares2012
Normalmente se recurre a este tipo de desarrollo cuando se quiere adaptar una aplicacin web a un
dispositivo mvil en corto plazo de tiempo o con unos costes contenidos o cuando se quiere que un
mdulo de una aplicacin pueda consumirse desde dispositivos mviles.
Se trata de las aplicaciones que se instalan en el dispositivo y que se han desarrollado de forma
especfica para una determinada plataforma conforme al Software Development Kit (SDK)
correspondiente.
Las plataformas mviles junto con sus correspondientes SDKs y lenguajes de programacin ms
extendidas seran:
Desde el punto de vista de los costes de desarrollo esta opcin sera la ms costosa ya que supone
un desarrollo completo y recursos especficos por plataforma destino donde se publicar la
aplicacin.
Guatcnicaparaeldesarrollodesolucionesmviles Pg.7
DocumentodeEstndares2012
Las aplicaciones mviles residentes hbridas son aquellas que se instalarn en el dispositivo mvil y
cuyo desarrollo se implementa mediante lenguajes y patrones propios de las aplicaciones web as
como el acceso a las capacidades especficas del dispositivo mvil.
Caractersticas:
Desarrollo basado en un lenguaje web (C#, Java, Javascript, C++) que se compila al
lenguaje del sistema operativo correspondiente (Windows Phone, Android, iOS, Blackberry
OS)
Guatcnicaparaeldesarrollodesolucionesmviles Pg.8
DocumentodeEstndares2012
4 Entorno de desarrollo
Para este tipo de desarrollo se emplear el entorno habitual empleado para el desarrollo de
aplicaciones web.
El desarrollo de este tipo de aplicaciones puede abordarse con UDA en cuanto a la parte servidora
mientras que para la interfaz web deben considerarse pautas como:
Single Page Application (SPA): aplicaciones en las que se interacta en una nica
pgina donde se van mostrando los recursos necesarios en respuesta a la accin del
usuario.
Responsive Design: diseo sensible al dispositivo de manera que tanto la interfaz como
la interaccin con la aplicacin se adaptar al dispositivo desde el que se interacta con la
aplicacin (monitor de escritorio con ratn y teclado, tablet con teclado, tablet o mvil con
teclado virtual).
Adems para este tipo de desarrollos es posible apoyarse en frameworks de capa de presentacin
como pueden ser jQuery Mobile, Angular JS, backbone, bootstrap, moustache, ionic.
En el caso de desarrollar una aplicacin nativa el desarrollo se deber de realizar mediante el SDK
correspondiente a cada una de las plataformas para la que se va a publicar la solucin mvil.
Guatcnicaparaeldesarrollodesolucionesmviles Pg.9
DocumentodeEstndares2012
Cross-platform development
Se utilizan las herramientas de Cordova/Phonegap para la generacin de los builds para las
diferentes plataformas.
Para realizar los builds y gestionar las diferentes plataformas se debern de instalar los SDKs
correspondientes a las mismas.
iOS (Mac)
Windows 8 (Windows)
Platform-centered development
En este caso se utilizarn los SDKs correspondientes a las plataformas para las que se desean
generar builds de la aplicacin.
Guatcnicaparaeldesarrollodesolucionesmviles Pg.10
DocumentodeEstndares2012
5 Versionado
Para este tipo de desarrollo se utilizar la estructura habitual definida para aplicaciones web.
La aplicacin podr tener distintos mdulos web en funcin de la separacin funcional que haya
implementado y uno, varios o todos ellos pueden ser susceptibles de presentarse en dispositivo
mvil a travs del navegador.
Si se ha optado por desarrollar aplicaciones nativas para cada una de las plataformas para las que
vamos a desarrollar la aplicacin, se deber de alojar en su carpeta correspondiente el cdigo fuente
asociado a cada plataforma.
Guatcnicaparaeldesarrollodesolucionesmviles Pg.11
DocumentodeEstndares2012
En caso de desarrollar para otras plataformas existir una versin por cada una.
A la hora de desarrollar una aplicacin hbrida con Cordova/Phonegap se diferencian dos flujos de
trabajo a la hora de desarrollar la aplicacin. La eleccin de uno u otro flujo determinar la
estructura del SVN en la que se versionar la aplicacin.
Cross-platform development
A la hora de subir el desarrollo al SVN, en el caso de trabajar con un flujo de trabajo cross-
platform, se deberan de subir los siguientes directorios:
Guatcnicaparaeldesarrollodesolucionesmviles Pg.12
DocumentodeEstndares2012
El directorio platforms no deber de versionarse ya que se generan mediante las tareas build de
cordova CLI.
Platform-centered development
En el caso de que se opte por desarrollar mediante Phonegap/Cordova pero haciendo uso del SDK
especfico de cada plataforma, se debern de subir los ficheros a los siguientes directorios del SVN:
www: Directorio comn donde se localizan los recursos web comunes a ser utilizados en la
web view correspondiente de cada plataforma.
Guatcnicaparaeldesarrollodesolucionesmviles Pg.13
DocumentodeEstndares2012
En caso de desarrollar para otras plataformas existir una versin por cada una.
Para desarrollar de manera comn sobre el contenido del directorio www desde cada uno de los
SDKs se har uso de la funcionalidad Externals del SVN. De este modo se definir una dependencia
entre los proyectos especficos de cada plataforma con el directorio comn www.
Android
Se definir mediante svn:externals una dependencia del directorio comn www dentro del
directorio android/assets:
Guatcnicaparaeldesarrollodesolucionesmviles Pg.14
DocumentodeEstndares2012
El procedimiento a seguir para realizar la publicacin de las aplicaciones mviles ser similar al que
existe actualmente para las aplicaciones convencionales.
2. Solicitud de publicacin
Se deber solicitar una tarea de despliegue de la aplicacin en las diferentes tiendas (store)
en las que vaya a ser publicada.
Publicacin
Los datos necesarios para la publicacin de una aplicacin mvil son diferentes en funcin de la
Tienda donde sea alojada. Ser necesario suministrar estos datos al servicio de Gestin de
Cambios para que pueda realizarse la correcta publicacin en la Tienda correspondiente.
Publicar una aplicacin en las diferentes tiendas de aplicaciones puede resultar intimidante para
mucha gente, simplemente por la razn de que hay muchos motivos por los cuales una aplicacin
puede ser rechazada. Para evitar en la medida de lo posible esta situacin, es recomendable leerse
las guas de distribucin de las distintas plataformas.
Guatcnicaparaeldesarrollodesolucionesmviles Pg.15
DocumentodeEstndares2012
Tamao de la aplicacin
Guas de diseo
A la hora de desarrollar una aplicacin que vaya a ser instalada en un dispositivo es imprescindible
consultar las guas de diseo respectivas de cada plataforma.
Android Design
Windows Design
iOS Fonts
Android Fonts
Guatcnicaparaeldesarrollodesolucionesmviles Pg.16
DocumentodeEstndares2012
El objetivo es generar en el cliente la interfaz de usuario mediante HTML, JavaScript y CSS a partir
de la informacin dinmica solicitada al servidor.
A la hora de disear y desarrollar las aplicaciones mviles es imprescindible ofrecer al usuario una
experiencia de uso fluida en el que la respuesta por parte de la aplicacin a sus interacciones sea lo
ms inmediata posible.
Una estrategia para conseguir este objetivo es generar, en la medida de lo posible, una nica pgina
que contenga las diferentes pantallas de la aplicacin. De este modo las transiciones entre ellas
sern ms rpidas y fluidas debido a que no se necesita solicitar la siguiente pantalla a mostrar.
Uno de los principales factores que ralentiza el uso de las aplicaciones mviles son los tiempos de
espera en las peticiones a los servidores de aplicaciones.
Este acceso remoto es necesario en la mayora de los casos para obtener la informacin que debe de
ser mostrada al usuario. Sin embargo es posible identificar cierto contenido que sea susceptible de
ser cacheado en mayor o menor medida.
o LocalStorage.
o Sistema de ficheros.
Guatcnicaparaeldesarrollodesolucionesmviles Pg.17
DocumentodeEstndares2012
De este modo se logra una ejecucin ms fluida de la aplicacin y se eliminan los bloqueos de la
interfaz de usuario que pueden deslucir la experiencia de uso.
Para dotar a las aplicaciones de una mayor fluidez y velocidad a la hora de realizar transiciones y
navegaciones entre las diferentes pantallas se debern de utilizar las nuevas funcionalidades que
ofrecen las transiciones CSS que emplean las capacidades de aceleracin hardware de los
dispositivos.
Hoy en da la mayora de los dispositivos disponen de capacidades grficas aceleradas por hardware
con lo que se consigue un desempeo visual ms eficiente y agradable para el usuario.
Un ejemplo es el del uso de transiciones 3d en los CSS para la navegacin entre pantallas.
El uso de las imgenes en los dispositivos mviles es susceptible de ser optimizado de varios
modos:
Uso de CSS Sprite Sheets: En lugar de incluir las imgenes mediante una gran cantidad
de ficheros individuales es recomendable generar CSS Sprites. De este modo solo se
descarga un nico fichero y se determina la imagen que se debe mostrar mediante el uso de
CSS.
Guatcnicaparaeldesarrollodesolucionesmviles Pg.18
DocumentodeEstndares2012
Guatcnicaparaeldesarrollodesolucionesmviles Pg.19
DocumentodeEstndares2012
aplicacin
Los datos necesarios para la publicacin de una aplicacin mvil son diferentes en funcin de la
Tienda donde sea alojada. Ser necesario suministrar estos datos al servicio de Gestin de Cambios
para que pueda realizarse la correcta publicacin en la Tienda correspondiente.
A continuacin se detallan los datos necesarios para las tiendas de Apple, Google y Microsoft, que
son los siguientes:
Entre 2 y 8 capturas.
Al menos una para Archivo JPEG o PNG de 24
Capturas de dispositivos de 3,5 bits.
Resolucin 768 x 1280 px
Pantalla pulgadas, 4 pulgadas e
Longitud mnima 320 pixeles
iPad.
y longitud mxima 3.840
pixel por foto
Guatcnicaparaeldesarrollodesolucionesmviles Pg.20