Crear un servicio web con Node.Js con Visual Studio 2015 y desplegarlo en tu Raspberry Pi Deja un comentario

RaspberryPI_WSNos ha parecido interesante hablar sobre un escenario bastante potente: desarrollar un webservice REST con Node.js y Express Framework utilizando como IDE el nuevo Visual Studio 2015 y desplegarlo finalmente en una Raspberry Pi con una distribución Linux. De esta forma podemos aprender tres cosas de golpe: desarrollar un webservice con Node.js, hacerlo con Visual Studio y utilizar una Raspberry Pi como servidor.

¿Qué es Node?

Node.js es una plataforma de desarrollo Back-End multiplataforma que trabaja con una arquitectura orientada a eventos, utiliza como lenguaje de desarrollo Javascript aprovechando el motor v8 creado por Google. Es una buena plataforma cuando esperamos una conexión pemanente con el frontend y además nos gusta mucho su rendimiento y ligereza.

¿Qué es Express Framework?

Es un Framework para Node.js que permite el desarrollo de aplicaciones web flexibles y ligeras de forma estructurada. Entre sus características principales destaca la opción de rutear las peticiones (route url) gestionando así las peticiones get y post. Esto nos permitirá poder realizar servicios web Rest de forma sencilla y dada su ligereza nos permitirá desplegarla en una Raspberry Pi sin problemas de rendimiento.

Instalando Node.JS para Visual Studio 2015

Hemos elegido emplear Visual Studio 2015 para desarrollar nuestro proyecto, lo cual no quiere decir que podáis utilizar cualquier otro IDE pero sí que hay que tener en cuenta que, en este caso Visual Studio instala en el mismo paquete también el servidor NodeJs, así que si, por ejemplo usamos como IDE Atom, tendremos que instalar Node con su paquete de instalación independiente ya sea Windows, Mac o Linux. Lo podemos descargar aquí.

En esta página podremos descargar el componente necesario para instalar NodeJs y el complemento para visual Studio.

Una vez descargado e instalado, ya podremos abrir el IDE y comprobar que ya podemos crear un proyecto con Nodejs.

Creando el proyecto y la aplicación.

Para inicarnos en Node.js, vamos a crear una aplicación sencilla: un “HolaMundo” de toda la vida pero algo más complejo, para entender cómo funcionan Node.js y Express framework.

Creamos un nuevo proyecto en Visual Studio 2015 y elegimos crear un proyecto con Nodej.js con Express 3:

Una vez Visual Studio termine de crear el proyecto, crearemos un nuevo fichero Javascript(vamos a llamarlo saludo.js) con el siguiente código:

Cada ruta se declara una función anónima que devuelve el Json que hemos creado(saludos) ya sea completo o filtrado.

Si queremos hacer debug en Visual Studio es importante que establezcamos como fichero de inicio el js que hemos creado, haciendo clic en el mismo y seleccionando la opción “set as Node.js startup file”.

Si pulsamos F5 podremos ver las respuestas que nos da el sevicio web:

NodeJS_VS_2

Si observamos la captura podremos entender cómo funcionan las rutas en este caso y en el siguiente en el que le indicamos el índice deseado:

NodeJS_VS_3
Desplegándolo en la Raspberry Pi

Ahora vamos a ver cómo desplegarlo en una Raspberry Pi con Raspbian, para ello tendremos que instalar Node en ella, veamos como:

Nos conectamos a nuestro mini dispositivo mediante SSH y nos descargarnos el paquete utilizaremos el siguiente comando:

Y para instalarlo, ejecutaremos lo siguiente:

Ahora, para desplegar la aplicación que hemos creado, copiaremos el código en cualquier carpeta y ejecutaremos el siguiente comando:

Veremos en pantalla que la aplicación se levanta correctamente en nuestra Raspberry Pi:
NodeJS_VS_4

Ahora, para probar la aplicación, vamos a cualquier dispositivo conectado a la misma red que nuestra Raspberry y en el navegador escribimos la siguiente URL:
http://{nombre-o-ip-de-raspberry}:3000/

Y veremos que nos devuelve el Json correctamente:

NodeJS_VS_5
Es un ejemplo muy sencillo pero nos abre las puertas a hacer proyectos muy interesantes… ¿Ejemplo? Un servicio web que controla la iluminación de nuestra casa.

Desde aquí te proponemos que aportes alguna idea o proyecto que se te pueda ocurrir empleando estas tecnologías.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Enviar Whatsapp
Hola 👋
¿En qué podemos ayudarte?