domingo, 2 de noviembre de 2014

Sails.js: Primer Proyecto & Estructura

En el post anterior aprendimos a instalar correctamente el framework, ahora es el turno de crear nuestra primera aplicación y entender para que nos sirve cada elemento dentro la estructura de Sails.js.

Creando la Aplicación

Nos vamos a la terminal, seleccionamos un directorio de nuestra preferencia y escribimos lo siguiente:


sails new demoapp


La instrucción sails new le indica al framework que debe crear una nueva aplicación con el nombre que coloquemos inmediatamente después de la misma, en éste caso la he llamado demoapp


Debemos observar un mensaje que nos dice que nuestra aplicación fue creada correctamente

Nos vamos a la carpeta demoapp creada automáticamente en el paso anterior y observamos toda la estructura del framework:

  1. api
    • controllers: contiene todos los controladores de la aplicación, permitiéndonos interactuales con los modelos y las vistas.
    • models: es donde se guarda la lógica de negocio de la aplicación, contiene los datos de la misma junto a las reglas para su utilización. Conmunmente vamos a observar un modelo por cada tabla o colección (MongoDB) de nuestra base de datos.
    • policies: aquí se establecen las reglas de acceso a las funcionalidades de la aplicación, por ejemplo; denegarr el acceso a quien no haya iniciado sesión.
    • responses: contiene las respuestas predeterminadas del sistema (not found, forbidden, ok, etc) y si necesitamos una personalizada la podemos crear allí.
    • services: aquí van ciertas acciones que podríamos utilizar de forma muy frecuente, por ejemplo envío de correos, interacción con APIs de terceros, etc.
  2. assets: contiene todos los archivos estáticos de la aplicación tales como imágenes, scripts, etc. Es una carpeta pública por lo que su contenido se podría visualizar desde una url.
  3. config: en esta carpeta encontraremos diferentes archivos que nos permitirán configurar el funcionamiento del framework, por ejemplo conexión a bases de datos, rutas, etc.
  4. views: contiene todas las vistas de la aplicación, que son gestionadas por EJS (el motor de plantillas que usa Sails nativamente).
  5. app.js: este archivo le dice a Node como inicializar nuestra aplicación y generalmente no deberíamos tener las necesidad de modificarlo.
Una vez comprendida la estructura que nos proporciona Sails, solo nos queda arrancar el servidor para poder acceder vía url a nuestro demoapp. Para ello, estando dentro de la carpeta de nuestro proyecto ejecutamos el comando sails lift



Deberíamos observar algo como lo mostrado en la imágen. Por defecto Sails corre en el puerto 1337, de tal forma que si nos vamos a http://localhost:1337 deberiamos ver la vista de nuestra aplicación.


Esto fue todo por ahora. Hasta el próximo post.

sábado, 1 de noviembre de 2014

Sails.js: Instalación y Configuración

Bienvenidos al primero de una serie de artículos que estaré publicando sobre Sails.js; un extraordinario framework  para NodeJS especialmente pensado para desarrollar aplicaciones que requieran funcionalidades en tiempo real, pero que podemos utilizar sin ningún problema en cualquier desarrollo web.

Sails implementa el patrón MVC (Modelo, Vista, Controlador) inspirándose en Ruby on Rails y entre las características más resaltantes que nos ofrece tenemos:

  • Utiliza Waterline como ORM, haciéndolo compatible con la mayoría de los motores de bases de datos. (MySQL, PostgreSQL, MongoDB, Disk, etc).
  • Autogeneración de API's REST.
  • Su integración con frameworks para desarrollo front-end tales como AngularJS o Backbone es realmente sencilla.
  • Cuenta con un cliente integrado para comunicación vía Websockets.
  • Está basado en Express, el framework para nodejs más utilizado; por lo cual implementa muchas de sus mejores características.
  • Utiliza EJS (Embedded JavaScript) como motor de plantillas pero acepta muchos otros motores tales como jade, haml, mustache, etc.
Instalación

Para instalar Sails es necesario que cuentes con nodejs en tu máquina, por eso en este link te dejo las instrucciones para tenerlo en cualquier sistema operativo.

Una vez instalado nodejs, abrimos la cónsola y escribimos el siguiente comando:

En Ubuntu:

sudo npm -g install sails

Si estas en Windows solo retira el comando "sudo".

Una vez completada esta acción podemos verificar que tenemos sails instalado ejecutando lo siguiente:

sails -v



Debería aparecernos una respuesta con la última versión estable del framework y con ello hemos terminado satisfactoriamente la instalación. Pueden utilizar la sección de comentarios para acalarar cualquier duda que esté a mi alcance resolver. Hasta la próxima entrada sobre Sails.js.