¿Es Node.js actualmente la mejor plataforma de desarrollo web?

¿Mejor? Depende de tus criterios.

Para el rendimiento, supera a Ruby por una milla, y supera el enfoque tradicional de Python (Django) por casi lo mismo. Del mismo modo, es más rápido que PHP. Y creo que deberíamos estar más preocupados por el rendimiento, dado que un servidor rápido puede significar que un sitio funciona bien, con baja latencia, incluso cuando está vinculado a la página principal de un sitio web popular.

Por otro lado, Go es aún más rápido. 2–10x en puntos de referencia. Más si está haciendo un trabajo no trivial en código.

¿Para facilidad de uso? Este es el tema de las guerras religiosas. Me parece que es muy fácil de usar, con el framework más popular, ExpressJS, siendo uno de los más rápidos y seguros por defecto para arrancar. Y no subestimes cuánto puede afectar un idioma a la seguridad. Mire WordPress y sus avisos de seguridad casi mensuales.

El concepto de seguridad como un problema en PHP es parte de la cultura común, de hecho. Relevante: me reí a carcajadas con una lista de chistes de las características de diseño de varios idiomas; Algunas líneas relevantes:

  • Python: ¿Y si todo fuera un dict?
  • Java: ¿Y si todo fuera un objeto?
  • JavaScript: ¿Qué pasaría si todo fuera un dict y un objeto?
  • C #: ¿Y si todo fuera como Java, pero diferente?
  • Ruby: ¿Y si todo fuera un mono parcheado?
  • Ir: ¿Qué pasa si tratamos de diseñar C por segunda vez?
  • Perl: ¿Qué pasaría si shell, sed y awk fueran un idioma?
  • Perl 6: ¿Qué pasa si llevamos la broma demasiado lejos?
  • PHP: ¿Qué pasa si tratamos de facilitar la inyección de SQL?

Y así. El último habría provocado una escupida si hubiera estado bebiendo, pero PHP es muy conocido por dejar la seguridad abierta. Ruby tampoco es una gran mejora en ese eje.

Una pregunta que debe hacerse es si necesita una “plataforma de desarrollo web”, de hecho. A medida que los marcos de clientes se vuelven más rápidos y sofisticados, el desarrollo de API que consume su sitio HTML estático parece una nueva práctica recomendada. [1]

Y Node.js te ofrece una plataforma fácil de usar para crear API. Sin embargo, Go también.

El apoyo de la comunidad y la biblioteca para Node.js es tremendo. Más de 350k paquetes en el repositorio. Un salto hasta el # 5 en proyectos de Github. [2] Python también ha ido creciendo en popularidad, para ser justos. PHP y Ruby han estado cayendo.

Finalmente, soy un gran defensor del tipeo estático. [3] Lo obtienes con TypeScript con Node.js. Lo obtienes con Go y Java. Con las versiones más recientes de PHP obtienes parte de él. Pero con Python, Ruby y Perl, estás en el frío.

¿Tan mejor? Yo diría que está entre los mejores. Me cuesta llamarlo estrictamente el mejor; Ir aún puede ganar ese premio. El jurado aún está fuera, en mi mente. Pero es una de las dos principales plataformas web y de desarrollo de API en la actualidad, en mi opinión.

Notas al pie

[1] JavaScript, API y marcado

[2] Índice de Popularidad de Lenguaje de Programación PYPL

[3] Tipos estáticos considerados útiles · RealMensch

De hecho, tengo algunos libros sobre Node.js pero todavía tengo que entenderlo. He estado usando la misma tecnología durante un tiempo y me he aficionado bastante a ella, por lo que es posible que no sea la mejor persona para responder esto, pero necesito cambiar para mantenerme al día con el mundo de la programación.

Node.js es realmente una cosa maravillosa, toma el poder de un JavaScript del lenguaje local bien conocido y le da el poder de un lenguaje del lado del servidor como PHP. Lo bueno es que mucha gente conoce JavaScript, se usa en muchos campos diferentes y realmente no es muy difícil de aprender.

Ahora, diciendo que es lo mejor, lamentablemente no puede suceder, todavía es relativamente nuevo. Todavía no se han movido muchas empresas, algunas personas solo se centran en usar PHP o Ruby On Rails o algo similar. Aunque puedo decir que el lenguaje está creciendo y posiblemente podría convertirse en uno de los mejores, tendremos que esperar y ver qué pasa.

No lo es. La mayoría de los sitios web y aplicaciones web se realizan con PHP (y sus marcos asociados), Java (y sus marcos asociados), Python (y sus marcos asociados), C # /. NET, Ruby on Rails, etc. El nodo para aplicaciones web es una gota en el cubo

Además, Node ni siquiera es la forma más fácil de escribir una aplicación web. En mi experiencia, Python con web2py es. Web2py (no Django) es la forma más rápida y fácil de crear un sitio web con todas las funciones. ¡Incluso Ir con Beego es muy fácil!

Entonces, ¿por qué debería querer usar Node (y su flatulencia asociada a un lenguaje, JavaScript)?