¿Para qué sirve Node.js? ¿Hay algunos buenos tutoriales para “comenzar a usar Node.js” que pueda recomendar?

Érase una vez que nació Internet. Entre todos los diversos protocolos con los que podríamos comunicarnos (por ejemplo, correo electrónico, transferencias de archivos, etc.), un protocolo en particular se hizo popular: HTTP.

HTTP se conoce hoy como “la Web”. Básicamente, las personas escribían información, compartían la información y las personas que la consumían.

Los “navegadores” web nacieron pronto, incluido Netscape. Estos eran solo vehículos diferentes para navegar por la web, algo así como diferentes autos que viajan a lo largo de una carretera.

Leer la información no fue suficiente. Rápidamente, se necesitaba la interacción con estas “páginas web”. La imaginación se volvió loca y se inventó un nuevo lenguaje llamado JavaScript. Fue nombrado JavaScript porque Java era popular en ese momento, pero no tiene nada que ver con Java.

Por lo tanto, los navegadores web se actualizaron para incluir un intérprete de JavaScript que puede ejecutar JavaScript. Los desarrolladores web comenzaron a usar JavaScript para actualizar sus páginas web e incluir interactividad, animaciones, inteligencia y lógica. Le permitió al desarrollador hacer que las páginas web fueran interactivas y dinámicas en lugar de solo tener datos estáticos básicos.

Combinado con un lenguaje del lado del servidor (por ejemplo, PHP, Python), ahora podría crear aplicaciones web completas. Imagine que … el software ya no se estaba desarrollando para ser descargado / instalado / ejecutado. Simplemente puede navegar a Hotmail y administrar su cuenta de correo electrónico, todo desde su navegador. Microsoft Outlook ya no era necesario. ¿Por qué comprar y descargar software cuando puede acceder a él a través del navegador? Las aplicaciones web nacieron oficialmente.

El mundo estaba feliz.

Hasta que los desarrolladores comenzaron a superar los límites de lo que podían hacer con las aplicaciones web.

Sin embargo, alguien en Google estaba muy frustrado por el ritmo de avance de Internet. La tecnología del navegador web era frustrante, anticuada y perezosa. Entonces, Google hizo lo que Google hace mejor: abordaron el problema desde cero. De hecho, literalmente resolvieron el problema construyendo un navegador desde cero: Chrome. Esta vez, eligieron construir el intérprete de JavaScript real como un proyecto independiente. Llamaron a este nuevo motor de JavaScript “V8”.

V8 fue increíble. Fue increíblemente rápido. Fue estable. Fue hermoso. Usaron casi todos los trucos informáticos posibles en el libro para optimizar cómo se ejecutó JavaScript. Esto fue en 2008.

En 2009, un chico llamado Ryan Dahl tuvo una idea brillante. Pensó para sí mismo “Google Chrome es un gran navegador web en parte debido al motor V8, pero ¿qué pasa si moví V8 al lado del servidor y ejecuté JavaScript en el servidor?”

Esta idea fue, y sigue siendo, brillante.

¿Por qué, puedes preguntar?

JavaScript es un lenguaje de programación. Para todos los efectos, es un lenguaje de programación completo con todas las capacidades necesarias para construir una aplicación web (software). La forma en que podría desarrollar en PHP, Python o Ruby, también puede construir en JavaScript. De la misma manera que el código PHP se ejecuta usando el intérprete PHP, JavaScript también se ejecuta usando V8.

Entonces, Ryan llevó el V8 al servidor, creó una pequeña capa a su alrededor (para administrar las capacidades de tiempo de ejecución de JavaScript en el servidor) y llamó a este nuevo intérprete Node.js.

