Primeros pasos con Node.js

Hace un tiempo atrás comencé a retomar el interés en el desarrollo web, después de algunos años dedicados a la investigación científica. Con forme pasaba el tiempo reconocía nuevas tecnologías que entendía poco, pero parecían ser muy populares en Internet.

En mis primeros tiempo de desarrollador web autodidacta habían tres principales cosas que debías conocer: HTML, CSS, JavaScriopt,. Si tu estas leyendo esta entrada, supongo que debes tener una clara idea de que son estos 3. Con los años surge HTML5 y CSS3 que fue un gran paso en la madures de estas tecnologías ampliando las posibilidades dinámicas de la web, y ofreciendo una manera estable y bien establecida dar formato a las paginas y que el código resultase mucho mas sencillo de leer, aun para novatos. Junto con estas tecnologías nace el auge de redes sociales como Facebook y Twitter, que traen consigo librerías JavaScript potentes para la actualización dinámica de las paginas, es decir poder obtener o enviar información al servidor sin tener que refrescar toda la pagina, así como la modificación de los elementos DOM de la pagina de manera muy sencilla y practica. Para ese entonces jQuery fue la solución JavaScript en la que inverti mi tiempo para aprender y divertirme jugando con sus nuevas posibilidades.

Otras tecnologías paralelas a estas, ocurren en el lado del servidor, como PHP que era la opción a tomar si querías utilizar bases de datos. Después se abrieron camino otros lenguajes que permitían generar el contenido que seria enviado al cliente web, dependiendo de la petición realizada por el mismo, dentro de las cuales únicamente llegue a probar Python, ya que conocía el lenguaje.

Sin embargo actualmente existe un gran incremento en las posibilidades y nuevas abstracciones que han sido desarrolladas, que permiten realizar aplicaciones web de manera mucho mas sencilla, utilizando piezas de software como componentes agregados sobre las tecnologias bien conocidas HTML, CSS y JavaScript. Por nombrar algunos se tiene Node.js, Angular.js, Sass, Botstrap, entre otras.

Inicialmente encontrar sentido a todas estas tecnologias nuevas no fue tan claro para mi, sobretodo ya que muchos de estos se utilizan en conjunto, y una te lleva a la otra y pareciera que tienes que usar todo. Primeramente todas las mencionadas sirven para un propósito distinto y pueden ser utilizadas independientemente. Sin embargo la mayoría de estas aplicaciones, y muchas mas, se vinculan de cierto modo con Node.js no porque sea necesario, sino porque ofrece un servicio en terminal ("una consola de tu computadora") llamado npm para descargar y mantener actualizado cada uno de estos componentes, ademas de muchas mas cosas, cargándolos de forma modular, lo que simplifica mucho el arreglo de los archivos.


Node.js es un framework que permite ejecutar el lenguaje JavaScript en un ordenador, mediante el motor v8 que es opensource. Ademas de dotarlo con acceso al API del sistema, independientemente del sistema operativo en el que se ejecute, y de funciones que simplifican la creación de servidores web personalizados, para ofrecer contenido dinámico desde el servidor hasta el cliente utilizando únicamente JavaScript. La popularidad de Node.js viene en conjunto con la multitud de módulos disponibles para ser descargados y ejecutados de manera simple, así como la apertura del lenguaje que antes solo podía ser usado en lado del cliente web. Este lenguaje es sencillo y potente, y permite una amplia personalización.


Botstrap es un framework dedicado a la estructura y diseño de paginas web responsivas. Es decir que se adaptan de manera adecuada a diferentes tamaños de pantalla y por tanto a los diferentes dispositivos. Esto resulta muy útil, ya que realizar este proceso por propia cuenta es engorroso y lleno de trucos en CSS para que las cosas se desplieguen como uno esperaría. Funciona de manera sencilla simplemente agregando clases a las etiquetas, según el comportamiento que se espera de cada uno, y ademas ofrece múltiples estilos predefinidos, y un conjunto de aplicaciones mas complejas como Carusell para imagenes, entre otros.


Sass por su cuenta es un lenguaje CSS que permite el uso de variables y ciclos, para mantener grandes tramos codigo de manera sencilla y escalable. El archivo sass debe ser compilado para ser convertido en un archivo css que interprete el navegador de manera usual.

Buscando aprender un poco mas sobre estas nuevas tecnologías me propuse realizar un proyecto que estare compartiendo en este blog, una serie de entradas denominadas Pomodoro Task, es una ayuda para la concentración en las tareas, así como para llevar un registro el tiempo invertido en ellas. Pomodoro es una tecnica de consentración que propone trabajar por 25 minutos de manera intensa y tomar descansos de 5 min. Despues de 3 iteraciones se puede tomar un descanso mas amplio de 15 a 25 min. Para mas informacion ver Pomodoro en Wikipedia.









0 comentarios: