¿Estás empezando en el mundillo de los proyectos web y mobile? Son muchos los retos y temas que debes tener en cuenta a la hora de crear tu primer proyecto, o por lo contrario, si ya tienes mucha experiencia en el sector, siempre es bueno encontrar comparativas que te muestren si las herramientas con las que trabajas son tu mejor opción. En este post te contaremos las mejores opciones que tienes para potenciar tus proyectos.
¿Desarrollo a medida o administrado?
Esta es una de las grandes preguntas con las que inicia un proyecto, ya que cada uno tiene sus pros y contras, desde aspectos económicos, hasta las posibilidades de escalar los desarrollos e integrar otras tecnologías. Cuando hablamos de plataformas para realizar desarrollos a medida podemos encontrar:
- Firebase
- Back4App
- Parse
- AWS Amplify
- Firehose
- Deployd
- Atmosphere
- Hasura
- Gun
- Game Sparks
- Kuzzle
- Hoodie
Si lo que buscas es realizar un desarrollo con una plataforma administrada, hay cuatro opciones recomendadas: Google Cloud Platform, Amazon Web Services, Azure o tu propio servidor. Siempre es bueno que evalúes todo lo que tendrá tu proyecto y de esta manera escojas la solución que viene mejor de cara a futuras integraciones, por ejemplo, si planeas conectar por API Google Maps o Google Translate, lo mejor que puedes hacer es alojar tu proyecto en Google Cloud Platform para manejar todo desde un solo lugar.
Escoge la mejor plataforma
La mejor manera de evaluar lo que necesitarás para tu proyecto web o mobile, es hacer un MVP o prototipo de manera local, de esta manera podrás saber si necesitas utilizar algo como Azure, o te vale con un servicio como Google Domains para alojar una página estática.
Por otro lado, cuando hablamos de plataformas para publicar una app, encontramos la App Store que te cobrará unos $99 dólares al año y la Play Store que solo te cobrará $25 dólares una única vez. Estos precios aplican para cualquier app, sin importar su tamaño, bases de datos o incluso el lugar donde esté alojada.
¿Cómo funcionarán las bases de datos?
La elección de la base de datos de tu proyecto es una decisión fácil de ejecutar pero la cual debe ser bien pensada, ya que después, migrar de una solución a otra es complicado y en muchas ocasiones, puede convertirse en un proceso destructivo. Las bases de datos son uno de los aspectos que genera mayores costes mensuales en un proyecto.
- Bases de datos locales: esta es la solución más simple y económica (de hecho es gratis). La base de datos se almacena en el dispositivo del usuario y puede ser consultada en cualquier momento incluso sin conexión a internet. Las más usadas son Realm, Hive, Shared Preferences, Moor, CoreData and SQLite.
- Bases de datos almacenadas en la nube: cuando contemplamos escalar un proyecto de manera sencilla, la mejor opción es NoSQL. En GCP la solución es Firestone y en AWS es DynamoDB, sin embargo hay muchas soluciones más y aquí te las dejamos.
Despliega tu proyecto
Independientemente si eres el único que interviene en tu proyecto, o tienes un equipo de 100 personas detrás, debes configurar una herramienta que te permita hacer integración continua, y de esta manera, puedes calendarizar acciones de lanzamiento y nuevas funcionalidades. Para esta etapa te vendría muy bien conocer Github actions. Esta herramienta te ayuda a ejecutar acciones basada en eventos de tu repositorio, para empezar a utilizarla solo necesitas tu app en un archivo Docker. No hay coste de Github actions para proyectos Open Source, y para proyectos comerciales, ofrece 2.000 minutos al mes gratis, después de consumidos, pagarás como un servicio de pay-as-you-go dependiendo del tipo de máquina contratada.
Como puedes ver, en el sector del desarrollo mobile y web, además de dominar diferentes lenguajes de programación, debes dominar todas las metodologías y herramientas que te ayudarán a potenciar tus desarrollos. Para lograr esto, te recomendamos nuestros Desarrollo Web Full Stack Bootcamp y el Desarrollo de Apps Móviles Full Stack Bootcamp, con los cuales en menos de seis meses dominarás a fondo cada elemento y lenguaje que interviene en el desarrollo Web o mobile. Descúbrelos por completo.