Los desarrolladores saltaron de alegría. Aquí es por qué:

  • No tienen que cambiar idiomas entre el navegador y el servidor. Desarrollar toda la aplicación en JavaScript ahora se hizo posible. Sí, todo lo que hiciste en Python y PHP, ahora lo estás haciendo en JavaScript.
  • Tecnológicamente superior debido a su modelo sin bloqueo y controlado por eventos. Node.js puede manejar mucho más tráfico, en mucho menos hardware, con un equipo de desarrollo mucho más pequeño, iterando nuevas características en mucho menos tiempo. Sí, realmente es tan rudo.
  • Lienzo en blanco: todas las lecciones aprendidas de los últimos 30 años ahora se trasladaban a Node.js. Las bibliotecas, metodologías, etc., se estaban construyendo desde cero. No hay código “heredado”. No hay bibliotecas desagradables construidas por scripters sin experiencia de la década de 1990. Todo a estrenar.
  • Gestión de paquetes de Node.js. Similar a pip, yum, composer: Node.js tiene su propio administrador de paquetes llamado npm. ¡Todo lo que todos aprendimos sobre la gestión de paquetes finalmente se hizo bien! Ve a npm y compruébalo por ti mismo. Hermosos, limpios, módulos sólidos. Más de 100,000 de ellos están disponibles para que puedas construir tu aplicación como un conjunto de Lego.
  • Economía: con todas estas ventajas, puede comprender por qué la empresa comenzó a poner su peso detrás de Node.js. Hoy en día, hay empresas como Walmart, Yahoo, PayPal y eBay que ejecutan Node.js en el front end.

Espero que esto ayude.

Depende de tus objetivos.

Si está buscando crear aplicaciones web en tiempo real (por ejemplo: chats u otras herramientas de colaboración), Node será la mejor tecnología para este tipo de trabajo. Ruby y Python también pueden acomodar este tipo de características, pero Node.js lo hará excepcionalmente bien en términos de rendimiento y facilidad de desarrollo.

Si estás buscando construir API
Node.js será nuevamente una gran elección. Es perfecto para manejar muchas solicitudes que están controladas por E / S (por ejemplo, operaciones en la base de datos) y se escala muy bien.

Si quieres construir aplicaciones de transmisión
Node.js es lo que estás buscando.

Si planea crear aplicaciones intensivas de CPU (por ejemplo, procesamiento de imágenes)
Entonces Node.js no es la elección perfecta. Podrá hacer el trabajo, pero otras tecnologías pueden ser más adecuadas.

Aquí hay una gran lista de compañías que están construyendo con Node: puede ayudarlo a tener una mejor idea de qué tipo de aplicaciones Node ya están en producción.

Para obtener más detalles sobre cómo las empresas están aprovechando Node, puede leer esta entrevista con Dan Pupius, ingeniero principal de Medium y esta con Jeff Harrell, gerente de ingeniería de PayPal.

Sí, tienes toda la razón en que Node.js se usa para escribir código Javascript del lado del servidor.

Node.js

Node.js es un tiempo de ejecución de JavaScript creado sobre el motor V8 Javascript de Chrome . Utiliza un modelo de E / S sin bloqueo controlado por eventos que lo hace liviano y eficiente. Node.js es un entorno y biblioteca multiplataforma para ejecutar aplicaciones Javascript que se utiliza para crear redes y aplicaciones del lado del servidor . Es de código abierto y de uso gratuito.

En el modelo de subproceso único , cada vez que un usuario realiza una actividad, se genera un evento. Por ejemplo, si hace clic en un botón en una aplicación o si completa un formulario, se genera un nuevo evento. Cada solicitud es un evento. Ahora, una vez que genera un evento, el emisor de eventos emite esos eventos y luego esos eventos residen dentro de la cola de eventos en el servidor.

Luego, estos eventos se ejecutan utilizando el bucle de eventos, que es un mecanismo de subproceso único, en este mecanismo, un solo subproceso toma el evento de la cola de eventos y lo asigna a un subproceso de trabajo presente dentro del grupo de subprocesos. La asignación se basa en las operaciones realizadas por evento, como podría ser operación de E / S, operación de red u operaciones intensivas de CPU. Luego, ese subproceso de trabajo procesará esas solicitudes de forma asincrónica.

Todas las API de la biblioteca Node.js son asíncronas, es decir, no bloquean. Por lo tanto, un servidor basado en node.js nunca espera que una API devuelva datos. El servidor pasa a la siguiente API después de llamarlo y un mecanismo de notificación de Eventos de node.js ayuda al servidor a obtener una respuesta de la llamada API anterior. Esta es una de las razones por las que node.js es rápido. Este mecanismo de notificación se llama función de devolución de llamada.

Node.js sigue un mecanismo de subproceso único con bucle de eventos. Es altamente escalable porque los mecanismos de eventos ayudan al servidor a responder de manera no bloqueante.

