Sails.js es un Framework basado en la arquitectura MVC del lado del servidor para Node.js y fue creado en el 2009 por MikeMcNeil.  Sails.js busca el desarrollo fácil y rápido  de aplicaciones Node.js empresariales, imita el patrón de otros framework MVC como Ruby on Rails, pero con soporte para aplicaciones modernas (API REST, Orientación a servicios, aplicaciones en tiempo real, arquitectura escalable, etc.). A continuación se listan algunas características del framework:

 

API RESTfull

Como se mencionó anteriormente,  Sails.js busca un desarrollo rápido (ridículamente rápido). Sails.js es capaz de generar modelo y controlador con  API REST integrada en menos de 1 minuto, simplemente ejecutando el comando sails generate api foo (foo siendo en nombre del modelo).

 

Websockets

Sails.js cuenta con soporte para Websockets, logrando su implementación de forma sencilla. De esta forma se facilita el desarrollo de aplicaciones en tiempo real (chats y  juegos multijugador). Ademas te permite implementar peticiones AJAX (GET, POST, PUT, DELETE), permitiendo comunicación en tiempo real con los modelos.

 

Waterline y la Base de Datos que sea

Sails.js utiliza el ORM Waterline. Dispone de adaptadores que nos permiten trabajar indistintamente con varios gestores de bases de datos (MySQL, Postgres, MongoDB, Redis, entre otras). Incluso puede almacenar datos en disco o en memoria, permitiendo realizar pruebas sin necesidad de tener un gestor de bases de datos instalado.

 

Plantillas

Utiliza EJS como motor de plantillas, pero acepta otros motores como jade, haml, mustache, etc.

 

Contras

Es un framework joven, por lo que la comunidad aun se encuentra en crecimiento y la documentación, en algunos casos, no llega a ser del todo clara, esto ocasiona que algunos problemas lleguen a ser tediosos.

 

A pesar de lo «malo», Sails.js cumple  con su trabajo, llegando a ser asombrosa la facilidad y rapidez con lo que se logra.  Es una opción de la cual se puede esperar mucho en el futuro y que vale la pena probar.