¿Hacia dónde se dirige node.js? ¿Es una buena opción para mi primer idioma de backend?

Por qué NJS:

  • Actuación
  • Escala
  • JSON / AJAX / REST
  • NPM y una gran comunidad
  • Aproveche Angular y MEDIO

Así que NJS cambia las reglas del juego porque tradicionalmente tenías esta separación entre el backend y el front-end, lo que significaba que si querías escalar tenías que hacer malabarismos con una gran base de código. NJS ‘tiene que ver con el desarrollo modular.

Piense en pequeñas piezas de Lego (2 × 2) formando una estructura gigante versus piezas de Lego (4 × 4) para formar la misma estructura. Este es el cambio con NJS. Es más eficiente y requiere menos trabajo crear aplicaciones. Piezas de legos más grandes que hacen el mismo trabajo. En lugar de construir el mismo castillo con un millón de piezas de lego, puedes con la mitad. Ese es el poder de NJS.

La arquitectura web moderna está cambiando debido al surgimiento de NodeJS y el desarrollo de la pila MEAN. Node JS se dirige a facilitar el desarrollo de aplicaciones web con la inclusión de otros marcos y bibliotecas (Angular, Mongo, etc.). NJS es ideal para poner en marcha nuevas empresas y mvp y ejecutarlos rápidamente, y la empresa está viendo una transición a NJS (por ejemplo: Walmart y su transición a NJS). Es un lenguaje agradable porque es Javascript, aprovecha muchas tecnologías (AJAX) y es concurrente.

El futuro de NodeJS significa un backend y API más simples para trabajar, lo que significa que las aplicaciones se escribirán con una nueva metodología modularizada debido a esto.

Esto permite que las aplicaciones móviles y el navegador compartan la misma API. Flexibilidad más fácil en la estructura de sus aplicaciones que puede permitir pivotar sobre la marcha, y puede escalar rápidamente sin mucho trabajo de arriba. Escribir REST / JSON es fácil y las aplicaciones de una sola página funcionan muy bien con NJS.

¿Quién usa NJS?

  • Spotify (NWK)
  • Netflix
  • Uber
  • Paypal

– Por qué Walmart está usando Node.js

Node.js | Centro de desarrollo de Heroku

Node.js no es un lenguaje de programación. Es la tecnología basada en el motor JavaScript V8 de Chrome que le permite usar JavaScript en el lado del servidor. JavaScript se desarrolló originalmente para secuencias de comandos del lado del cliente, pero finalmente explotó y ahora lo tenemos en el lado del cliente, del lado del servidor, para la aplicación de escritorio (Electron) e incluso para el desarrollo integrado (Espruino). Sí, Node.js es una tecnología bastante prometedora, pero no es una bala de plata. Hay algunas desventajas sobre Node, y puede leer sobre ellas aquí en Quora:

¿Cuáles son las desventajas de usar Node.js?

Sin embargo, cada tecnología tiene sus ventajas y desventajas, así que sí, deberías aprender Node.js, al menos para seguir siendo relevante como desarrollador web. No te hará daño 🙂

Node.JS es realmente impresionante. Déjame mostrarte algunos PROS vs CONS:

PROS:

  1. Es 100% JavaScript, lo que significa que solo necesita aprender un idioma.

CONTRAS:

  1. Es 100% JavaScript :).
  2. El ecosistema no es saludable, ya que cada paquete de NPM tiene al menos 20 más, lo que causa fatiga en la decisión. Los desarrolladores tienden a competir entre sí en nombre de la fama.
  3. Los marcos de nodos realmente no están maduros. O usas algo mínimo como Express, que es como inventar la rueda y la codificación en la edad de piedra o usarás algo como Sails, que se supone que son los Rails of Node, pero realmente no puedes compararlos. Rails es mucho más probado y madurado en batalla.
  4. El código se convierte en un gran desastre una vez que su aplicación crece y será una pesadilla mantenerla. Probablemente tendrá que crear una guía manual y actualizarla a menudo para comprender el código después de dejarlo por un tiempo.
  5. Callback hell, Promise hell (then, then, then, then …), y solo razonar sobre tu código es difícil. Esto mejorará una vez que async / wait se convierta en la norma.
  6. ¿Mencioné que le llevará mucho más tiempo entregar el código? Esto está bien si eres Paypal con un montón de dinero para contratar a todos los desarrolladores que quieras, pero no es así si eres un pequeño emprendedor o solo un programador solitario.

A menudo no me gusta escribir cosas negativas, pero espero que ayude a otros desarrolladores a no caer en esta estafa de marketing de usar 100% JS como algo que te facilitaría la vida, porque claramente no lo hace.

