Sails
description
Transcript of Sails
jf
TUTORIAL INTRODUCTORIO A
Sails.js
YURI VIVIANA DAZA GAVIRIA
Tutorial Introductorio a Sails.js
2
INDICE
1. ¿Qué es Sails.js? 3
1.1. Características 3
1.2. Página Oficial de Sails.js 4
2. Tutorial instalación de Sails.js 5
2.1. Instalando Node.js 5
2.2. Instalando Sails.js 7
2.3. Creando mi primer proyecto en Sails.js 8
3. Tutorial para desarrollo web y conexión a base de datos 10
4. Tutorial para conectar base de datos 11
4.1. Generar una REST API 11
4.2. Levantar su aplicación 13
5. Evidencias del trabajo 18
6. Conclusiones 22
7. Bibliografía 23
Tutorial Introductorio a Sails.js
3
1. ¿QUÉ ES Sails.js?
Sails hace que sea fácil de construir a medida, a nivel empresarial Node.js aplicaciones. Está
diseñado para emular el patrón 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 construcción de
chat, tableros de instrumentos en tiempo real, o los juegos multijugador; pero se puede utilizar
para cualquier proyecto de aplicación web - de arriba abajo.
Sails es, por supuesto, un marco web. Pero dar un paso atrás. Qué significa eso? A veces, cuando
nos referimos a la "web", nos referimos a la "web front-end."Pensamos en conceptos como los
estándares 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 usaría Sails en lugar de esas bibliotecas.
Por otro lado, a veces, cuando hablamos de "frameworks web", nos referimos a la "web back-
end." 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 simultáneos. Sails es "ese tipo" de framework web.
1.1. Características
Sails es el framework MVC más popular para Node.js. Está diseñado para la construcción de
prácticas, listas para la producción Node.js aplicaciones en cuestión de semanas - no meses. Otras
características 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 más practico
Generacion automática de REST APIs
Tutorial Introductorio a Sails.js
4
Facil WebSocket apoyo, es compatible con todas las rutas en su aplicación Sails.
Politicas de seguridad reutilizables
Es compatible con cualquier estrategia front-end.
Base sólida, Sails se basa en Node.js , utiliza expreso para el manejo de las peticiones
HTTP, y envolturas socket.io para gestionar WebSockets.
1.2. Página Oficial de Sails
Pagina web: http://sailsjs.org/#/
Tutorial Introductorio a Sails.js
5
2. TUTORIAL INSTALACIÓN DE Sails.js
Bueno para aprender a instalar Sails.js realizaremos los siguientes pasos, pero también les dejo
como instalar Nodo.js que es una plataforma construida en tiempo de ejecución de JavaScript de
Chrome para construir fácilmente aplicaciones rápidas de red escalables.
2.1. Instalando Node.js
Si ya tienes instalado Nodo.js puedes pasar a instalar Sails.js de lo contrario quédate en esta
sección 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
Instalación en Ubuntu, Mint
Ejemplo de instalación:
Se instala nodo estable actual de la corriente de Ubuntu estable. (12.10) Los usuarios
cuánticos pueden tener que instalar el software-properties-common paquete para add-apt-
repository comando funcione: sudo apt-get install software-properties-common.
Tutorial Introductorio a Sails.js
6
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
simbólicamente /usr/bin/node a /usr/bin/nodejs o usted podría desinstalar el Amateur
Packet Radio Node Program de evitar ese conflicto.
Instalación en Fedora
Node.js y NPM están disponibles en Fedora 18 y posteriores. Sólo tiene que utilizar su
herramienta de configuración gráfica preferida o ejecutar esto en un terminal para instalar
tanto el NPM y el Node.js:
Instalación 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 continuación, ejecute:
Para Debian Squeeze (antigua estable), la mejor opción es compilar nodo por sí mismo (como
root ):
Tutorial Introductorio a Sails.js
7
Instala en Windows
Descargando chocolatey podemos descargar el node.js y la NPM en esta página encontramos
las instrucciones http://chocolatey.org/ si se desea más información, 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 sección se ingresa en una línea 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
8
2.3. Creando mi primer proyecto en Sails.js
En esta sección podemos crear un proyecto ingresando el comando sails new nombreProyecto y
también cd nombreProyecto, este proceso se realiza cada vez que se quiera crear un proyecto.
Tutorial Introductorio a Sails.js
9
Después 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 página en donde
empezaremos la gestión con sails.js
Ahora bien cuando ingrese a http://localhost:1337/user te aparecerá de la siguiente manera
Tutorial Introductorio a Sails.js
10
3. BASE DE DATOS EN Sails
En esta sección observaremos como Sails.js se conecta a una base de datos. Como mayor
información 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 línea de flotación, 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, también en la
página oficial de Sails da la opción de agregar a la lista de base de datos de Sails, otras bases de
datos que tu necesites y no estén, una breve interacción del usuario para mejorar la herramienta.
Observemos aquí como se instala una de estas bases de datos, en este caso PostgreSQL.
1. Instalación
Primero que todo procedemos a instalar el adaptador de Sails de la siguiente manera con npm:
Tutorial Introductorio a Sails.js
11
4. TUTORIAL PARA DESARROLLO WEB Y CONEXIÓN A BASE DE DATOS
En esta sección vamos a montar nuestra aplicación web sin conectar todavía 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, dándole 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 continuación:
Ahora al tratar de activar el servidor para acceder a http://localhost:1337/, resulta lo siguiente:
Esto es debido a que aún 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 línea de comandos:
npm install [email protected] y volvemos a intentar acceder al app.
Tutorial Introductorio a Sails.js
12
Cuando intentemos acceder al app nuevamente nos resultara una interrupción 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 opción que altera el
archivo “migrate” y trata de mantener los datos existentes.
Tutorial Introductorio a Sails.js
13
Pero para omitar esta petición 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 pedirán configurar “migrate”.
Ahora vamos a http://localhost:1337/user, y observamos que la página ha cambiado.
4.2. Levante su aplicación
Para empezar a levantar la aplicación 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 código html guardado en un .ejs
Tutorial Introductorio a Sails.js
14
El código html está guardado en “index”, su ubicación 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
página web. Observemos index.ejs
<h1> INICO </h1>
Realizando la siguiente acción
Podemos observar que nuestra simple línea ahora tiene el código html completo como se observa
en la siguiente imagen, tomado del archivo layout.ejs, ubicado en la carpeta views:
Tutorial Introductorio a Sails.js
15
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 verán las interfaces ya
desarrolladas.
A continuación está el código usado para desarrollar el CRUD, este se desarrolla en el archivo
UserController.js
Tutorial Introductorio a Sails.js
16
Tutorial Introductorio a Sails.js
17
Tutorial Introductorio a Sails.js
18
5. EVIDENCIAS DEL TRABAJO
1. Creando un proyecto en Sails y accediendo a http://localhost:1337/
Tutorial Introductorio a Sails.js
19
2. Página de inicio para el desarrollo del CRUD
3. Página que deja ingresar los datos
Tutorial Introductorio a Sails.js
20
4. Aquí observamos los datos ingresados
5. En esta sección actualizaremos los datos
Después procedemos a consultarlo nuevamente
Tutorial Introductorio a Sails.js
21
6. Aquí eliminaremos un dato anteriormente ingresado
Tutorial Introductorio a Sails.js
22
6. CONCLUCIONES
Este framework ayuda mucho en la parte de la estética si se tiene los paquetes adecuados,
en mi caso no use todas debido a que se iba extendiendo cada vez más el código.
El framework es muy organizado, estructura todo en carpetas y siempre teniendo un
sentido de modelo, vista, controlador.
La complicación que tuve fue a la hora de instalarlo debido al sistema operativo, en
Windows 8 no tiene una buena compatibilidad, por esta razón se usó el framework en
Windows 7 ultimate con el cual funciono a la perfección.
El framework tiene una compatibilidad muy amplia con muchas bases de datos descritas
en el documento lo cual facilita se conexión.
Esta fue una gran experiencia, el desarrollo en páginas web se hace cada vez más fácil pero
con un framework es más fácil, algo diferente seria si se realizara todo el trabajo sin este
gran apoyo.
Tutorial Introductorio a Sails.js
23
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