Muchas de las grandes empresas de TI están utilizando Node.js para aplicaciones del lado del servidor:

  • NetFlix es un sitio web de series de televisión en línea y transmisión de video que utiliza Javacript y Node.js para transformar su sitio web en una sola aplicación de página.
  • Paypal es una compañía de pagos en línea. PayPal creó 2 equipos, es decir, el equipo de Java y el equipo de Javascript para desarrollar su aplicación simultáneamente. Descubrieron que los equipos de Javascript crean el producto de manera más rápida y eficiente.
  • GoDaddy es un sitio web de alojamiento de aplicaciones que utilizó node.js para crear aplicaciones de calidad, desplegar nuevas funciones y unidades de escritura, así como pruebas de integración.
  • LinkedIN es un sitio web de redes sociales. Cuando fue a reconstruir su aplicación, usaron Node.js para su servidor de aplicaciones móviles.
  • EBay es un sitio web de comercio electrónico. Tenía dos requisitos principales: el primero era hacer que la aplicación fuera lo más real posible y el segundo era organizar una gran cantidad de servicios específicos de e-bay. Alcanzaron sus requisitos principales usando node.js.

Entonces, esta es solo una pequeña imagen de las compañías que usan Node.js y hay muchas más.

Estudio de caso de UBER:

Cuando un cliente reserva un taxi, va al servidor node.js. Aquí tenemos dos bases de datos como puede ver, una en la base de datos mysql para almacenamiento persistente, es decir, detalles del cliente y detalles del controlador que se sirve utilizando el script Python, mientras que el mongoDB, que es la base de datos geoespaciales para mantener el registro de los controladores activos en una región. Entonces, el automóvil se envía desde el despachador mongodb y los detalles del controlador se responden al usuario desde la base de datos MySQL.

Entonces, mientras usaban el nodo, descubrieron que maneja las solicitudes asincrónicas con un bucle de eventos sin bloqueo y de una sola hebra, que es muy adecuado para sistemas distribuidos que realizan muchas solicitudes de red. Hablaremos sobre no bloquear en un momento. Entonces ahora pueden manejar múltiples solicitudes de forma asincrónica.

Node.js también es excelente para iteraciones rápidas. Los programas se pueden inspeccionar y los errores se pueden solucionar sobre la marcha sin necesidad de reiniciar. Para que los desarrolladores puedan publicar e implementar el nuevo código constantemente.

Como sabemos, el nodo es de código abierto, por lo que la comunidad activa de código abierto optimiza continuamente la tecnología.

Uber ahora está haciendo más de dos millones de RPC por segundo en el pico de la flota de Node.js.

———————————————————————————————————————

Para saber más, sugeriría pasar por este video tutorial Qué es Node.js. Además, puede leer este video tutorial de la aplicación MEAN para aprender a crear una aplicación Node.js.

También puede revisar esta lista de reproducción de videos tutoriales de Node.js para obtener información detallada sobre Node.js con ejemplos prácticos.

Para ser claros: Node.js NO es un servidor. Si lo percibe solo como tal, puede encontrarse con confusión más adelante.

Fundamentalmente, Node.js es solo un programa que ejecuta Javascript.

En el navegador, utiliza JS para la lógica básica de programación, enviando solicitudes AJAX y manipulando el DOM.

En Node.js, todavía usa JS para la lógica de programación básica, pero no hay DOM . Solo tienes la línea de comando. Para la salida, usarías console.log.

Utiliza “módulos”, que son prácticamente bibliotecas.

Estos módulos son principalmente envoltorios que ejecutan scripts JS o ejecutan comandos para ejecutar programas externos en la máquina , por lo que puede hacer prácticamente cualquier cosa que un programa nativo pueda hacer: archivo IO y red IO.

Esto se traduce en la capacidad de configurar un servidor, procesar archivos de imagen / video, servir contenido estático, interactuar con una base de datos o incluso enviar solicitudes HTTP como lo haría un cliente.

Aunque podría usar Node.js como servidor, y el 90% del tiempo, se usa como tal, puede usarlo muy bien para ejecutar aplicaciones que no sean de servidor.

CoffeeScript, por ejemplo, aunque es un lenguaje, el compilador se ejecuta a través de Node.js … pero no es un servidor.

Puedes construir cualquier cosa con Node. Por supuesto, eso no significa que debas hacerlo.

Dada la naturaleza dinámica del lenguaje subyacente y su simple soporte para JSON, y el hecho de que el tiempo de ejecución es de un solo subproceso, el punto óptimo para Node.js es como un simple servidor API RESTful.

