Sie sind auf Seite 1von 23

jf

TUTORIAL INTRODUCTORIO A

Sails.js
YURI VIVIANA DAZA GAVIRIA

Tutorial Introductorio a Sails.js

INDICE
1. Qu es Sails.js?

1.1. Caractersticas

1.2. Pgina Oficial de Sails.js

2. Tutorial instalacin de Sails.js

2.1. Instalando Node.js

2.2. Instalando Sails.js

2.3. Creando mi primer proyecto en Sails.js

3. Tutorial para desarrollo web y conexin a base de datos

10

4. Tutorial para conectar base de datos

11

4.1. Generar una REST API

11

4.2. Levantar su aplicacin

13

5. Evidencias del trabajo

18

6. Conclusiones

22

7. Bibliografa

23

Tutorial Introductorio a Sails.js

1. QU ES Sails.js?
Sails hace que sea fcil de construir a medida, a nivel empresarial Node.js aplicaciones. Est
diseado para emular el patrn MVC familiar de frameworks como Ruby on Rails, pero con
soporte para los requisitos de aplicaciones modernas: las API basadas en datos con una
arquitectura orientada a servicios escalables. Es especialmente bueno para la construccin de
chat, tableros de instrumentos en tiempo real, o los juegos multijugador; pero se puede utilizar
para cualquier proyecto de aplicacin web - de arriba abajo.
Sails es, por supuesto, un marco web. Pero dar un paso atrs. Qu significa eso? A veces, cuando
nos referimos a la "web", nos referimos a la "web front-end."Pensamos en conceptos como los
estndares web o HTML 5, CSS o 3; y frameworks como Backbone, o angular, o jQuery. Sails no es
"ese tipo" de un framework de desarrollo web. Sails funciona muy bien con Angular y Backbone,
pero nunca usara Sails en lugar de esas bibliotecas.
Por otro lado, a veces, cuando hablamos de "frameworks web", nos referimos a la "web backend." Esto evoca conceptos como REST, o HTTP, o WebSockets; y Technogies como Java o Ruby, o
Node.js. Un marco de "back-end web" le ayuda a hacer cosas como crear APIs, servir archivos
HTML, y manejar cientos de miles de usuarios simultneos. Sails es "ese tipo" de framework web.

1.1. Caractersticas
Sails es el framework MVC ms popular para Node.js. Est diseado para la construccin de
prcticas, listas para la produccin Node.js aplicaciones en cuestin de semanas - no meses. Otras
caractersticas son:

Desarrollo en JavaScript al 100%

Capa de acceso a datos simple con cualquier base de datos

Asociaciones de gran alcance con modelo de datos ms practico

Generacion automtica de REST APIs

Tutorial Introductorio a Sails.js

Facil WebSocket apoyo, es compatible con todas las rutas en su aplicacin Sails.

Politicas de seguridad reutilizables

Es compatible con cualquier estrategia front-end.

Base slida, Sails se basa en Node.js , utiliza expreso para el manejo de las peticiones
HTTP, y envolturas socket.io para gestionar WebSockets.

1.2. Pgina Oficial de Sails

Pagina web: http://sailsjs.org/#/

Tutorial Introductorio a Sails.js

2. TUTORIAL INSTALACIN DE Sails.js


Bueno para aprender a instalar Sails.js realizaremos los siguientes pasos, pero tambin les dejo
como instalar Nodo.js que es una plataforma construida en tiempo de ejecucin de JavaScript de
Chrome para construir fcilmente aplicaciones rpidas de red escalables.

2.1. Instalando Node.js


Si ya tienes instalado Nodo.js puedes pasar a instalar Sails.js de lo contrario qudate en esta
seccin y aprende a instalar Nodo.js, ahora mostraremos como se instala en cada sistema
operativo:
Instalar en Mac OSX
Usando homebrew:

Usando macports:

Instalar en Linux
Instalacin en Ubuntu, Mint
Ejemplo de instalacin:

Se instala nodo estable actual de la corriente de Ubuntu estable. (12.10) Los usuarios
cunticos pueden tener que instalar el software-properties-common paquete para add-aptrepository comando funcione: sudo apt-get install software-properties-common.

Tutorial Introductorio a Sails.js

