Ir al contenido principal

Javascript del lado del servidor. En serio!!!!




Hoy javascript ha dado un salto gigantesco, ya no solo es un lenguaje de programación del lado del cliente(Que permite mejorar las funcionalidades y trabajo desde el navegador), hoy también es un lenguaje de servidor, y su nombre es NodeJS.

Node es un interprete de javascript que funciona a nivel del servidor. Esto significa que con el puedes programar lógica de backend tal cual lo hace los lenguajes clásicos que conocemos, PHP, Java, C#, etc. Esto abre la puerta a poder desarrollar en un solo lenguaje toda una aplicación, sin tener que estar saltando de un lenguaje a otro para tener nuestra web app funcionando.

¿Como nació nodejs?

Nodejs nació de V8, este es un entorno de ejecución de javascript creado por google chrome, es un software libre desde el 2008 y esta escrito en C++, la tarea de este entorno es compilar código javascript a lenguaje de maquina en ves de interpretarlo en tiempo real como lo haría en una pagina web. gracias a esto, javascript puede ser usado hoy como un lenguaje mas de programación del lado del servidor.

¿Que características tiene nodejs comparado con otros lenguajes?

Supongamos que necesitamos crear una aplicación de alta disponibilidad, osea con muchos usuarios concurrentes, lo que hacen normalmente lenguajes de programación como PHP es generar un hilo que consume recursos del sistema para cada petición que genera un usuario conectado al sistema (aproximadamente 2MB de memoria), si un sistema tiene 8GB de ram, aproximadamente esto nos da que pueden haber cerca de 4.000 usuarios concurrentes en la aplicación sin problemas, pero ¿que pasa si supera esa cantidad de usuarios?, nuestra aplicación se caerá y comenzara a encolar las peticiones hasta que los usuarios se vayan desconectando para así poder seguir tomando y creando nuevos hilos. Bueno nodejs tiene la solución a esto, nodejs no genera un hilo de sistema operativo para cada petición, si no que cada petición es gestionada por el motor V8 de nodejs. Por lo que es mucho mas eficiente en el uso de recursos de una computadora o servidor, pudiendo atender simultaneamente decenas de miles de usuarios concurrentes sin generar ningún tipo de bloqueo.

¿Porque aprender y usar nodejs?

Como se habrán podido dar cuenta las posibilidades, la estabilidad, y la velocidad de node son incomparables, además muchos ya conocemos javascript, ¿porque no usarlo también en nuestro back-end?. Javascript esta cambiando la manera en que hoy se arman y crean sistemas web (web-app) en un mundo cambiante, donde la cantidad de datos que se manejas es exorbitante, es importante tener herramientas que nos permitan manejar de la mejor manera esto, sin además perder performance y dándole a nuestros usuarios entornos ágiles de uso y seguros. Además javascript del lado del servidor nos da la ventaja de poder usar un solo lenguaje en todo el proceso de la creación de un sistema, tal como comente al principio de esta publicación.

¿Que debemos tener para comenzar a usar nodejs?

Es la pregunta mas obvia después de leer todo lo que he escrito, pues es muy simple. (Te recomendamos usar alguna computadora con linux o mac, pero si no la posees, no te preocupes, nodejs también es compatible con windows), veamos los pasos a seguir:

1. Ingresa al sitio web de nodejs https://nodejs.org/es/
2. Descarga he instala la ultima versión, a la fecha de esta publicación la ultima versión es la v7.7.3.
3. Instala un editor de código, te recomendamos usar atom, brackets, visual studio code, sublime text, notepad++
4. Comienza a codear, te dejaremos un mini script para ir soltando los dedos:

console.log('Somos pro-gramadores');

guarda eso en un archivo llamado 'app.js'

luego abre la consola de tu sistema operativo y navega hasta el directorio donde esta el archivo que acabas de crear, y escribe lo siguiente:

node app.js

Ahora observa la magia, si todo va bien debería imprimirse un mensaje en la pantalla de tu consola, se que puede sonar muy básico lo que acabamos de hacer, pero veras mas adelante que esto es solo el comienzo, con node puedes crear sistemas de alta complejidad, puedes crear tus propias apis rest para que un cliente las consuma, conectarte con una base de datos para guardar registros de usuarios o autenticarlos en tu sitio, etc.

Seguiremos publicando mas post de nodejs y de javascript, por ahora acabamos acá, te dejo un link donde hay una api rest de prueba que hicimos en un meetup de pro-gramadores, donde creamos todo con nodejs.

Meetup APIREST

Entradas más populares de este blog

Pares e impares en C#

Hola amigos, hoy comentare un poco de como realizar dos operaciones matemáticas que nos ayudaran en varias cosas o requerimientos en la programacion de un software. Veremos como calcular y el comparar si un numero es par o impar. Para esto usamos el algoritmo básico de una división que nos dice, Al dividir un numero n, si el resto de la división es un 0, el numero n es un par y si es 1 entonces es impar. Como podemos realizar la misma tres matemática en programacion! De la siguiente manera Tenemos : Int n = 2; If( n% 2 == 0) { Console.WriteLine(" el numero "+n+" es par"); } Else { Console.WriteLine(" el numero "+n+" es impar"); } Console.ReadKey( ); El porcentaje dentro del if, evalúa la operación, esa operación o símbolo es conocido como mod, el mod de una división es el residuo de la misma operación y como vimos anteriormente para ver si un numero es par o impar necesitábamos saber si su residuo era 1 u 0. Realicen

Queue (Cola) en C#

La cola (Queue), tiene el comportamiento contrario a la pila. Todo nuevo elemento se agrega al principio de la colección y solo se puede extraer el ultimo elemento. Por esta razón, la cola se conoce como una colección FIFO (Fisrt Input First Output) ya que el primer elemento que ingresa a la cola es el primer elemento que sale. Para recordar este comportamiento se puede asociar la Queue con la fila que se debe hacer en un banco para realizar una consignación. En ese caso, el cajero atiende en el orden en que llegan las personas a la cola. using  System; using  System.Collections.Generic; using  System.Linq; using  System.Text; using  System.Collections; // necesario para poder declarar un "Queue" namespace  ConsoleApplication1 {      class  Program     {          static   void   Main ( string [] args)         {             Queue cola =  new   Queue (); //instancio un nuevo objeto Queue(Cola)             cola. Enqueue ( "Perro" ); //agrego un element

Hola mundo en BATCH de Windows

@ echo off echo hola mundo echo Programado desde "batch" pause >nul Copiar esta linea de código y pegar en el block de notas, a la hora de guardar cambia la extensión de ".txt" por la extensión ".bat" y dale a aceptar. Luego ejecuta el archivo. Visiten  www.twitter.com/pgramadores