Desarrollo

Última modificación por Administrator el 2020/07/08 12:37


Todos los proyectos que se desarrollen con tecnología JEE deberán cumplir el estándar de codificación descrito a continuación.

El objetivo de este documento es definir el conjunto de reglas que componen el estándar de codificación y que se van a verificar en los análisis de código.

Para el despliegue de una aplicación AMAP,  resulta necesario entregar los siguientes ficheros:

  • Código fuente en formato Maven.
  • Scripts de base de datos.
  • .ear / .war de la aplicación.

Todas las aplicaciones deberán seguir la  política de versionado.

Codificación/Programación

El objetivo de este documento es definir el conjunto de reglas que componen el estándar de codificación y que se van a verificar en los análisis de código.

Maven

Infraestructura

Otras consideraciones

Framework base

Servidor

Por regla general, la aplicación servidor deberá exponer una capa de servicios REST siguiendo las normas AMAP (Spring  5.x). La autenticación/autorización se basará en el protocolo OpenID (Oauth 2.0) contra del Single Sign-On corporativo.

Cliente

Las aplicaciones móviles se desarrollarán usando como base IONICFramework (https://ionicframework.com/). 

Plataforma

Salvo que se indique lo contrario, todas las apps deberán desarrollarse para correr en dispositivos IOS y en Android. Las apps generadas deberán correr como mínimo en las siguientes versiones:

  • iOS 8+
  • Android 4.4+

Uso de librerías de terceros

Con el fin de llevar un mejor control de los componentes/librerías de terceros (licencias, bugs, etc) a utilizar deberán ser aprobadas por el Grupo de Arquitectura.

La versión básica incluye librerías fuera del core del IONIC:

Las librerías adicionales deberán incluirse en el proyecto usando npm con el parámetro save para actualizar automáticamente el fichero package.json. P.e.

npm install ionic-angular@latest --save

Es importante eliminar del package.json cualquier librería que no se utilice.

npm uninstall ionic-angular@latest --save

Bastará con que una librería que necesite permisos especiales esté presente en el fichero package.json, para que las tiendas consideren que la aplicación necesite dicho permiso aún no necesitándolo.

Normas básicas  y recomendaciones

Seguir las recomendaciones del fabricante (Angular e IonicFramework). 

Para la creación de artefactos: providers, pages, módulos, etc, se recomienda el uso del cli.

Para la parte servidor, si la API es un desarrollo nuevo, se deberá cumplir hasta la guía de buenas practicas REST definidas por el Grupo de Arquitectura.

Recomendaciones generales

Tener en cuenta las limitaciones de los terminales. Es posible que no tenga mucho sentido trasladar ciertas funcionalidad que pueda tener la aplicación web a una app móvil, por ejemplo, un formulario complejo.

Pasos recomendados para la "movilización" de una aplicación AMAP

  1. Integrar la aplicación con el SSO corporativo.
  2. Identificar las operaciones que se van a necesitar exponer para su us desde la app móvil. Definir la API.
  3. Exponer las operaciones identificadas en el apartado anterior mediante servicios REST siguiendo la norma.
  4. Crear una nueva app Ionic basada en la plantilla corporativa.
  5. Crear la capa de servicios mediante llamadas a la API REST.
  6. Crear las diferentes pantallas.

Autenticación y autorización

El flujo de autenticación/autorización se realizará usando el estándar OpenID - OAuth2 contra el SSO corporativo..

Publicación en tiendas

Por regla general las aplicaciones se desplegarán en las siguientes plataformas de distribución digital:

Tiempos de publicación

La tiempos de publicación de las apps en las tiendas online no dependen del Gobierno de Cantabria.

El primer despliegue puede llegar a tardar en desplegarse hasta un mes. Una vez hecha una petición de publicación, la app pasa una revisión de calidad y lo más probable es que haya que hacer ajustes en la misma.

Las actualizaciones suelen ser bastante más ágiles aunque dependen en gran parte del volumen de cambios realizados. Normalmente no exceden las 48 horas.

Se recomienda tener el cuenta estos tiempos de cara a planificar una puesta en producción.

Primera publicación - Entregables

Con el fin de facilitar el proceso de alta en las tiendas online (Google Play y Apple Store) se deberá entregar todos los ficheros y datos necesarios de forma ordenada. Para ello se creará un directorio llamado "despliegue" que colgará del directorio raíz del proyecto y contendrá los siguientes artefactos organizados por carpetas.

ios_android.png 

Android

  • Fichero APK (alineado y firmado)
  • Título (50 caracteres máximo) -> <nombre_proyecto>.md
  • Descripción breve (80 caracteres máximo) -> <nombre_proyecto>.md
  • Descripción completa (4000 caracteres máximo) -> <nombre_proyecto>.md
  • Capturas de pantalla: archivo JPEG o PNG de 24 bits (no alfa). Longitud mínima para los laterales: 320 píxeles. Longitud máxima para los laterales: 3840 píxeles. Se necesitan al menos 2 capturas de pantalla (8 capturas de pantalla como máximo por tipo).
  • Icono de alta resolución (512 x 512): archivo PNG de 32 bits (alfa)
  • Imagen destacada (1024 x 500): archivo JPG o PNG de 24 bits (no alfa)

IOS

  • Proyecto XCode de la app comprimido en formato ZIP.
  • Icono 1024 sin alfa. PNG.
  • Vistas previas y capturas de pantalla (para iPhone de 5,5 pulgadas y para iPad de 12,9 pulgadas). Al menos tres de cada resolución. Obligatorias las siguientes medidas:
    • 5.5 pulgadas a 1242x2208 px (al menos 3)
    • 6.5 pulgadas  (al menos 3)
    • 12.9 pulgadas (3ª generación) a 2732x2048 px  (al menos 3)
    • 12.9 pulgadas (2ª generación) a 2732x2048 px  (al menos 3)
    • Las capturas de pantalla deben estar en formato JPG o PNG y en el espacio de color RGB.
  • Más información
    • Texto
    • Descripción
    • Palabras clave separadas por coma(para búsqueda en App Store)
    • Icono para App Store (1024x1024 sin canal alfa)
    • Si la aplicación tiene parte privada hay que proporcionar un usuario y una password de producción. Se recomienda crear un usuario ficticio sin permisos de manera temporal hasta  recibir la aprobación por parte de Apple.

Para capturar las pantallas en los diferentes formatos se recomienda el uso de los emuladores incluidos en los diferentes SDK.

Actualización - Entregables

Antes de preparar los desplegables es muy importante correr el número de versión del fichero package.json del proyecto Ionic en base a la política de versionado.

version.png

Si no se corre versión, la aplicación será rechazada y no podrá publicarse.

Los "entregrables" en este proceso se simplifican:

Android

  • APK firmado con el mismo certificado que la primera vez y alineado.
  • Breve texto donde se describen los cambios realizados

IOS

  • Proyecto XCode de la aplicación comprimido en formato ZIP.
  • Breve texto donde se describen los cambios realizados (aparecerá en la tienda)

Pruebas funcionales y de aceptación

Las pruebas funcionales pueden realizarse sin problema desplegando directamente la app sobre el dispositivo de pruebas. No obstante, recomendamos que las pruebas de aceptación por parte del cliente se hagan a través de los programas de pruebas que nos proporcional tanto Google Play como App Store. Para acceder a estos programas el usuario necesitará darse de alta como tester. 

Programa de test para app Android

El usuario que va a realizar las pruebas deberá proporcionar una cuenta de Gmail al analista. Una vez dada de alta esta cuenta como tester, el usuario recibirá un email con un enlace para la descarga de la aplicación a probar.

Programa de test para app IOS

Para poder correr la aplicación el usuario deberá tener instalado en su dispositivo la  aplicación de Apple TestFlight. El analista le proporcionará a equipo de testing un código Redeem que estará asociado a la aplicación a probar.

Aunque teoricamente la aplicación resultante se debe comportar del mismo modo en cada una de las plataformas, no siempre es así. No presuponer que por el mero hecho de que cierta funcionalidad haya pasado las pruebas para una plataforma estas vayan a pasarlo en otra.

Otras consideraciones

El desarrollo de apps para IOS requiere darse de alta como desarrollador de Apple. La publicación de la app se hará a través de la cuenta del Gobierno de Cantabria. Hay varias modalidades de inscripción. Una cuenta gratuita debería ser suficiente para poder desarrollar, no obstante hay que tener que cuenta las restricciones. La más destacada es que las aplicaciones desplegadas de forma directa en un dispositivo dejan de funcionar a la semana de su instalación. Esto no es un problema teniendo en cuenta que estamos en desarrollo, pero es bueno tenerlo en cuenta para evitar sorpresas.

Herramientas de desarrollo

Herramientas imprescindibles para el desarrollo de aplicaciones son:

Se recomienda el uso de Visual Studio Code en conjunción con el kit de  snippets recomendados por la gente del proyecto Angular.

Otros editores también recomendados son: Atom o Vim.

Para leer tokens JWT se recomienda el uso del servicio online JWT.io.

Los formularios electrónicos de la plataforma del Registro electrónico común REC, han de cumplir las normas de desarrollo estándar AMAP.

El código del proyecto deberá seguir la  política de versionado.

Para más información howto "Cómo desarrollar un formulario electrónico".

Para el despliegue de un formulario electrónico,  resulta necesario entregar los siguientes ficheros:

  • Plantillas de formularios: EDIT,VIEW y PDF
  • Fichero de reglas DROOLS
  • Fuente JRXML de la plantilla PDF
  • Scripts de base de datos.
© 2014 GOBIERNO DE CANTABRIA - AVISO LEGAL Y PROTECCIÓN DE DATOS