Sails

23
TUTORIAL INTRODUCTORIO A Sails.js YURI VIVIANA DAZA GAVIRIA

description

Introduccion a framework sails

Transcript of Sails

Page 1: Sails

jf

TUTORIAL INTRODUCTORIO A

Sails.js

YURI VIVIANA DAZA GAVIRIA

Page 2: Sails

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

Page 3: Sails

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

Page 4: Sails

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/#/

Page 5: Sails

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.

Page 6: Sails

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 ):

Page 7: Sails

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

Page 8: 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.

Page 9: Sails

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

Page 10: Sails

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:

Page 11: Sails

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.

Page 12: Sails

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.

Page 13: Sails

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

Page 14: Sails

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:

Page 15: Sails

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

Page 16: Sails

Tutorial Introductorio a Sails.js

16

Page 17: Sails

Tutorial Introductorio a Sails.js

17

Page 18: Sails

Tutorial Introductorio a Sails.js

18

5. EVIDENCIAS DEL TRABAJO

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

Page 19: Sails

Tutorial Introductorio a Sails.js

19

2. Página de inicio para el desarrollo del CRUD

3. Página que deja ingresar los datos

Page 20: Sails

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

Page 21: Sails

Tutorial Introductorio a Sails.js

21

6. Aquí eliminaremos un dato anteriormente ingresado

Page 22: Sails

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.

Page 23: Sails

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