¿Está creando una aplicación y se pregunta sobre el alojamiento de aplicaciones móviles y dónde encontrar el mejor proveedor para alojar aplicaciones?
Esta es una pregunta importante que debes responder si tu aplicación va a funcionar como te gustaría.
¿Cuáles son sus opciones para administrar el backend de la aplicación móvil?
Una vez que hayamos establecido qué es el backend y por qué lo necesita, es hora de discutir cómo alojar una aplicación móvil y todas las peculiaridades en términos del backend que lo acompaña.
Desarrollar el backend de aplicaciones móviles es un juego de pelota completamente diferente al desarrollo front-end. Por ejemplo, usted y su equipo deben tener los siguientes conocimientos:
Pero todo esto plantea otro problema: el del alojamiento para el desarrollo de aplicaciones.
Tiene opciones para la administración general del backend de la aplicación móvil, y son las siguientes:
MBaaS: la opción más fácil para alojar el backend de su aplicación móvil
Los proveedores de MBaaS aprovechan el modelo «como servicio» de computación en la nube, donde usted consume su servicio mientras administran su backend móvil. Un buen proveedor de MBaaS le ofrecerá lo siguiente:
- Infraestructura y almacenamiento seguros;
- API, incluida la red social y varias otras, según los requisitos de su aplicación;
- Capacidad para navegar sin problemas en varias plataformas y dispositivos móviles;
- Autenticación y gestión de usuarios;
- Almacenamiento persistente de datos;
- Notificación de inserción;
- Servicios de geolocalización;
- Analítica;
- Capacidad para aprovechar la arquitectura de microservicios;
- Facilidad de uso y excelente atención al cliente.
Lea más sobre el modelo MBaaS en “backend móvil como servicio (BaaS móvil)”.
Proveedores de MBaaS comparados
Tiene varias opciones de proveedores de MBaaS con diferentes planes de alojamiento. Estos son algunos de los mejores ejemplos:
- Base de fuego de Google: Google adquirió Firebase en 2016 y entró en el espacio MBaaS. Firebase ofrece las siguientes categorías de servicios:
- ‘Desarrollar’, que incluye una base de datos en la nube, autenticación de usuarios, mensajería y almacenamiento. También incluye alojamiento, herramientas de prueba y funciones de informes de fallas.
- La categoría de servicios ‘Crecer’ lo ayuda a analizar las interacciones de los usuarios e incluye análisis, indexación y enlaces dinámicos.
- ‘Gana’, por publicidad.
Tienen un nivel gratuito y usted paga más allá de un umbral.
- AWS amplificar: Esta es la oferta de MBaaS de AWS. Ofrece un conjunto completo de características que podría tener una plataforma MBaaS, además, utiliza las excelentes capacidades de nube de AWS. Puede usarlo para crear aplicaciones móviles nativas e híbridas, y AWS Amplify le facilita escalar su aplicación. Le resultará fácil implementar funciones clave como seguridad, administración de usuarios, autenticación de usuarios, «notificaciones automáticas», etc. AWS Amplify cubre todo el conjunto de actividades en el flujo de trabajo de desarrollo de aplicaciones móviles, por ejemplo, control de versiones, pruebas, implementación, etc. Puede integrar API fácilmente, además, puede almacenar datos de forma segura. AWS Amplify ofrece un conjunto completo de herramientas, además, puede acceder a sus bibliotecas de código abierto, una CLI, etc. Lea el Documentación de «Amplify Framework» en GitHub para obtener más información.
- Kit de nube de Apple: Esta es la oferta MBaaS de Apple. Ofrece la mayoría de los servicios MBaaS y es muy bueno para desarrollar sus aplicaciones iOS. También es bueno si está desarrollando aplicaciones simples; sin embargo, no admiten la implementación de la lógica del lado del servidor y los desarrolladores necesitan ejecutar la lógica de la aplicación en el lado del cliente. Paga cuando cruza el umbral de su nivel gratuito.
- Kinvey: Gartner los reconoce como «Visionarios» en su informe Cuadrante Mágico, y está justificado por el amplio conjunto de servicios que brindan. Además de las funciones estándar de MBaaS, sus plantillas de aplicaciones listas para usar son muy útiles. Su oferta de análisis es rica, mientras que puede crear aplicaciones nativas, híbridas y de IoT con sus SDK.
- AWS: MBaaS de Amazon proporciona un amplio conjunto de servicios que cubren todo el espectro de MBaaS. Amazon Cloud es excelente y es una ventaja cuando usa su servicio. También tienen un nivel gratuito; sin embargo, AWS MBaaS no es fácil de usar. Entonces, ¿cuánto cuesta alojar una aplicación en AWS? La respuesta más directa sería que depende de la cantidad de usuarios que tenga su aplicación. Como dijimos, hay un servidor gratuito que se puede usar durante 1 año para alojar un minisitio o una pequeña aplicación, después de eso el precio es de $8-10 por mes, pero si tiene más usuarios, entonces el precio aumenta exponencialmente, y para grandes empresas emergentes y corporaciones, puede llegar a $5,000 por mes.
- SashiDo: Muchos desarrolladores de back-end móviles eran grandes admiradores de Parse, un proveedor de MBaaS que cerró en 2017. Una gran ventaja de SashiDo es que se basa en el código de código abierto de Parse y funciona como tal. Sus ofertas cubren toda la gama de MBaaS y, aunque no tienen un nivel gratuito, su servicio al cliente es excelente.
- Kumolos: si bien ofrecen todas las funciones estándar de MBaaS, su plataforma es más adecuada para las empresas de desarrollo de aplicaciones móviles. Kumolos ofrece un portal de clientes que utilizan los clientes de la empresa de desarrollo de aplicaciones para monitorear las tendencias sobre su aplicación móvil. Este proveedor de MBAaS también ofrece una consola de agencia que permite a las empresas de desarrollo de aplicaciones administrar su cartera.
Lea nuestra comparación de proveedores de MBaaS en «¿Cómo elegir el mejor backend móvil como servicio (MBaaS)?» para más detalles.
Alojar un backend para su aplicación móvil utilizando herramientas listas para usar: la opción «Medio»
Ahora explicaré la opción que se encuentra entre confiar únicamente en un proveedor de MBaaS y codificar su backend completamente usted mismo. Si bien MBaaS es una buena opción para alojar un backend para su aplicación móvil, hay ocasiones en las que necesita una mayor flexibilidad.
En esta sección, explicaré cómo puede usar el servicio Google Cloud y construir su backend usando sus herramientas listas para usar. Anteriormente expliqué cómo puede consumir los servicios de Google Firebase para su backend, ahora usémoslo como punto de partida.
Si bien puede comenzar fácilmente con Firebase y hacer que su aplicación móvil cobre vida rápidamente, es posible que tenga un requisito más complejo. Por ejemplo, si su aplicación necesita modificar datos sincronizados, necesita más opciones de personalización.
Entorno estándar de Firebase y Google App Engine
El entorno estándar de Google App Engine es una ‘Plataforma como servicio’ (PaaS), que puede monitorear, escalar y actualizar el entorno de alojamiento. Al igual que con el modelo PaaS de computación en la nube, usted trae su código y sus datos.
Para el backend de su aplicación móvil, significa que necesita codificar su backend. Obtén más información sobre el entorno estándar de App Engine en su repositorio de documentos de Google Cloud.
Aquí recomiendo que en lugar de codificar su backend móvil desde cero, amplíe Firebase. Esto le proporciona automáticamente sincronización de datos en tiempo real. Si bien su aplicación ahora puede modificar los datos sincronizados, ¿qué sucede si necesita un mayor nivel de personalización?
Por ejemplo, ¿necesita:
Ahora, necesitas más personalización. ¡Sigue leyendo!
Backend de aplicaciones móviles con entorno flexible de Firebase y Google App Engine
El entorno flexible de Google App Engine le permite más opciones de personalización que el entorno estándar. Hace todo lo que puede hacer el entorno estándar, sin embargo, utiliza contenedores Docker.
Dado que ejecuta su servicio de back-end dentro del contenedor, puede configurarlo. Lea más sobre los contenedores Docker en “QUE ES UN CONTENEDOR”.
Esto le permite llamar a binarios nativos, escribir en sistemas de archivos o realizar otras llamadas al sistema. Obtenga más información sobre el entorno flexible de App Engine en su repositorio de documentación de servicios de Google Cloud.
Si bien ha personalizado más con este paso, ¿qué sucede si desea más personalización? Siga leyendo para averiguar qué puede hacer para generar automáticamente bibliotecas de clientes. Su aplicación puede usarlos para llamar al backend directamente.
Google Cloud Endpoints y Google App Engine para el alojamiento de su aplicación móvil
Su aplicación móvil puede realizar llamadas API directas, utilizando las bibliotecas de clientes que genera Cloud Endpoints. No es necesario escribir código para facilitar la comunicación con App Engine. Como antes, App Engine, al ser una PaaS, se encarga del alojamiento, el escalado, la supervisión, etc.
Este enfoque también le permite reducir el almacenamiento de archivos en el dispositivo móvil, ya que está moviendo archivos a su almacenamiento en la nube. Además, el servicio de mensajería en la nube permite notificaciones automáticas. Obtenga información sobre Google Cloud Endpoints en es la documentación de Google Cloud.
Entonces, has personalizado más, ¡y eso es genial! Sin embargo, no puede usar este enfoque y debe personalizar más si su aplicación necesita hacer lo siguiente:
Alojamiento de aplicaciones móviles al estilo ‘Hágalo usted mismo’
Estamos progresando en un continuo en el que comenzamos con el uso de un MBaaS. No teníamos opciones para personalizar, por lo tanto, nos movimos usando PaaS como Google App Engine, donde teníamos más opciones de personalización. Si sus requisitos de personalización son más altos, entonces necesita un enfoque de «hágalo usted mismo» (DIY).
Es la forma más difícil de administrar sus requisitos de backend, donde necesita construir su backend por su cuenta y también encontrar proveedores de alojamiento de aplicaciones móviles. Es un proyecto complejo y si su equipo no cuenta con las habilidades necesarias de desarrollo back-end, infraestructura y seguridad, considere obtener ayuda profesional.
Elija la pila de tecnología adecuada para el desarrollo de back-end móvil
Debe elegir la pila de tecnología adecuada para el desarrollo. Aquí hay dos opciones principales, a saber, desarrollo de aplicaciones híbridas y desarrollo de aplicaciones nativas.
¿Cuál deberías elegir? El desarrollo de aplicaciones híbridas le permite crear una aplicación móvil para Android e iOS con una única base de código. Esto mantiene bajos los costos de desarrollo; además, solo necesita mantener una base de código. Los marcos modernos de desarrollo de aplicaciones híbridas como React Native ofrecen una «experiencia de usuario» (UX) casi nativa.
Bueno, la palabra operativa clave en lo anterior fue «casi nativo», ¡y eso marca la diferencia! Las aplicaciones nativas ofrecen la mejor experiencia de usuario, ya que las codifica utilizando lenguajes de programación diseñados específicamente para las plataformas respectivas. También ofrecen el mejor rendimiento y seguridad, como expliqué en “¿Cuál es el mejor enfoque de desarrollo para garantizar el éxito de su aplicación?”.
Te recomiendo que priorices UX y desarrolles aplicaciones nativas. Debe utilizar los siguientes lenguajes de programación:
- Kotlin para el desarrollo de Android nativo: Java ha sido el pilar del desarrollo de Android nativo durante mucho tiempo y no necesita presentación. Sin embargo, Kotlin se ha convertido en una opción popular para el desarrollo nativo de Android en los últimos años y le recomiendo que lo use. Kotlin tiene bibliotecas livianas, por lo tanto, puede codificar aplicaciones de alto rendimiento usándolas. Los desarrolladores nativos de Android con habilidades en Java pueden aprenderlo fácilmente, además, Kotlin tiene excelentes funciones para evitar errores de codificación comunes. Lea nuestra guía «Kotlin vs Java: ¿Cuál es la mejor opción?» para aprender más al respecto.
- Swift para el desarrollo de iOS nativo: Objective-C fue el pilar para el desarrollo de iOS nativo antes, sin embargo, Swift ha ganado una inmensa popularidad en los últimos años. Es un lenguaje moderno con características potentes y puede evitar errores de codificación comunes con él. Su base de código sigue siendo lo suficientemente manejable, lo que facilita el mantenimiento. Swift le permite codificar aplicaciones escalables de alto rendimiento. En consecuencia, le recomendamos que lo utilice. Expliqué sus ventajas en «¿Cómo migrar su proyecto de Objective-C a Swift?».
Bueno, cubrimos los lenguajes de programación, sin embargo, le gustaría escalar su proceso de desarrollo, ¿no? También le gustaría crear un marco consistente para que su front-end acceda al back-end, por lo tanto, le recomiendo que cree API.
«REST» (Transferencia de estado representacional) es el estándar de facto para el desarrollo de API, por lo tanto, le recomiendo que cree API RESTful. El desarrollo de API requiere una planificación cuidadosa, el uso de las herramientas adecuadas, la documentación de las API, su alojamiento en una plataforma en la nube y su seguridad. ¿Necesita ayuda con el desarrollo de API? Nuestra guía «¿Cómo crear una API RESTful para su aplicación móvil?» es justo lo que necesitas!
También necesita usar soluciones de base de datos apropiadas para el desarrollo de API, por lo tanto, le recomiendo lo siguiente:
- postgresql: Es un «Sistema de gestión de bases de datos relacionales» (RDBMS) de código abierto muy popular.
- MongoDB: Si necesita utilizar una base de datos de documentos, entonces una base de datos NoSQL como MongoDB es una excelente opción. Es altamente escalable.
Seleccione un proveedor de alojamiento de servidor de aplicaciones móviles
Una vez más, tiene una amplia variedad de proveedores de alojamiento de aplicaciones móviles. Te recomiendo que explores lo siguiente, sin embargo, no es una lista exhaustiva:
Herramientas adicionales a tener en cuenta al usar un servidor back-end personalizado para aplicaciones móviles
Dependiendo de su aplicación, es posible que también deba explorar herramientas adicionales en el enfoque de bricolaje, de la siguiente manera:
Lea más sobre CDN y buenos proveedores de CDN en “Lista de los 17 mejores proveedores de servicios de CDN: revisiones actualizadas”.
Te recomiendo que analices bien tus requerimientos. Si el ‘Tiempo de comercialización’ es su prioridad, es mejor que tenga un MBaaS para alojar el backend de su aplicación móvil. Por otro lado, si no puede prescindir de la personalización, considere el camino intermedio o el enfoque de bricolaje que he descrito, sin embargo, prepárese para lidiar con una mayor complejidad.
Preguntas frecuentes
¿Dónde alojar el backend de una aplicación móvil?
La respuesta a esta pregunta de alojamiento web depende del tipo de aplicación que esté desarrollando y de los requisitos de rendimiento frente a costo, etc. Para obtener una respuesta precisa, debe enviar la especificación de su producto a DevTeam.Space para hablar con un experto.
¿Cómo construir un backend de aplicación móvil?
Cree un equipo de desarrolladores expertos de nivel medio a superior. Déles las especificaciones del proyecto y organice las férulas de desarrollo para ellos. Con las instrucciones adecuadas, deberían poder construir su backend móvil.
¿Qué es la arquitectura backend de aplicaciones móviles?
La arquitectura back-end convencional incluye un servidor web, un servidor de aplicaciones y una base de datos.
Related Posts:
- Mecanografiado vs Javascript: ¿Cuál es el mejor?
- Kotlin vs Java: ¿Cuál es la mejor opción?
- Vagrant vs Docker: ¿Cuál es mejor para el desarrollo?
- ¿Cuál es el mejor enfoque de desarrollo para una aplicación…
- VR vs Realidad Aumentada: ¿Cuál es mejor para tu idea de…
- ¿Cuál es el mejor lenguaje para el aprendizaje automático?…