Arquitectura y de las aplicaciones móviles
El desarrollo de App móviles consta de dos partes diferenciadas de código de software, éstas son la parte front-end y la parte web services.
La parte front-end, también llamada parte cliente, es la parte de lógica de visualización e interacción del usuario, la cuál se ejecuta en los dispositivos a través de su sistema operativo, Android o iOS. El desarrollo de App móviles nativas se programará en lenguaje Objective-C y/o Swift para Apps iOS y en código Java y/o Kotlin para Apps Android.
La parte web services, o parte servidora, es donde encontramos la lógica del negocio de las aplicaciones, la persistencia de datos y la interacción con otras plataformas, como podría ser una web o un CRM. Esta parte, en consecuencia, debe ser desarrollada con lenguajes como RoR o Php.
Así pues, cualquier aplicación móvil con BBDD propia y web services requiere de un servidor, ya sea un servidor propio, servidor dedicado, servidor compartido o servidor cloud.
Así que en cualquier proyecto de desarrollo de App móviles, la empresa debe tener en cuenta que para qué la App funcione debe contratar un servicio de hosting y servidor adaptado a su proyecto.
Como hemos visto contratar un hosting o espacio de servidor es imprescindible, pero también pueden ser imprescindibles o necesarios otros servicios que se debe valorar si son necesarios, como puede ser pedir su contratación a una empresa de sistemas.
- Sistema de backup. Copias de seguridad en distintos momentos y guardados en servidores totalmente independientes a los de producción. (normalmente se incluyen si se ha contratado un servicio de mantenimiento 24x7).
- Servicio de mantenimiento 24x7 del equipo de sistemas.
- Dominios. Por lo menos se necesita un domino. Según el proyecto se pueden requerir más o disponer ya del domino en cuestión.
- Certificados de seguridad SSL (https). Imprescindibles en proyectos donde se usan passwords y datos de usuario.
La parte final del desarrollo de aplicaciones móviles se trata de publicar las Apps de forma pública en los market places de Google i de Apple.
Para hacerlo debes disponer de:
- Cuenta Google Play. Licencia para publicar Apps Android. (25€/año aprox)
- Cuenta Apple Store. Licencia para publicar Apps iOS. (100€/año aprox o 300€/año para Enterprise Account -de esta forma se pueden publicar apps privadas sin tenet que passar por el Store-).
CodiTramuntana dispone de cuentas en los dos markets y puede publicar las Apps desarrolladas en sus markets como hacer la publicación de las Apps en las cuentas de nuestros clientes.
Arquitectura durante la fase de desarrollo de aplicaciones móviles
Durante la fase de desarrollo, así como para implementar mantenimientos, es conveniente disponer de una buena arquitectura para poder validar las nuevas funciones de forma paralela al proyecto público y evitar posibles incidencias.
Trabajar con un buen entorno, como el entorno agile, es importante y de gran valor para los proyectos con ambición de crecer y evolucionar.
La propuesta de CodiTramuntana, o el modo de trabajo con el que trabajamos en el desarrollo de aplicaciones móviles es el siguiente:
- Servidor de integración: entorno local, exclusivo para los desarrolladores. CodiTramuntana tiene contratado el servicio y sus respectivas copias de seguridad.
- Servidor de pre-producción: Entorno para que el cliente pueda hacer pruebas. Con una base de datos “falsa” o paralela. Este entorno debe parecerce lo máximo posible al entorno de producción para simular con exactitud el comportamiento de producción. Es el cliente quien contrata este servidor.
- Servidor de producción: site público, web pública, back-office público. Es el cliente quien contrata este servidor y su debidas copias de seguridad.
En todos los casos CodiTramuntana indicará las características técnicas mínimas que deben cumplir los servidores para dar servicio al proyecto del cliente.