¿Es Node.js con Express.js una buena opción para mi inicio?

Los dos beneficios principales para Node.js son básicamente los siguientes:

  1. E / S asíncrona sin bloqueo que permite una alta concurrencia en un solo subproceso.
  2. Ser capaz de escribir JavaScript en el cliente y el servidor

Y, sinceramente, para la mayoría de las nuevas empresas, nunca verá las ganancias de rendimiento del primer beneficio hasta que tenga miles de usuarios simultáneos. Para una aplicación pequeña, la diferencia entre el modelo basado en eventos y el uso de subprocesos es mínima.

El segundo beneficio es diferente y depende de la familiaridad de su equipo con JavaScript. Si necesita que los desarrolladores trabajen en la pila completa, es mucho más fácil para los desarrolladores conocer un solo idioma y comprender rápidamente lo que sucede tanto en el cliente como en el servidor. Yendo aún más lejos, si está utilizando algunos de los marcos más recientes de JavaScript MV *, incluso puede compartir algunas de las estructuras de datos de su modelo entre el cliente y el servidor, lo que le permite realizar la representación de la plantilla donde lo desee.

Sin embargo, si no está familiarizado con JavaScript, puede ser más difícil recomendarlo. Node.js tiene una pequeña curva de aprendizaje debido a su naturaleza asincrónica y al uso de devoluciones de llamada. Esto es fácil para las personas que están familiarizadas con el uso de JavaScript en el front-end para la programación en respuesta a eventos como clics del mouse y pulsaciones de teclas, pero tomará un tiempo de aprendizaje significativo para aquellos que son nuevos en él.

Definitivamente es un gran marco para usar, y si quieres darle una oportunidad, hay muchos recursos disponibles para que aprendas más al respecto. Ha mejorado en cada nueva versión (0.8 trajo un fantástico soporte de clúster), así que definitivamente compruébelo, pero comprenda cuáles son los costos y beneficios de usarlo.