Tengo una aplicación web en PHP y Angularjs. ¿Debo reemplazar el PHP con Node.js?

Me gustaría pedirle que piense un poco sobre la eficiencia de tal cambio haciéndose algunas preguntas:

¿Es esta una aplicación que escribiste para aprender algo de esta tecnología o para ganar dinero con ella?
1. Aprender: cualquier cosa puede ser reemplazada. Incluso sugeriría que Angular debería encabezar la lista de reemplazo en este caso, ya que hay numerosos ejemplos de cómo esto no funciona bien con la escala, el SEO y el desarrollo en equipos grandes.
2. Vender: primero trata de conseguir que produzca dinero, luego mide las áreas que necesitan mejoras, optimízalas.

Si está tratando de ganar dinero con esta aplicación, le llamaré la atención sobre el ejemplo de Facebook: PHP puede escalar tanto como lo necesite. Entonces mi siguiente pregunta estaría relacionada con la velocidad de comercialización:

¿En qué son ustedes / sus desarrolladores más productivos?
1. PHP: no es necesario cambiar, ya que obtener nuevas funciones en menos tiempo es lo que necesita. Mejor gastar el dinero en marketing.
2. Javascript: haga un análisis de costos de cuánto le afecta financieramente el cambio a node.js. No olvide incluir nuevos costos de implementación e infraestructura, ya que no se detiene en el cambio de código.

Hay más aspectos a considerar, por supuesto, pero comenzaría con lo anterior.

Depende de tus requerimientos. Realice un análisis de requisitos adecuado antes de comenzar a codificar. PHP realmente ha evolucionado bien en un lenguaje de programación orientado a objetos completo. Además de eso, si tiene una aplicación bastante grande que requiere API, entonces tiene muchos buenos marcos disponibles (symfony2, laravel, etc.) para manejar una aplicación compleja.
Angular.js es una buena opción para frontend, ya que debería ser capaz de cumplir con la mayoría de sus requisitos.

Para datos grandes, PostgreSQL es bueno. Hoy en día, la mayoría de las API son neutrales en la base de datos, por lo que cambiar la base de datos de back-end no es un gran problema.

Como con la mayoría de las preguntas de “elección de tecnología”, la respuesta es “depende”. No hay nada realmente inherentemente mejor sobre Node.js que PHP (a pesar de lo que puede leer en varios blogs), y muchos sitios avanzados y altamente funcionales funcionan en PHP. Es más una cuestión de con qué es productivo usted o su equipo, o si desea aprovechar la oportunidad para aprender una nueva plataforma.

Algunas de las fortalezas de Node.js desde mi punto de vista incluyen el uso del mismo lenguaje en el back-end que en el front-end, la gran cantidad de paquetes útiles disponibles en npm y un gran rendimiento. La gente discutirá sobre los puntos de referencia de velocidad y si un idioma es realmente más rápido que el otro, pero en última instancia, Javascript ha demostrado ser al menos competitiva y, en muchos casos, más rápido que otros lenguajes de secuencias de comandos populares. Una vez más, a menudo se trata de lo que está tratando de lograr con su aplicación.

Hay controladores de node.js para las tres bases de datos, por lo que también puede darle un giro y ver si le gusta.

Si tiene curiosidad, continúe y pruebe el nodo. Vea si es algo que se ajuste a sus necesidades y gustos. Entonces estará en una mejor posición para responder su propia pregunta.

Si tiene una base de código pequeña, el costo de cambio es bastante bajo. Sin embargo, si tiene una base de código grande, querrá tener claro qué problemas está tratando de resolver y elegir las herramientas adecuadas para resolver esos problemas.