Giter VIP home page Giter VIP logo

backendnodejs's Introduction

Backend con Node.js

nodejs-logo

Tabla de contenido ## Tabla de contenido

¿Qué es Node.js y para que sirve?

La definición formal de nodejs es: un entorno de ejecución para javascript construido con el motor v8.

El entorno de ejecucíon: es la capa que corre por el sistema operativo que ejecuta software, básicamente se encarga de como se consume memoria, como acceder a las variables y como corre el garbage collector.

Chrome V8 Es un engine de Javascript por de chromiund-project para chrome y chromium. Además de chrome existen 2 proyectos que son chromium que es la versión open source y luego chrome canary, chrome canary se llamá así por una analogía donde antiguamente los mineros iban a la mina y para detectar si habia gases o algún peligro, ponían a un canario en una pequeña jaula, si había un gas y pasaba algo, el canario lasimosamente moría y es la manera en como se daban cuenta si había algún error, lo mismo pasa con chrome canary, es la manera como detectan errores y si todo sale bien, lo pasan a chrome.

Chrome V8 lo que hace es compilar javascript a código máquina. Recordemos que los lenguajes interpretados se ejecutan muy rápido, pero cuando hay un loop de código muy seguido se demoran, porque cada vez que pasan por esa linea de código tienen que volverla a interpretar a diferencia de los lenguajes compilados que se demoran mucho en cargar, porque tienen que pasar precisamente por ese proceso de compilación, luego se ejecutan muy rápido porque compilan esa linea, por eso cada vez que vuelven a pasar por ese loop, ya esta perfectamente compilado.

Javascript solía ser interpretado y ahora es compilado con una tecnologia llamada Just in time compiler ó compilación en tiempo de ejecución, está tecnología lo que tiene es un monitor que se encarga de revizar cada cuanto se ejecuta nuestro código, si el código se ejecuta mucho pone un estado warm y lo que hace es que ese código lo compila, si ese código compilado se ejecuta muchas veces, lo coloca en un estado HOT y es básicamente es hacerle una optimización a ese compilado, para que cuando se llame, ya llame a la versión optimizada.

Nodejs fue tomar el engine de JS chrome V8 para crear un entorno de ejecución y poder usar javascript del lado del servidor, recordemos que tenemos otros engine de JS como: spiderMonkey, JavascriptCore y Chakra. Pero como recientemente van a renovar la versión de Each van a empezar a implementar el motor V8 como Js engine.

Fechas importantes de NodeJS

  • En 2009 por primera vez Ryan Dahl mostró al mundo nodejs.

  • En 2011 por primera vez Linkenlin usa nodejs en producción.

  • En 2013 se saca Gust que es una Plataforma de plugin.

  • A la vez Paypal saca un framework de nodejs llamado Krakenjs.

  • En 2015 sale la competencia de nodejs llamada IOJS, pero afortunadamente se reconcilian y crean lo que hoy es La Nodejs foundation.

  • En 2017 Nodejs Se vuelve Messing con un 8.8 millones de instancias funcionando.

Diferencias entre NodeJs y Javascript

En Javascript tenemos el DOM document object model es la interfaz que nos permite interpretar el documento html en javascript como lo es el objeto window, también tenemos el CSSDOM que es la interfaz que nos permite manipular el css en javascript, por otro lado tenemos el FetchAPI que por el cual podemos hacer request y que nos devuelva una promesa, también tenemos toda la capa de webstorage que consiste en el sessionStorage y el localStorage que eso no existe en nodejs, tenemos el modulo de canvas API que nos permite hacer gráficos en la web en 2D y 3D y apartir de ahi tenemos una seríe de APIS como lo son: el Web Bluetooth AP, AudioAPI y webAutenthicationAPI.

Por otro lado en Nodejs tenemos una serie de modulos:

  • Http: permite crear servidores
  • Sistema operativo: nos permite comunicarnos entre el sistema operativo y darnos información sobre el.
  • Utilidades: que son una serie de utilidades excusivas para nodejs
  • Debugger: una manera en la que podemos hacer debuggin con nodejs.
  • Streams: nos permiten manejar grandes colecciones de datos-
  • Eventos: podemos definir acciones y dispararlas más adelantel.
  • Ecmascript Modules: se pueden ejecutar en nodejs mediante un feature flag
  • Consola: es muy similar a la del navegador.

Instalación de Node.js

Para instalar Node.js tienes que dirigirte a nodejs.org y elegir entre la ultima versión o la version LTS.

Por defecto Node.js detecta tu sistema operativo y descarga el archivo indicado para la instalación, si no es tu caso puedes dirigirte al enlace de otras descargas

backendnodejs's People

Contributors

jasanhdz avatar jorginhoravello avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.