top of page
  • Foto del escritorAlex Tarragó

¿Cómo crear un backend para aplicaciones móviles? Escalabilidad y flexibilidad.

Actualizado: 1 nov 2020

Hoy os hablaremos sobre uno de los frameworks que utilizamos en Dribba para desarrollar APIs y manejar backends. Se trata de Sails.js.


Sails.js es un framework extremadamente flexible basado en MVC para Node.js qué integra tecnologías como Express y socket.io.

¿Qué ventajas tiene trabajar con Sails.js?

  1. Es 100% Javascript, en el entorno de Node.js y sus beneficios como el trabajo asíncrono.

  2. Incluye un potente ORM, Waterline, que proporciona una capa de acceso a datos sencilla que funciona, independientemente de la base de datos que esté utilizando.

  3. Gracias a Waterline, Sails.js funciona tanto con bases de datos relacionales, MySQL, como con no relacionales, MongoDB.

  4. Incluye esenciales como WebSockets o gestión de pipelines.

  5. Proporciona seguridad básica y control de acceso basado en roles de forma predeterminada en forma de policies (funciones de middleware simples y reutilizables que se ejecutan antes de sus controladores y acciones) así cómo protección para CSFR y otras vulnerabilidades.

Componentes de Sails.js

Uno de los aspectos más relevantes de Sails.js es el que llaman convention over configuration, y básicamente significa menos decisiones para el desarrollador. Esto lo consigue ofreciendo assets básicos y la arquitectura para hacer que todo funcione.

En el paradigma MVC (Model-View-Controller), el usuario ve las vistas y usa controladores. Además, el controlador manipula el modelo que esta actuando para actualizar la vista. Los modelos también pueden verse condicionados por las policies que restringen el contenido al qué puede acceder o no.

  1. ModelLos modelos de datos usan adaptadores para conectar con los almacenamientos de datos, de manera que puedes crear tu propio adaptador o usar los preparados para los sistemas populares como MySQL mientras otro usa MongoDB o cualquier otra combinación.

  2. View. Las vistas utilizan plantillas en formato EJS (Embedded JavaScript) de forma estándar.

  3. Controller. Los controladores son implementados por Express, que simplifica las rutas, ya sean archivos locales o contenido dinámico.

Sails.js nos proporciona dos plantillas para comenzar nuestro proyecto: la plantilla web app, con autenticación, login y password implementados, o empty, un proyecto vacío listo para configurar.

Una vez observadas las carpetas iniciales y los archivos de configuración que contiene el proyecto, es muy fácil empezar a construir el servicio. Para las vistas, solamente hay que conocer HTML básico e inyectar los datos en las páginas de forma dinámica gracias a EJS.

En definitiva, Sails.js es un framework muy flexible que simplifica el trabajo de los desarrolladores para crear aplicaciones web rápidamente, escalables y eficientes.

Si necesitas más información acerca de Dribba o tienes en mente un proyecto mobile, contacta con nosotros ahora.


Dribba, the mobile agency. Agencia de desarrollo de tecnologías mobile en Barcelona y Zurich. Desarrollamos apps nativas iOS y Android, para multinacionales y startups de todo el mundo. Consulta nuestros servicios tanto en desarrollo, diseño como consultoría mobile y tecnológica.

61 visualizaciones
contact_form_bg.png
DESARROLLO DE APPS Y SOFTWARE DE ALTO RENDIMIENTO
Contacta con nosotros para llevar tu proyecto a cabo.

En Dribba, entendemos que cada cliente y cada proyecto son únicos, por lo que nos aseguramos de personalizar nuestros servicios para satisfacer tus necesidades específicas. Ofrecemos una amplia gama de soluciones personalizadas para el desarrollo de software de apps, desde el diseño y la planificación hasta la implementación y el lanzamiento.

¿Lo tienes todo claro?
SOLICITA MÁS INFORMACIÓN
arrow&v

¿Cómo podemos ayudarte?

Al enviar este formulario, es importante que sepas que estás aceptando los Términos y Condiciones y la Política de Privacidad de Dribba. 

¡Gracias por contactar con nosotros, te responderemos en menos de 24h!

Artboard.png
ccep_client_logo.png
ccoo_client_logo.png
slastik_client_logo.png
cityxerpa_client_logo.png
bce_client_logo.png
bottom of page