Node.JS tiene una fuerza única e increíble: velocidad de E / S. El bucle de eventos de Node puede procesar solicitudes de E / S como un Blendtec se mezcla a través de … cualquier cosa, aparentemente.
Dicho esto, Node es mucho más flexible de lo que muchas personas le dan crédito. Tiene el beneficio de ser el destinatario del trabajo que se realiza en los motores JS en el mercado de navegadores increíblemente competitivo. Los motores JS son un orden de magnitud más rápido que hace cinco años, y Apple, Google, Microsoft y Mozilla están trabajando frenéticamente para tener el motor más rápido. Las apuestas son enormes y los beneficios inmensos. Ese tipo de energía simplemente no existe en el lado del servidor.
La mayor debilidad de Node es lo mismo que le da fuerza: el bucle de eventos de un solo subproceso. Si llama a un cálculo que bloquea el bucle de eventos, su servidor completo no responde hasta que el proceso de bloqueo se completa o agota el tiempo de espera. Entonces, aunque Node es realmente notablemente rápido para muchos cálculos, hasta que JavaScript deje de ser de un solo subproceso, lo que parece inevitable, su procesamiento de datos pesado debe ser manejado por servicios externos a los que Node llama.
- ¿Qué es Node.js? Quiero una comprensión clara al respecto.
- ¿Qué es exactamente Angular 2?
- Cómo usar los botones personalizados AddThis
- ¿Eres un desarrollador front-end?
- ¿Qué es la hoja de estilo externa? ¿Cómo vincular?
Es por eso que Node se usa con frecuencia como API. Todo lo que debe hacer Node en este escenario es manejar una solicitud y llamar al servicio apropiado. Luego espera la respuesta de ese servicio mientras dirige otras solicitudes. Es por eso que recomiendo a los desarrolladores de pila completa que aprendan un idioma de alto nivel y un lenguaje de nivel inferior. Las llamadas a nodos Java, Go o C pueden crear una capa de aplicación poderosa.
Muchos sitios web más pequeños casi no requieren procesamiento. Por lo general, son aplicaciones CRUD simples que solo llaman a una base de datos. Como tal, puede usar Nodo fácilmente para toda su capa de aplicación. Si solo tiene unos pocos cientos de usuarios concurrentes, a menos que sea un desarrollador terrible, no alcanzará los límites de Node.
Del mismo modo, para sitios web de poco tráfico, Node puede ser un excelente servidor web. Puede empaquetar código, renderizar previamente las aplicaciones de Angular 2 o React, y manejar de forma segura pequeñas cantidades de cálculos sin bloquear demasiado.