En otras palabras, Node es el más adecuado para la implementación de servidores HTTP que aceptan y enrutan solicitudes, con un procesamiento mínimo. Ciertamente, una cierta cantidad de remodelación de datos casi siempre es inevitable, pero cualquier cosa significativamente más que eso debe delegarse en componentes nativos o externos.

Colocar Node frente a mongo, mysql, postgres u otros almacenes de datos que pueden manejar una alta concurrencia nos permite exponer rápidamente esos sistemas a clientes móviles y web. El nodo aloja el servidor HTTP, enruta las rutas de recursos a los controladores, y esos controladores entregan las solicitudes con la forma adecuada al back-end y se apartan del camino.

Esto permite que el tiempo de ejecución de Node aproveche al máximo las E / S sin bloqueo y consuma un tiempo mínimo de CPU, lo que permite la máxima concurrencia.

He usado el nodo para desarrollar varios servicios SaaS de back-end, para tareas como la seguridad y la gestión de API. También lo he usado como una forma rápida de escribir herramientas de línea de comandos que realizan muchas llamadas web, a menudo para su uso en sistemas de compilación.

Digamos que quieres construir un sitio web como, por ejemplo, Quora. Debe desarrollar todo el código que se ejecuta en el servidor para leer y escribir en la base de datos, para generar páginas web y para responder a las solicitudes de otros clientes (por ejemplo, cuando el usuario expande una respuesta y solo extrae esa pequeña cantidad parte de la página, en lugar de llegar a una página completamente nueva), y así sucesivamente. Node.js le permite usar JavaScript como idioma para hacerlo. El código se ejecuta en el servidor de Quora, una máquina que normalmente se encuentra en un estante junto a cientos o miles de máquinas como esta. (No en la computadora de escritorio, computadora portátil, tableta o teléfono de alguien o en cualquier dispositivo que la gente use para visitar su sitio). Esto es lo que se conoce como “lado del servidor” … el programa se está ejecutando en ese servidor.

Bastidores de servidores

JavaScript “del lado del cliente” es el uso más antiguo (y aún más común) de JavaScript … lo que se entrega al navegador del internauta (desde el servidor) como código de texto, y ese navegador lo ejecuta realmente (y, por lo tanto, se ejecuta en la computadora portátil / tableta / etc. de alguien … el cliente). Los desarrolladores de Quora también escriben mucho de ese tipo de código JavaScript.

La gran mayoría de los sitios web actuales tienen algún código JavaScript que se ejecuta en el lado del cliente. Si desea que ocurra algo dinámico en una página web, es su única opción.

JavaScript (a través de Node.js) todavía no es el lenguaje del lado del servidor más popular, pero definitivamente está aumentando. Otras alternativas son PHP, Ruby on Rails, Java, Go y Python. Quora realmente usa Python (junto con algunos C ++) – Node.js era bastante inmaduro cuando comenzó Quora. Facebook usa PHP. Google usa mucho Java y C ++.

Si bien Node.js es bueno, ya que le permite ejecutar el mismo idioma en el cliente y el servidor, en muchos casos eso no ofrece una gran ventaja. Todavía tiene que convertir cosas en texto o datos binarios al pasar cosas de un lado a otro. Todo lo que puede hacer en Node.js se puede hacer en esos otros idiomas y marcos del lado del servidor. El hecho de que, por ejemplo, Quora use Python en lugar de Node.js no impide que haga cualquier cosa que pueda hacer en Node.js.

“Con Node.js puede escribir código JavaScript del lado del servidor”

JavaScript del lado del servidor (SSJS) se refiere a JavaScript que se ejecuta en el lado del servidor y, por lo tanto, no se descarga en el navegador. Es este código el que ayuda a su sitio web a enviar respuestas a las solicitudes enviadas desde el lado del cliente / navegador.

Este término se usa para diferenciarlo del JavaScript normal, que se usa principalmente en el lado del cliente (también denominado JavaScript del lado del cliente o CSJS para abreviar).

Tutoriales: –

  1. Introducción a Node.js

2. Tutoriales de Node.js para principiantes y programadores | Codementor

3.Node.js Tutorial | Código escolar

4.Una guía absoluta para principiantes de Node.js