A partir de Node.js v0.10.0, el paquete nodejs de Chris Lea repo's incluye tanto la NGP y
nodejs-dev.
Hay un conflicto de nombres con el paquete de nodo (Amateur Packet Radio Node Program),
y el binario nodejs ha cambiado el nombre de nodo a nodejs. Usted tendr que enlazar
simblicamente /usr/bin/node a /usr/bin/nodejs o usted podra desinstalar el Amateur
Packet Radio Node Program de evitar ese conflicto.
Instalacin en Fedora
Node.js y NPM estn disponibles en Fedora 18 y posteriores. Slo tiene que utilizar su
herramienta de configuracin grfica preferida o ejecutar esto en un terminal para instalar
tanto el NPM y el Node.js:

Instalacin en Debian, LMDE


Para Debian sid (inestable), Node.js est disponible en el repositorio oficial.
Para Debian Wheezy (estable), Node.js est disponible en sibilantes-backports . Para instalar
backports , agregar esto a su sources.list (/etc/apt/sources.list ):

A continuacin, ejecute:

Para Debian Squeeze (antigua estable), la mejor opcin es compilar nodo por s mismo (como
root ):

Tutorial Introductorio a Sails.js

Instala en Windows
Descargando chocolatey podemos descargar el node.js y la NPM en esta pgina encontramos
las instrucciones http://chocolatey.org/ si se desea ms informacin, pero de igual manera
aqu describiremos los paso a seguir:
1. Con la convinacion de teclas Windows + r ejecutar cmd
2. Ingresar el siguente comando, para descargar chocolatey:

Si se desea instalarlo desde PowerShell usar el siguiente comando:

3. Una vez instalado chocolatey ejecutamos el siguente comando para instalar Node.js y el
NPM, los dos de una vez:

2.2. Instalando Sails.js


En esta seccin se ingresa en una lnea de comandos el siguiente comando dependiendo del
sistema operativo:

Linux y Mac OSX


sudo npm g install sails

Windows
npm install sails

Tutorial Introductorio a Sails.js

2.3. Creando mi primer proyecto en Sails.js


En esta seccin podemos crear un proyecto ingresando el comando sails new nombreProyecto y
tambin cd nombreProyecto, este proceso se realiza cada vez que se quiera crear un proyecto.

Tutorial Introductorio a Sails.js

Despus de eso accedemos a sailes por medio del comando sails lift, por ultimo ingresamos por
medio de un explorador a http://localhost:1337/, ahora se abrir la siguiente pgina en donde
empezaremos la gestin con sails.js

Ahora bien cuando ingrese a http://localhost:1337/user te aparecer de la siguiente manera

Tutorial Introductorio a Sails.js

3. BASE DE DATOS EN Sails


En esta seccin observaremos como Sails.js se conecta a una base de datos. Como mayor
informacin aqu est la lista completa de todos los adaptadores disponibles para el marco Sails.js.

sails-disk

sails-memory

sails-mysql

sails-postgres

sails-mongo

sails-redis

Sails tiene un poderoso ORM, una lnea de flotacin, lo que proporciona una capa de acceso a
datos simple que simplemente funciona, sin importar que base de datos est utilizando. La
propiedad de Sails es poder conectarse a cualquier base de datos gracias a su ORM, tambin en la
pgina oficial de Sails da la opcin de agregar a la lista de base de datos de Sails, otras bases de
datos que tu necesites y no estn, una breve interaccin del usuario para mejorar la herramienta.
Observemos aqu como se instala una de estas bases de datos, en este caso PostgreSQL.

1. Instalacin
Primero que todo procedemos a instalar el adaptador de Sails de la siguiente manera con npm:

10

Tutorial Introductorio a Sails.js

4. TUTORIAL PARA DESARROLLO WEB Y CONEXIN A BASE DE DATOS


En esta seccin vamos a montar nuestra aplicacin web sin conectar todava a la base de datos,
esto se desarrollara en el Sistema Operativo Windows 7 Ultimate.

4.1. Generar una REST API


Sails nos permite generar un usuario para nuestro api. Haciendo esto, se crearan dos archivos: Un
modelo y un controlador, dndole forma as a nuestro framework MVC. Una vez creado el
proyecto, procedemos a generar el modelo y el controlador por medio de unos comandos
mostrados a continuacin:

Ahora al tratar de activar el servidor para acceder a http://localhost:1337/, resulta lo siguiente:

Esto es debido a que an falta por instalar nuestro adaptador a la base de datos, en este caso ser
sails-disk, entonces procedemos a instalar este adaptador con la siguiente lnea de comandos:
npm install sails-disk@0.10.x y volvemos a intentar acceder al app.

