Hay varias razones por las cuales JavaScript del lado del servidor está ganando impulso rápidamente:
- Le permite usar el mismo idioma en el servidor y el cliente . Esto aumenta la cantidad de código que se puede compartir y disminuye el costo y el esfuerzo necesarios para contratar desarrolladores, ya que no es necesario contratar a diferentes personas para escribir código en diferentes lugares. Un experto en JavaScript del lado del cliente puede convertirse rápidamente en un experto en JavaScript del lado del servidor. Además, JavaScript es el lenguaje de programación más popular del mundo, por lo que hay bastantes personas que ya lo hacen bien.
- Es una locura rápida . Node.js (que es donde está la mayor parte del ruido de JS del lado del servidor en estos días) es un marco IO increíblemente rápido creado que hace que sea muy fácil escribir programas de red altamente escalables.
- JavaScript es asombroso . Aunque tiene muchas “partes malas” notorias, JavaScript es bastante impresionante en general. Está orientado a objetos, de tipo dinámico, prototipo, y admite lambdas y cierres. Esto permite un desarrollo rápido y hace que el lenguaje sea lo suficientemente flexible y expresivo como para satisfacer una amplia gama de necesidades.
- El reciente renacimiento de la guerra de los navegadores significa que hay varios motores JavaScript excelentes que compiten entre sí para ser más rápidos y mejores . Dado que muchos de estos motores también se pueden usar para ejecutar JS del lado del servidor, esto significa que hay una buena selección de excelentes motores JavaScript para elegir (aunque Node.js actualmente solo se ejecuta en V8).
- Node.js apareció en el momento adecuado . PHP, actualmente el lenguaje del lado del servidor más popular, se ha visto envuelto en disputas comunitarias en medio de un gran esfuerzo para refactorizar su soporte de codificación de caracteres, al tiempo que pierde la mentalidad del desarrollador a los excelentes marcos web de Ruby que han aparecido en los últimos años. Pero los marcos web de Ruby, y el lenguaje en sí, se han vuelto notorios por tener problemas de rendimiento y, a veces, ser difíciles de escalar (aunque parte de esta percepción se basa en información errónea), por lo que la aparición de un nuevo marco IO altamente escalable y altamente productivo construido además del lenguaje de programación más popular del mundo, no podría haber sido mejor cronometrado.