Tutoriales en vídeo :-

  1. Tutoriales de Node.js para principiantes
  2. https://www.youtube.com/playlist?list=PL4cUxeGkcC9gcy9lrvMJ75z9maRw4byYp
  3. https://www.youtube.com/playlist?list=PLVjmhljdg0BEj7EpSXaxYJiCWwHwXhuV1
  4. https://www.youtube.com/playlist?list=PLO-hrPk0zuI18xlF_480s6UiaGD7hBqJa

Node.js es una compilación empaquetada del motor V8 JavaScript de Google, la capa de abstracción de la plataforma libuv y una biblioteca central que crea sitios web en tiempo real con capacidad de inserción.

Permite a los desarrolladores escribir programas JavaScript que se ejecutan fuera de un navegador web. En particular, Node.js es bueno para escribir programas de servidor que realizan muchas E / S, especialmente E / S a través de Internet. Node.js se usa con mayor frecuencia para escribir servidores de red que manejan solicitudes HTTP. es decir, servidores web.

Tutoriales

  • Lecciones interactivas de NodeSchool.io
  • El arte del nodo (una introducción al nodo)
  • Hola Mundo
  • Hola servidor web del mundo
  • Guía de Node.js
  • Crea un blog con Node.js, express y mongodb
  • Node.Js Tutoriales en el Proyecto 70
  • Node.js para principiantes
  • Aprenda Node.js completamente y con confianza

Videos

  • Tuts de nodo
  • Node.js: pureza asincrónica conduce a un desarrollo más rápido
  • Programación en paralelo con Node.js

  • Node.js Primer vistazo

Node.js es un contenedor del motor V8 JavaScript de Chrome.

Permite a los desarrolladores escribir programas JavaScript que se ejecutan fuera de un navegador web. En particular, Node.js es bueno para escribir programas de servidor que realizan muchas E / S, especialmente E / S a través de Internet. Node.js se usa con mayor frecuencia para escribir servidores de red que manejan solicitudes HTTP. es decir, servidores web.

Node.js facilita (relativamente) a los programadores escribir aplicaciones de servidor que maximicen el rendimiento de un solo proceso de sistema operativo y un solo núcleo de CPU sin la complejidad de escribir un programa de subprocesos múltiples.

La razón de esto es que JavaScript usa un modelo de programación “asíncrono”. Es decir, cuando un programa JavaScript ejecuta una instrucción que puede tardar un tiempo en completarse, continúa ejecutando el resto del programa pero crea una “devolución de llamada” que se ejecuta cuando la solicitud se ha completado.

¿Has intentado aprender Nodo antes? Empiezas un nuevo curso y el instructor te hace instalar un montón de bibliotecas antes de que sepas qué es Node o cómo funciona. Eventualmente te quedas atascado y te comunicas con el instructor, pero no obtienes respuesta. Luego cierra el curso y nunca lo vuelve a abrir.

¿Suena familiar?

El curso completo para desarrolladores 2 de Node.js cubre los fundamentos de Node antes de sumergirse profundamente en excelentes herramientas como Express, Mongoose y MongoDB.

Todo el curso se basa en un solo objetivo: convertirlo en un desarrollador de Nodo profesional capaz de desarrollar, probar e implementar aplicaciones de producción en el mundo real.

Enlace del curso: ¿cómo puedo comenzar a aprender Node.js y sus componentes relacionados?

La mejor manera de aprender Node es compilando aplicaciones Node.

Desde el principio, estarás programando cada proyecto y trabajando en los desafíos que he diseñado para reforzar lo que has aprendido. Esto le dará la experiencia práctica necesaria para poder crear y lanzar su propio proyecto una vez que haya terminado.

Estarás construyendo cuatro proyectos:

  1. Una aplicación para tomar notas para mojarse los pies
  2. Una aplicación meteorológica que interactúa con Google Maps y Dark Sky API
  3. Una API REST de tareas completa con cuentas de usuario y autenticación
  4. Una aplicación de chat en tiempo real con un compañero del lado del cliente

Al final, podrás tomar lo que has aprendido y lanzar tu propia aplicación Node.

Al aprender, aprende lo último.

Todo lo que necesita viene en un paquete fácil de usar.

Puede dejar de preocuparse si está aprendiendo las habilidades adecuadas para crear una aplicación o conseguir un nuevo trabajo. He seleccionado toda la tecnología que es esencial para crear aplicaciones del mundo real. He mapeado todo en un paquete completo y fácil de seguir diseñado para ponerlo en funcionamiento en unas pocas semanas.

