Si, depende. Pero…
El nodo no es adecuado para back-end que contienen lógica compleja; Debido a su arquitectura de subproceso único, está diseñado para ser principalmente un proxy, que acepta solicitudes, realiza operaciones asíncronas, como llamadas a bases de datos o llamadas API, y devuelve respuestas.
Java no es adecuado para este tipo de trabajo proxy porque su diseño fuertemente tipado es una molestia cuando se escriben proxies flexibles, y su modelo de subprocesos hace que dicho trabajo sea más complicado de lo que debería ser.
- ¿Qué es un desarrollador de back-end?
- ¿Por qué tantos desarrolladores de IU piensan que el backend desaparecerá?
- ¿Django, Ruby on Rails y Node.js se harán cargo de Java para el desarrollo web de backend?
- ¿Qué necesito saber sobre el desarrollo de back-end para admitir un nuevo inicio?
- ¿Qué proyecto sugeriría hacer para que un desarrollador de back-end lo practique?
.NET en realidad se encuentra en un punto óptimo donde puede realizar ambas tareas porque los lenguajes subyacentes admiten tipos dinámicos. Sin embargo, el vínculo con Microsoft a menudo es un bloqueador para las personas.
Python es un entorno altamente productivo para cargas de trabajo similares al nodo. Lo he visto desplegado en muchos lugares con mucho éxito, pero como lenguaje no es tan escalable (en base a código) o de rendimiento.
Go es ideal para servidores proxy de muy alta velocidad y tareas del sistema.
Scala y Akka se sientan en un lugar interesante para aquellos de nosotros que construimos sistemas distribuidos masivos utilizando patrones funcionales.
PHP es tecnología heredada que nadie debería usar voluntariamente.
Casi todos los sistemas grandes del mundo real usan una combinación de plataformas, cada una de ellas en el lugar que les corresponde. Mi compañía usa Java, Scala y Node estratégicamente. No hay “mejor”, y hacer esa pregunta es un juego para principiantes.