Debería elegir soluciones probadas para la batalla que le facilitarán la vida y realmente lo ayudarán a entregar código más rápido y con un rendimiento mucho mejor que otras soluciones promedio. Recomiendo en Erlang / Elixir. Phoenix es un gran marco de trabajo de Elixir que ofrece productividad y escalabilidad masivas.

Si no necesita este gran rendimiento, simplemente use Rails u otras herramientas que se ajusten. Simplemente me quedaría con JS para el frente y eso es todo.

Node.js es fantástico, pero nada es el “futuro” de nada por mucho tiempo. Esto es especialmente cierto para algo basado en un lenguaje que a nadie le gusta mucho (JavaScript).

Algunos desarrolladores de Java pueden sentirse amenazados por Node.js, pero no deberían. Trabajo en ambas plataformas y hay una línea clara para mí sobre cuándo usaré cualquiera de ellas. Y te diré esto, Node.js no es para todo tipo de proyecto.

Java (incluido Spring) está probado en batalla y probado de una manera que Node.js solo puede soñar con ser una década a partir de ahora.

Estoy comenzando un nuevo proyecto por mi cuenta y elegí esta combinación por muchas razones, incluidos estos hechos:

  1. Java es simplemente mejor que JavaScript.
  2. Los idiomas escritos de forma estática son más fáciles de mantener a largo plazo.
  3. Spring hace que Java sea moderno y divertido.
  4. A Node.js no le gustan mucho las bases de datos relacionales.
  5. Las bibliotecas para Java son mucho más maduras (en promedio) que las de Node.js.

No estoy criticando a Node.js (tal vez JavaScript un poco) porque realmente me gusta y ha habido un trabajo fantástico en la plataforma. Pero no es para todo, y Java se tomará mucho más en serio hasta que Node.js haya pasado por más pruebas y tribulaciones.

Nodejs fue muy publicitado y esta exageración parece ralentizarse en gran medida. node.js es en realidad javascript no es un lenguaje muy sólido. Además, una vez tan querido MEAN stack ya no está actualizado. para el desarrollo de back-end, te sugiero que pruebes algunos lenguajes robustos sólidos / bien diseñados como python / ruby ​​/ scala / elixir, etc. Honestamente hablando, nodejs como backend sería una elección muy mala y no tiene tanto que ahora tenía antes . por ejemplo, python agregó una solución base asincio que es muy agradable. Así que pruebe algunas de las otras plataformas y haga su propia elección.

Node.js está aquí por algún tiempo y se quedará por un tiempo, pero si tuviera que aprender mi primer “back-end”, invertiría mi tiempo en marcos como Django o Ruby on Rails. Personalmente, me gusta más Django, pero esto es realmente personal 🙂

Java Script no es un verdadero lenguaje de desarrollo, lo siento, es solo un script.

Pero, por supuesto, no estará de más saber que node.js también sea relevante.

More Interesting

Quiero ser un desarrollador web y quiero construir un sitio web completo que contenga codificación tanto front-end como back-end, ¿qué idioma debo aprender?

Como principiante en el desarrollo web, ¿qué lenguaje de programación debo usar para el desarrollo de back-end: Java o NODE JS?

¿Qué idioma de backend tiene más trabajos y utilidad?

¿Cómo sabré qué sitio web está utilizando qué idioma en el back-end?

¿Qué trabajo es más difícil: desarrollo web back-end o desarrollo de software Java?

¿Hay alguna forma de adivinar qué marco de back-end puede usar un sitio? ¿Qué tipo de pistas o patrones se pueden encontrar en el marcado o en otro lugar para regalar algunos de los marcos más conocidos como Rails o Django?

¿Cuáles son los mejores recursos para crear un backend de iOS en AWS o Google App Engine?

¿Por qué Google cambió su política original en '20% de tiempo '?

¿Django, Ruby on Rails y Node.js se harán cargo de Java para el desarrollo web de backend?

¿Es posible que uno sea muy bueno tanto en desarrollo web front-end como back-end?

¿Cuáles son los mejores frameworks Java de back-end 2017?

¿Cómo comenzar a escribir el servicio de backend? ¿Debo crear bases de datos primero? ¿O debería escribir el código primero? ¿Qué es exactamente escribir código de fondo?

Alguien dijo que un desarrollador de software profesional puede cambiar de backend a frontend, de móvil a desarrollo web en 1 o 2 días, ¿es cierto?

¿Cómo debe nombrar sus sistemas de back-end?

¿Qué es frontend y backend en VLSI?