Publicado el 25 de Abril del 2019
1.422 visualizaciones desde el 25 de Abril del 2019
120,2 KB
28 paginas
Creado hace 9a (08/05/2015)
Node.JS
Raspberry Pi (RPi)
2015/05/08
Juan V. Capella
Contenido
● Objetivo
●
Introducción
● Operadores
● Tipos de datos
● Funciones
● Networking
armpower.blogs.upv.es
2
Objetivo
● Aprender a instalar Node.js
● Conocer Node.js y qué nos ofrece
●
Introducirse en la programación en javascript con la Raspberry Pi
armpower.blogs.upv.es
3
Introducción
● Plataforma de ejecución de aplicaciones para ejecutar scripts escritos en
JavaScript sin usar ningún navegador
Principal objetivo
● Facilitar el desarrollo de aplicacones centradas en E/S, como son las
●
aplicaciones en red
● Permite construir aplicaciones que se adaptan fácilmente a entornos en
los que la carga de transacciones aumenta
– Aplicaciones escalables
● http://nodejs.org
armpower.blogs.upv.es
4
Instalar Node.JS en la Raspberry Pi
● sudo mkdir /opt/node
● wget http://nodejs.org/dist/v0.10.17/node-v0.10.17-
linux-arm-pi.tar.gz
● tar xvzf node-v0.10.17-linux-arm-pi.tar.gz
● sudo cp -r node-v0.10.17-linux-arm-pi/* /opt/node
● node -v
armpower.blogs.upv.es
5
JavaScript
● Lenguaje de programación orientado a entornos web
● No es Java
● Orientado a entornos web. Esto no quiere decir que su uso sea exclusivo
para ese ámbito
● Permite una gran interacción y dinamismo por parte del usuario con la
página web
● Lenguaje interpretado por un intérprete
● En el navegador (JS en cliente)
● En el servidor (p. ej. node.js)
¡No compilamos!
●
●
¡Detectamos errores de sintaxis en tiempo de ejecución!
● Es case sensitive
● Las sentencias acaban con “;”
armpower.blogs.upv.es
6
Hola Mundo en JavaScript
<html>
<head>
<title>Hola Mundo</title>
</head>
<body>
<script type="text/javascript">
document.write("Hola Mundo");
</script>
</body>
</html>
armpower.blogs.upv.es
7
JavaScript: Declaración de variables
● Cuando se declara una variable (var), no se especifica su tipo:
●
tipo se infiere del contenido que tenga
var nombreVariable;
● El nombre de las variables tiene que empezar por una letra o guión bajo
● Las variables pueden ir cambiando de tipo y de contenido:
var variable;
variable = [0,2,4,6]; //Array
variable = "Hola mundo"; //String
variable = 6; //Integer
● Sólo habrá errores de compilación en operaciones de variables de tipos
diferentes
armpower.blogs.upv.es
8
JavaScript: Tipos de datos
● Primitivos:
● number, string, boolean
● Compuestos:
● Objetos, funciones, arrays..
armpower.blogs.upv.es
9
JavaScript: Comentarios
● Dos tipos:
● Comentario de una sola línea:
//comentario
● Comentario de bloque:
/*
*/
comentario
armpower.blogs.upv.es
10
JavaScript: Operadores
●
● ==
!=
● >
● <
● <=
● >=
● &&
●
●
||
!
●
● +=
-=
● ++
--
●
armpower.blogs.upv.es
11
JavaScript: Estructuras de control
● Condicional if:
if (condición){
código a efectuar si se cumple la condición;
}
else{
código a efectuar si no se cumple la condición;
}
● Otra manera de hacerlo:
var variable = (condición) ? expresión_cierta : expresión_falsa
armpower.blogs.upv.es
12
JavaScript: Estructuras de control
● Bucle while:
while (condición){
código a realizar mientras se cumpla la condición;
}
● Bucle do while:
do{
código a realizar mientras se cumpla la condición;
}
while (condición);
armpower.blogs.upv.es
13
JavaScript: Estructuras de control
● Bucle for:
for (valor_inicial; condición; incremento/decremento){
código a realizar mientras se cumpla la condición;
}
● Bucle for in (para propiedades de objetos):
var curso = new Curso(“Titulo”, 20);
for (var prop in curso) {
document.write(curso[prop]);
}
Opción switch:
switch (expresión){
case valor: código a realizar;
case valor2: código a realizar;
armpower.blogs.upv.es
l
…………………………
li
ódi
14
JavaScript: Estructuras de control
● Opción switch:
switch (expresión){
case valor: código a realizar;
case valor2: código a realizar;
…………………………
case valorn: código a realizar;
}
● Con break podemos hacer que no siga la evaluación de la expresión
armpower.blogs.upv.es
15
JavaScript: Objetos
● En JavaScript todo son objetos que derivan del objeto base Object
● Podemos crear un objeto, y añadirle atributos una vez creado
● Al crearlo, podemos indicar un prototipo
var producto = new Object();
producto.nombre = producto.precio = 3;
producto.muestra = imprimir;
function imprimir(){
document.write(“El producto es un “ + producto.nombre +
“<br/>”);
document.write(“El producto cuesta “ + producto.precio +
“<br/>”);
}
producto.muestra();
producto.precio = 4;
producto.muestra();
armpower.blogs.upv.es
16
JavaScript: Objetos
● Dos maneras de inicializar los atributos y métodos de un objeto:
var coche1 = new Object();
coche1.matricula = “3798CGN”;
coche1.esNuevo = True;
coche1.numPuertas = 4;
var coche2 = {matricula: “3798CGN”, esNuevo: True,
numPuertas: 4};
armpower.blogs.upv.es
17
JavaScript: Objetos
● Para definir una clase en JS, simplemente definimos una función (el
constructor), y luego creamos los objetos con new seguido del constructor
● Usamos this para acceder al objeto en el constructor:
function Producto(){
this.nombre = “libro”;
this.precio = 3;
}
var producto = new Producto();
document.write(“Producto “ + producto.nombre);
armpower.blogs.upv.es
18
JavaScript: Objetos
● Clases con métodos:
function Producto(){
this.nombre = “libro”;
this.precio = 3;
this.muestra = imprimir;
}
function imprimir(){
document.write(“El producto es un “ + producto.nombre
+ “<br/>”);
document.write(“El producto cuesta “ +
producto.precio + “<br/>”);
}
var producto = new Producto();
document.write(“Producto “ + producto.muestra());
● unction Producto(){
armpower.blogs.upv.es
this.nombre = “libro”;
19
JavaScript: Funciones
● En JavaScript las funciones son un tipo de objeto más
● Palabra clave function para definir funciones
● No indicamos si devuelve (o no) algo una función.
● Si no devuelve nada, devuelve undefined
● No indicamos tipos
function suma (a, b) {
return a + b;
}
function imprime (a) {
document.write(“Num “ + a);
}
armpower.blogs.upv.es
20
JavaScript: Funciones
● Llamar a funciones JavaScript desde el HTML:
<script type=”text/javascript”>function hola() {alert(“¡hola!”);}</script>
● Desde HTML, en un enlace
<a href=”JavaScript:hola()”>Pincha aquí</a>
● Desde HTML, en un evento
<input type=”button” value=”Di hola” onClick=”hola();” />
● Funciones anónimas:
● Podemos asignar directamente una función a una variable sin darle
nombre:
var hola = function() {
saludo = “Hola”;
return saludo;
}
saludar = hola
●
armpower.blogs.upv.es
21
JavaScript: Pop-ups
● Manera sencilla de avisar al usuario
● Los hay de tres tipos: alert, confirm y prompt
● Son de fácil programación
● Se suele utilizar la interfaz gráfica del sistema operativo para dibujarlos en
pantalla
● algunos navegadores los implementan por cuenta propia
● Alert
● mensaje de alerta que avisará al usuario de algún evento:
– alert("Ejemplo de ‘alert’ en JavaScript");
armpower.blogs.upv.es
22
JavaScript: Pop-ups
● Con el confirm se puede mostrar un mensaje al usuario que esperará una
respuesta de este, y devolverá true o false dependiendo de la decisión que
haya tomado:
● confirm("Ejemplo de ‘confirm’ en JavaScript");
●
● El prompt es un mensaje que espera una cadena de caracteres introducida
por el usuario y la devuelve en forma de String:
● prompt("Ejemplo de ‘prompt’ en JavaScript");
armpower.blogs.upv.es
23
JavaScript: Funciones predefinidas
● eval(String);
● Evalúa la cadena String que le viene por su único parámetro como si
fuera una sentencia JavaScript. Si es una sentencia correcta, se
ejecutará:
● eval(“alert(‘La función eval ejecutará este
alert’);”);
● parseInt(String, [opcional]base);
● Convierte la cadena de caracteres del primer parámetro (que deben ser
números) a entero. El segundo parámetro opcional indica la base del
número (por defecto, base 10). Si la conversión no se puede efectuar,
devolverá NaN:
parseInt(“479”);
armpower.blogs.upv.es
24
JavaScript
● Actualmente, prácticamente todos los navegadores soportan JavaScript
● Podemos utilizar las etiquetas <noscript> y </noscript> como alternativa
para los navegadores que no acepten JavaScript:
<noscript>Si puede leer este mensaje, es que su
navegador no soporta JavaScript.</noscript>
armpower.blogs.upv.es
25
La API de Node.js: extendiendo JS
● Procesos
● Filesystem
● Networking
● Utilidades
● http://nodejs.org/api/
●
armpower.blogs.upv.es
26
Node.js Hello World: Simple Servidor HTTP
var http = require('http'); //importamos una libreria
http.createServer(function (req, res) {
//definimos una funcion para manejar peticiones http
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}
var s = http.creatServer(manejador); //creamos servidor
s.listen(8000, "127.0.0.1"); //y lo ponemos en marcha
armpower.blogs.upv.es
27
● sudo shutdown -h now
armpower.blogs.upv.es
28
Comentarios de: Node.js Raspberry Pi (0)
No hay comentarios