Resultado de imagen para node js

¿Te gustaría aprender Apps Web en Tiempo Real con Node.JS Presencial?
Tenemos los cursos que necesitas.¡Haz clic aquí!

¿Qué es Node.js?

Node.js es un entorno JavaScript de lado de servidor que utiliza un modelo asíncrono y dirigido por eventos.

Igual que se utiliza Ruby o Python en el servidor, ahora también se puede utilizar Javascript.

Node.js usa el motor de JavaScript V8 de Google: una maquina virtual (VM) tremendamente rápida y de gran calidad escrita por gente como Lars Bak, uno de los mejores ingenieros del mundo especializados en VMs.

¿Cuándo es aconsejable utilizar Node.js?

Basicamente Node es adecuado cuando necesitas hacer muchas cosas al mismo tiempo, sobre todo muchas operaciones I/O (acceso a ficheros, bases de datos,…) a la vez.

Y es especialmente bueno para aplicaciones realtime, que necesitan mantener una conexión persistente entre el browser y el servidor (juegos online, chats, herramientas de colaboración, etc ).

Si lo que necesitas es trabajo intensivo de CPU (codificacion de video, manipulación de imagen, etc) utilizar Node no supone ninguna ventaja

Resultado de imagen para node js

¿Qué ventajas tiene desarrollar en Node.js y no en Python?

Asumiendo que lo que interesa son las ventajas desde el punto de vista del desarrollo web, a continuación se definen  las más significativas:

  • Escalabilidad de manera sencilla. Node.js se diseñó con una arquitectura dirigida por eventos y con E/S asíncrona desde el minuto 0. Eso hace que sea muy escalable de forma sencilla y directa. En Python 3 ahora también existe asyncio y hay varias opciones para el desarrollo web que lo usan, pero ninguna está igual de madura. Una opción en Python que permite algo parecido es Tornado pero sólo por el lado web. Para tener un ORM asíncrono u acceder a otros recursos de manera asíncrona es necesario buscar librerías de terceros.
  • Rendimiento. Gracias al motor V8 el uso de Javascript en Node.js supera a soluciones basadas en otros lenguajes “interpretados”. Nuevamente hay que destacar que con Tornado + PyPy se puede conseguir el mismo rendimiento que con Node.js, pero indudablemente no es igual de directo.
  • NPM. Es el gestor de paquetes de Node.js y ha adquirido una gran reputación por motivos propios. De hecho es un ejemplo del tipo de herramienta que necesita un ecosistema de desarrollo para ayudar a que una solución o lenguaje triunfe. En general Pip también funciona muy bien pero, por ejemplo, NPM permite mantener la dependencias de cada proyecto por separado sin necesitar de herramientas externas como ocurre con Pip que necesita a virtualenv / pyenv.
  • Javascript. Node.js está basado en Javascript, que es un lenguaje que está de moda, en parte gracias al propio Node.js. Aunque no sea un lenguaje que guste a todo el mundo no se puede negar que año tras año crece en popularidad. Y además es el lenguaje de la web. El único soportado por todos los navegadores. Ahora que las aplicaciones web se han hecho muy interactivas y que es ingente la cantidad de código en Javascript que corre en los navegadores, es muy cómodo poder desarrollar con el mismo lenguaje en el servidor. Y además esto trae ventajas, como poder desarrollar aplicaciones web isomorfas.
  • Popularidad. Como he mencionado todo esto ha llevado a que Node.js y Javascript gocen de gran popularidad. Cada vez hay más interés y más desarrolladores. Y eso hace que la comunidad sea enorme, lo que es muy interesante en caso de necesitar ayuda.

Resultado de imagen para node js

Más ventajas de utilizar Node.js

  • Con Node puedes utilizar javascript como lenguaje de scripting en tu consola (como bash, perl, etc.)
  • Está basado en eventos, asi que toda la filosofia asíncrona que ya utiizamos con AJAX en el cliente la podemos pasar al servidor.
  • Te permite utilizar el mismo lenguaje (javascript) tanto en el cliente como en el servidor
  • Muy buena gestion de paquetes gracias a NPM (si quieres hacer algo, probablemente  exista una librería/paquete que ya lo hace)
  • Detras de Node hay una Comunidad enorme documentando, haciendo turoriales y creando nuevos modulos.
  • Nos permite hacer en el servidor todo lo que necesitamos (acceso a ficheros, a bases de datos, conexiones de clientes.. )

Te esperamos en los próximos artículos en donde hablaremos mas acerca de estos temas que hoy en día son de importancia e interés en el mundo de la tecnología.

¿Te gustaría aprender Apps Web en Tiempo Real con Node.JS Presencial?
Tenemos los cursos que necesitas.¡Haz clic aquí!
About Author

NGuerrero

0 0 votos
Article Rating
Suscribir
Notificar de
guest
0 Comments
Comentarios.
Ver todos los comentarios
0
¿Te gusta este articulo? por favor comentax