Beruflich Dokumente
Kultur Dokumente
TUTORIAL INTRODUCTORIO A
Sails.js
YURI VIVIANA DAZA GAVIRIA
INDICE
1. Qu es Sails.js?
1.1. Caractersticas
10
11
11
13
18
6. Conclusiones
22
7. Bibliografa
23
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:
Facil WebSocket apoyo, es compatible con todas las rutas en su aplicacin Sails.
Base slida, Sails se basa en Node.js , utiliza expreso para el manejo de las peticiones
HTTP, y envolturas socket.io para gestionar WebSockets.
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.
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:
A continuacin, ejecute:
Para Debian Squeeze (antigua estable), la mejor opcin es compilar nodo por s mismo (como
root ):
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:
3. Una vez instalado chocolatey ejecutamos el siguente comando para instalar Node.js y el
NPM, los dos de una vez:
Windows
npm install sails
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
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
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
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
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.
13
El
cdigo
html
est
guardado
en
index,
su
ubicacin
es
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
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
16
17
18
2.
3.
19
4.
5.
20
6.
21
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 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
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