Actualizado el 21 de Marzo del 2018 (Publicado el 17 de Enero del 2018)
15.224 visualizaciones desde el 17 de Enero del 2018
615,4 KB
40 paginas
Creado hace 10a (29/01/2015)
29/1/2015
El Libro para Principiantes en Node.js» Un tutorial completo de node.js
El Libro para Principiantes
en Node.js
Un tutorial de Node.js por: Manuel Kiessling & Herman A. Junge
Sobre el Tutorial
El objetivo de este documento es ayudarte a empezar con el desarrollo de
aplicaciones para Node.js, enseñándote todo lo que necesites saber acerca de
JavaScript "avanzado" sobre la marcha. Este tutorial va mucho más allá del típico
manual "Hola Mundo".
Status
Estás leyendo la versión final de este libro, es decir, las actualizaciones solo serán
hechas para corregir errores o para reflejar cambiar en nuevas versiones de
Node.js.
Las muestras de código de este libro están probadas para funcionar con la versión
0.6.11 de Node.js.
Audiencia Objetivo
Este documento probablemente será mejor entendido por los lectores que tengan
un trasfondo similar al mío: Programadores experimentados en al menos un
lenguaje orientado al objeto, como Ruby, Python, PHP o Java; poca experiencia
con JavaScript, y ninguna experiencia en Node.js.
El que este documento esté orientado a desarrolladores que ya tienen experiencia
con otros lenguajes de programación significa que no vamos a cubrir temas
realmente básicos como tipos de datos, variables, estructuras de control y
similares. Debes saber acerca de estos tópicos para entender este documento.
Sin embargo, dado que las funciones y objetos en JavaScript son diferentes de sus
contrapartes en la mayoría de los lenguajes, estos serán explicados con más
detalle.
http://www.nodebeginner.org/indexes.html
1/40
29/1/2015
Estructura de este documento
El Libro para Principiantes en Node.js» Un tutorial completo de node.js
Al Término de este documento, habrás creado una aplicación Web completa, que
permita a los usuarios de ésta el ver páginas web y subir archivos.
La cual, por supuesto, no va ser nada como la "aplicación que va a cambiar el
mundo", no obstante eso, nosotros haremos la milla extra y no vamos sólo a
codificar una aplicación lo "suficientemente simple" para hacer estos casos de uso
posible, sino que crearemos un framework sencillo, pero completo, a fin de poder
separar los distintos aspectos de nuestra aplicación. Verás lo que esto significa en
poco tiempo.
Empezaremos por mirar cómo el desarrollo en JavaScript en Node.js es diferente
del desarrollo en JavaScript en un browser.
Luego, nos mantendremos con la vieja tradición de escribir una aplicación "Hola
Mundo", la cual es la aplicación más básica de Node.js que "hace" algo.
Enseguida, discutiremos que tipo de "aplicación del mundo real" queremos
construir, disectaremos las diferentes partes que necesitan ser implementadas
para ensamblar esta aplicación, y empezaremos trabajando en cada una de estas
partes paso a paso.
Tal y cual lo prometido, aprenderemos sobre la marcha acerca de algunos de los
muchos conceptos avanzados de JavaScript, como hacer uso de ellos, y ver el
porqué tiene sentido el hacer uso de estos conceptos en vez de los que ya
conocemos por otros lenguajes de programación.
Tabla de Contenidos
JavaScript y Node.js
JavaScript y Tú
Antes que hablemos de toda la parte técnica, tomémonos un minuto y hablemos
acerca de ti y tu relación con JavaScript. Este capítulo está aquí para permitirte
estimar si tiene sentido el que sigas o no leyendo este documento.
http://www.nodebeginner.org/indexes.html
2/40
29/1/2015
El Libro para Principiantes en Node.js» Un tutorial completo de node.js
Si eres como yo, empezaste con el "desarrollo" HTML hace bastante tiempo,
escribiendo documentos HTML. Te encontraste en el camino con esta cosa
simpática llamada JavaScript, pero solo la usabas en una forma muy básica,
agregando interactividad a tus páginas de cuando en cuando.
Lo que realmente quisiste era "la cosa real", querías saber cómo construir sitios
web complejos Aprendiste un lenguaje de programación como PHP, Ruby, Java,
y empezaste a escribir código "backend".
No obstante, mantuviste un ojo en JavaScript, y te diste cuenta que con la
introducción de jQuery, Prototype y otros, las cosas se fueron poniendo más
avanzadas en las Tierras de JavaScript, y que este lenguaje era realmente más que
hacer un window.open().
Sin embargo, esto era todo cosa del frontend, y aunque era agradable contar con
jQuery a tu disposición en cualquier momento que te sintieras con ánimo de
sazonar una página web, al final del día, lo que eras a lo más, era un usuario de
JavaScript, pero no, un desarrollador de JavaScript.
Y entonces llegó Node.js. JavaScript en el servidor, ¿Qué hay con eso?
Decidiste que era ya tiempo de revisar el nuevo JavaScript. Pero espera: Escribir
aplicaciones Node.js es una cosa; Entender el porqué ellas necesitan ser escritas
en la manera que lo son significa entender JavaScript! Y esta vez es en serio.
Y aquí está el problema: Ya que JavaScript realmente vive dos, o tal vez tres vidas
(El pequeño ayudante DHTML de mediados de los 90's, las cosas más serias tales
como jQuery y similares, y ahora, el lado del servidor), no es tan fácil encontrar
información que te ayude a aprender JavaScript de la "manera correcta", de forma
de poder escribir aplicaciones de Node.js en una apariencia que te haga sentir que
no sólo estás usando JavaScript, sino que también están desarrollando con él.
Porque ahí está el asunto: Ya eres un desarrollador experimentado, y no quieres
aprender una nueva técnica simplemente metiendo código aquí y allá mal
aprovechándolo; Quieres estar seguro que te estás enfocando en un ángulo
correcto.
Hay, por supuesto, excelente documentación afuera. Pero la documentación por sí
sola no es suficiente. Lo que se necesita es una guía.
http://www.nodebeginner.org/indexes.html
3/40
29/1/2015
El Libro para Principiantes en Node.js» Un tutorial completo de node.js
Mi objetivo es proveerte esta guía.
Una Advertencia
Hay algunas personas realmente excelente en JavaScript. No soy una de ellas.
Yo soy realmente el tipo del que te he hablado en los párrafos previos. Sé un par
de cosas acerca de desarrollar aplicaciones backend, pero aún soy nuevo al
JavaScript "real" y aún más nuevo a Node.js. He aprendido solo recientemente
alguno de los aspectos avanzados de JavaScript. No soy experimentado.
Por lo que este no es un libro "desde novicio hasta experto". Este es más bien un
libro "desde novicio a novicio avanzado".
Si no fallo, entonces este será el tipo de documento que deseo hubiese tenido
cuando empecé con Node.js.
JavaScript del Lado del Servidor
Las primeras encarnaciones de JavaScript vivían en los browsers. Pero esto es sólo
el contexto. Define lo que puedes hacer con el lenguaje, pero no dice mucho acerca
de lo que el lenguaje mismo puede hacer. JavaScript es un lenguaje "completo":
Lo puedes usar en muchos contextos y alcanzar con éste, todo lo que puedes
alcanzar con cualquier otro lenguaje "completo".
Node.js realmente es sólo otro contexto: te permite correr código JavaScript en el
backend, fuera del browser.
Para ejecutar el código JavaScript que tu pretendes correr en el backend, este
necesita ser interpretado y, bueno, ejecutado, Esto es lo que Node.js realiza,
haciendo uso de la Maquina Virtual V8 de Google, el mismo entorno de ejecución
para JavaScript que Google Chrome utiliza.
Además, Node.js viene con muchos módulos útiles, de manera que no tienes que
escribir todo de cero, como por ejemplo, algo que ponga un string a la consola.
Entonces, Node.js es en realidad dos cosas: un entorno de ejecución y una librería.
http://www.nodebeginner.org/indexes.html
4/40
29/1/2015
El Libro para Principiantes en Node.js» Un tutorial completo de node.js
Para hacer uso de éstas (la librería y el entorno), necesitas instalar Node.js. En
lugar de repetir el proceso aquí, te ruego visitar las instrucciones oficiales de
instalación. Por favor vuelve una vez que tengas tu versión de Node.js corriendo.
"Hola Mundo"
Ok. Saltemos entonces al agua fría y escribamos nuestra primera aplicación
Node.js: "Hola Mundo".
Abre tu editor favorito y crea un archivo llamado holamundo.js. Nosotros
queremos escribir "Hola Mundo" a STDOUT, y aquí está el código necesario para
hacer esto:
console.log("Hola Mundo");
Graba el archivo, y ejecútalo a través de Node.js:
node holamundo.js
Este debería retornar Hola Mundo en tu monitor.
Ok, esto es aburrido, de acuerdo? Así que escribamos alguna cosa real.
Una Aplicación Web Completa con Node.js
Los casos de Uso
Mantengámoslo simple, pero realista:
El Usuario debería ser capaz de ocupar nuestra aplicación con un browser.
El Usuario debería ver una página de bienvenida cuando solicita
http://dominio/inicio, la cual despliega un formulario de súbida.
Eligiendo un archivo de imagen para subir y enviando el formulario, la
imagen debería ser subida a http://dominio/subir, donde es desplegada una
http://www.nodebeginner.org/indexes.html
5/40
29/1/2015
El Libro para Principiantes en Node.js» Un tutorial completo de node.js
vez que la súbida este finalizada.
Muy bien. Ahora, tu puedes ser capaz de alcanzar este objetivo googleando y
programando lo que sea, pero eso no es lo que queremos hacer aquí.
Más que eso, no queremos escribir simplemente el código más básico posible para
alcanzar este objetivo, no importa lo elegante y correcto que pueda ser este código.
Nosotros agregaremos intencionalmente más abstracción de la necesaria de
manera de poder tener una idea de lo que es construir aplicaciones más complejas
de Node.js.
La Pila de Aplicaciones
Hagamos un desglose a nuestra aplicación. ¿Qué partes necesitan ser
implementadas para poder
Comentarios de: El Libro para Principiantes en Node.js (0)
No hay comentarios