No hay mejor momento para aprender Nodo.

De acuerdo con la Encuesta de desbordamiento de pila de 2016, Node se encuentra entre los diez primeros en popularidad de back-end y salario de back-end, con un salario promedio de $ 85k. Esto significa más trabajos y más oportunidades para usted.

Puede que te quedes atascado. Pero estoy aquí para ayudar.

No hay nada peor que comenzar cinco horas en un curso, quedarse atascado y no obtener la ayuda que necesita para continuar.

No confíes en mi palabra. Revise las reseñas y vea lo que otros estudiantes están diciendo.

“Cualquier pregunta que la gente parezca tener se responde con rapidez, claridad y, a menudo, con ejemplos publicados en GitHub. Incluso cuando las preguntas formuladas están fuera del alcance del curso, Andrew parece triunfar “. – Adam Tait

“Esto es increíble. Lo que es aún mejor es que el instructor respondió todas las preguntas que hice”. – Pak Chu

“El valor real en este curso es Andrew; no solo es un gran maestro, sino que también responde rápidamente a sus preguntas y brinda comentarios”. – Nick Hester

Le garantizo que este es el curso de Nodo más actualizado y atractivo disponible, y viene con una garantía de devolución de dinero de 30 días.

Durante ocho capítulos aprenderás:

  1. Node.js
  2. Npm
  3. Programación asincrónica
  4. ES6 / ES7
  5. MongoDB
  6. Exprimir
  7. Socket.IO
  8. Autenticación JWT
  9. Mangosta
  10. Despliegue de aplicaciones con Heroku
  11. Control de versiones con Git
  12. GitHub
  13. Diseño de API REST
  14. Prueba de código
  15. Depuración
  16. Moca
  17. Muchas más herramientas

¿Quién es el público objetivo?

  • Cualquiera que quiera lanzar sus propias aplicaciones Node, cambiar de carrera o trabajar como desarrollador Node

Node.js es un entorno de tiempo de ejecución para crear servidores web asíncronos usando JavaScript. Sospecho que JavaScript se eligió en función de sus propiedades de subproceso único / asincrónico.

Una diferencia importante entre Node.js y los servidores web más tradicionales es que Node.js es de un solo subproceso y se basa en la ejecución de código asíncrono donde todas las solicitudes son procesadas por el mismo hilo. El otro enfoque es dedicar un hilo separado por solicitud en el servidor. A primera vista, el enfoque de un subproceso por solicitud parece superior, pero la desventaja es que solo hay muchos subprocesos de CPU para todos. Cuando se queda sin hilos disponibles, las solicitudes posteriores se bloquean y tienen que esperar hasta que un hilo esté disponible.

La filosofía asincrónica detrás de Node.js es diferente aquí, porque solo permitirá que la solicitud tenga el hilo mientras esté haciendo algo activamente. Tan pronto como la solicitud esté esperando algo, debe ceder el hilo a otra solicitud. Un ejemplo es una solicitud que desencadena una consulta de base de datos a un servidor de base de datos desde el servidor Node.js. Mientras esperamos que la base de datos responda, no permitimos que se bloquee el hilo único Node.js. En cambio, se lo damos a otro hilo. Una vez que la base de datos finalmente regrese con un resultado, le devolveremos el hilo tan pronto como esté disponible.
Esencialmente es un tiempo compartido del hilo único entre todas las solicitudes.

Node.js ha demostrado ser muy escalable basado en este enfoque, pero es importante señalar que no siempre es apropiado modelar su servidor web de esta manera. Node.js funcionará mejor si el procesamiento en el servidor web es ligero sin procesos pesados ​​de larga duración en el propio Node.js. De lo contrario, cada solicitud retendrá el hilo durante largos períodos de tiempo, lo que ralentizará todas las demás solicitudes. Funciona mejor si el procesamiento se realiza en otros servidores, de modo que el servidor Node.js pueda pasar el trabajo y centrarse solo en procesar las solicitudes.

Hay muchos tutoriales en línea. Node.js en sí mismo es un poco básico, por lo que recomiendo usar un marco como Express.js en la parte superior de Node.js para obtener algunas características estándar del servidor web de forma gratuita.

Node.js es especialmente bueno con respecto a esto:

¿Qué es la E / S sin bloqueo o asincrónica en Node.js?