11

Tutorial Introductorio a Sails.js

Cuando intentemos acceder al app nuevamente nos resultara una interrupcin debido a que no se
ha configurado un archivo propio de Sails el cual se llama migrate este controla la parte de
reconstruir las tablas del esquema de la base de datos, nos da 3 opciones para configurar esta
parte pueden escoger cualquiera, en este caso se seleccion la segunda opcin que altera el
archivo migrate y trata de mantener los datos existentes.

12

Tutorial Introductorio a Sails.js

Pero para omitar esta peticin de migrate vamos a C://aplicacionWS3/config/models.js,


modificamos el archivo models.js as:

ANTES

DESPUES

Con lo anterior cada vez que ingresemos a sails lift no nos pedirn configurar migrate.
Ahora vamos a http://localhost:1337/user, y observamos que la pgina ha cambiado.

4.2. Levante su aplicacin


Para empezar a levantar la aplicacin y que nuestra interfaz sea agradable para el usuario, nos
tenemos que dirigir a C://aplicacionSW3/config/routes.ejs abrimos el documento con nuestro
editor favorito y procedemos a observar esta parte view: interfaz/index, la cual es donde ingresa
a la carpeta de ventanas y abre el nuestro cdigo html guardado en un .ejs

13

Tutorial Introductorio a Sails.js

El

cdigo

html

est

guardado

en

index,

su

ubicacin

es

C://aplicacionSW3/view/interfaz/index.ejs, interfaz es una carpeta creada por nosotros y


index.ejs el documento que vamos a modificar y el cual nos va mostrar como ira quedando la
pgina web. Observemos index.ejs
<h1> INICO </h1>
Realizando la siguiente accin

Podemos observar que nuestra simple lnea ahora tiene el cdigo html completo como se observa
en la siguiente imagen, tomado del archivo layout.ejs, ubicado en la carpeta views:

14

Tutorial Introductorio a Sails.js

Ahora procedemos a modificar los archivos para obtener la interfaz que queremos para el CRUD.
Todo esto lo observaremos en las evidencias del trabajo donde se vern las interfaces ya
desarrolladas.
A continuacin est el cdigo usado para desarrollar el CRUD, este se desarrolla en el archivo
UserController.js

15

Tutorial Introductorio a Sails.js

16

Tutorial Introductorio a Sails.js

17

Tutorial Introductorio a Sails.js

5. EVIDENCIAS DEL TRABAJO


1.

Creando un proyecto en Sails y accediendo a http://localhost:1337/

18

Tutorial Introductorio a Sails.js

2.

Pgina de inicio para el desarrollo del CRUD

3.

Pgina que deja ingresar los datos

19

Tutorial Introductorio a Sails.js

4.

Aqu observamos los datos ingresados

5.

En esta seccin actualizaremos los datos

Despus procedemos a consultarlo nuevamente

20

Tutorial Introductorio a Sails.js

6.

Aqu eliminaremos un dato anteriormente ingresado

21

Tutorial Introductorio a Sails.js

6. CONCLUCIONES

Este framework ayuda mucho en la parte de la esttica si se tiene los paquetes adecuados,
en mi caso no use todas debido a que se iba extendiendo cada vez ms el cdigo.

El framework es muy organizado, estructura todo en carpetas y siempre teniendo un


sentido de modelo, vista, controlador.

La complicacin que tuve fue a la hora de instalarlo debido al sistema operativo, en


Windows 8 no tiene una buena compatibilidad, por esta razn se us el framework en
Windows 7 ultimate con el cual funciono a la perfeccin.

El framework tiene una compatibilidad muy amplia con muchas bases de datos descritas
en el documento lo cual facilita se conexin.

Esta fue una gran experiencia, el desarrollo en pginas web se hace cada vez ms fcil pero
con un framework es ms fcil, algo diferente seria si se realizara todo el trabajo sin este
gran apoyo.

22

Tutorial Introductorio a Sails.js

7. BIBLIOGRAFIA

http://es.wikipedia.org/wiki/Modelo%E2%80%93vista%E2%80%93controlador#Framewor
ks_MVC

http://sailsjs.org/#

http://sailsjs.org/#/getStarted

http://www.nodebeginner.org/index-es.html

https://www.youtube.com/playlist?list=PLf8i4fc0zJBzLhOe6FwHpGhBDgqwInJWZ

23