Hay 3 ventajas principales al usar JS en el servidor

  1. Confíe en el motor de tiempo de ejecución de JavaScript de Google V8 muy optimizado y rápido
    V8 (motor de JavaScript)
  2. Estilo de codificación asincrónica (no tiene que preocuparse por el subprocesamiento múltiple, ya que JS está diseñado para estar en una sola función a la vez; una función debe completarse antes de que se inicie otra).
    El bucle de eventos de JavaScript: explicado
  3. JavaScript en todas partes: en el front-end y en el back-end. No más cambios de contexto entre un lenguaje back-end y un lenguaje front-end, o entre dos lenguajes front-end diferentes (como mezclar PHP con JS en el front-end).

Además de los casos de uso mencionados por Noam Ben-Ami, un escenario específico que he encontrado útil una y otra vez es un “servidor fantasma” (daemon) que se ejecuta junto a un servidor web convencional y maneja tipos específicos de solicitudes, ya sea ajax o websocket .

Por ejemplo, un servidor websocket node.js de menos de 200 líneas puede agregar chat en tiempo real a cualquier sitio de la vieja escuela, o usarse para proxy de solicitudes de telnet (consulte mudportal.com), o aprovechar muchas capacidades interesantes del lado del servidor ( ver qa2l.com). ¿Olvidé decir que el enchufe descarado es entrante?

Es difícil decir para qué se ha inscrito, sin saber mucho sobre el curso. Pero si desea escribir algunas aplicaciones web y crear sitios web, ya sabe lo que necesita saber.

Debe saber ahora que hay dos manejadores de solicitudes muy útiles en node.js llamados get () y post () si no sabe cuáles son, simplemente lea la página de Wikipedia para el protocolo HTTP.

usando estas dos funciones, puede hablar con un navegador web y eso es básicamente una aplicación web, algo que puede hablar con un navegador web.

Es posible que necesite hacer un montón de otras cosas para mejorar la experiencia del usuario, cosas como: administración de sesiones, representación HTML, páginas dinámicas, aplicaciones interactivas, etc. Estos son solo complementos que harán que su aplicación web sea atractiva.

Para hacer todo esto, le sugiero que busque Express 4.0 y Connect Framework. Estas son cosas hechas con node.js que puedes usar directamente para crear aplicaciones web complejas. Explora más por ti mismo.

No pude encontrar a nadie haciendo https y redireccionamiento http para usted a menos que aloje con ellos (wix, github)

Así es como aloja su propio servidor, como un campeón, con Node.js en 25 líneas de código:

Código público en github para mi proyecto DNAvID – Family DNA Network.

A partir de ese momento, tendrá un lenguaje completo allí para ejecutar cualquier programa interactivo que desee en el back-end.

.

Lea el libro para principiantes de The Node

Esto es lo primero que leí en Node, y me ayudó mucho. Sin embargo, tenía experiencia con otras tecnologías del lado del servidor antes de eso, por lo que eso también podría haber ayudado.

A partir de ese momento, se ha construido para aprender, básicamente. Elige una idea, cualquier idea simple, y desafíate a hacerlo con esta nueva tecnología. Descubrí que tener un camino guía hacia una meta práctica es muy útil en comparación con los ejemplos de ejercicios abstractos.

Piense en node.js como una puerta giratoria de alta velocidad para solicitudes de servidor. IN y OUT suceden al MISMO tiempo continuamente sin latencia. A diferencia de una puerta normal, que tiene que esperar a que se abra, pase, cierre, luego alguien más puede abrirla y salir (la mayoría de los otros servidores). Este cambio fundamental en la arquitectura es la razón por la cual es mejor que todo lo demás y tiene a los nerds hollerin. Uno de los mejores sitios que visito religiosamente es Scotch Web Development. Aquí está el tutorial de nodo más simple de ellos que debería darle una idea de cómo funcionan las cosas. Cree un editor de rebajas en tiempo real con Node.js

La respuesta a su primera pregunta es sí, con el nodo escribimos JavaScript similar a lo que hacemos usando Java en los servidores de aplicaciones, el código de fondo, precisamente la lógica de negocios.

La respuesta a su segunda pregunta está bien explicada en la documentación de GitHub “Art of Node” de esta manera:

El nodo no es ninguno de los siguientes:

  • Un marco web (como Rails o Django, aunque puede usarse para hacer tales cosas)
  • Un lenguaje de programación (usa JavaScript pero el nodo no es su propio lenguaje)

En cambio, el nodo está en algún lugar en el medio. Es:

  • Diseñado para ser simple y por lo tanto relativamente fácil de entender y usar
  • Útil para los programas basados ​​en E / S que deben ser rápidos y / o manejar muchas conexiones

En un nivel inferior, el nodo se puede describir como una herramienta para escribir dos tipos principales de programas:

  • Programas de red que utilizan los protocolos de la web: HTTP, TCP, UDP, DNS y SSL
  • Programas que leen y escriben datos en el sistema de archivos o procesos / memoria locales

¿Qué es un “programa basado en E / S”? Aquí hay algunas fuentes comunes de E / S:

  • Bases de datos (por ejemplo, MySQL, PostgreSQL, MongoDB, Redis, CouchDB)
  • API (por ejemplo, Twitter, Facebook, notificaciones push de Apple)
  • Conexiones HTTP / WebSocket (de usuarios de una aplicación web)
  • Archivos (redimensionador de imagen, editor de video, radio por internet)

Node realiza E / S de una manera asíncrona que le permite manejar muchas cosas diferentes simultáneamente. Por ejemplo, si vas a un restaurante de comida rápida y pides una hamburguesa con queso, inmediatamente tomarán tu pedido y luego te harán esperar hasta que la hamburguesa esté lista. Mientras tanto, pueden tomar otras órdenes y comenzar a cocinar hamburguesas con queso para otras personas. ¡Imagínese si tuviera que esperar en la caja registradora su hamburguesa con queso, bloqueando el pedido de todas las demás personas mientras preparaban su hamburguesa! Esto se llama bloqueo de E / S porque todas las E / S (cocinar hamburguesas con queso) suceden una a la vez. Nodo, por otro lado, no es bloqueante , lo que significa que puede cocinar muchas hamburguesas con queso a la vez.

Para la respuesta a su tercera pregunta, consulte esto: –

¿Cuál es la mejor manera de aprender Node.js?

Javascript, por una serie de desafortunadas razones, ninguna de las cuales tiene que ver con ningún mérito técnico del lenguaje en sí, es, con mucho, el lenguaje más importante para escribir código que se ejecuta en el navegador.

Este es un problema porque es un lenguaje extremadamente mal diseñado, retenido por décadas de legado lingüístico y una evolución del lenguaje dolorosamente lenta y continua. El sistema de tipos es débil y fomenta los errores, el sistema de herencia basado en prototipos está a medias y el soporte para el manejo de errores dentro del lenguaje es inferior a casi cualquier otro lenguaje moderno.

Estos problemas, entre muchos otros, hacen que cualquier programador con experiencia en otros idiomas se golpee la cabeza repetidamente en el escritorio, se quite el cabello y llore suavemente durante las largas y dolorosas noches de codificación. En respuesta a esto, varios grupos se han levantado e intentaron encontrar una mejor manera: un lenguaje alternativo en el que podamos escribir el código del navegador que aún se ejecutará en la mayoría de los navegadores (por ejemplo, Dart, un lenguaje moderno que puede compilarse a Javascript).

Mientras tanto, en un ataque de inspiración mal concebida, algunas personas decidieron que sería una idea absolutamente fantástica no solo tener que soportar Javascript en nuestro código de navegador, sino también en el servidor. Con una muestra de masoquismo algo impactante y ciertamente impresionante, evitaron la balsa de lenguajes modernos del lado del servidor a su disposición, sacaron sus / * global * / sy reglas de alcance locas, y se pusieron a trabajar.

Tuve la mala suerte de tener que escribir Javascript del lado del servidor hace muchos años. Los aficionados de Node.js te dirán que ahora es diferente. Pero la verdad es que Javascript es una mala elección de idioma para cualquier entorno. Por ahora estamos (en su mayoría) atrapados en el navegador porque es el único idioma que la mayoría de los navegadores admiten de forma nativa. Es extremadamente afortunado que no tengamos una restricción tan onerosa en el lado del servidor.

Node.js es un motor de JavaScript que se ejecuta fuera del navegador, esto le permite utilizar JavaScript como lenguaje del lado del servidor o simplemente ejecutar scripts en su máquina.
npm es su administrador de paquetes.
Express.js es un framework web liviano muy extendido construido sobre el nodo.
Los corredores de tareas como gulp, gruñido y brócoli funcionan con nodos.