No discutiré los méritos de PHP vs JavaScript como lenguajes de back-end, pero creo que debería señalarse que los frameworks / herramientas en torno a PHP y las herramientas en torno a back-end JS (Node) son muy diferentes y, por lo tanto, tienden a ser muy diferentes tipos de trabajos.
Dado que PHP fue muy popularizado por los sistemas CMS como WordPress y Drupal, gran parte del trabajo para PHP implica construir y mantener sitios creados en esos marcos de trabajo CMS. Existen marcos de aplicación MVC más generales como Zend, pero son más recientes y menos populares.
Node.js, por otro lado, tiene marcos como Express para aplicaciones rápidas MVC o REST, así como muchos corredores de tareas como Grunt y Gulp. Por lo que veo, tiendes a tener una mayor variedad de proyectos desde las API de REST, sitios web completos basados en nodos (front y back end) y proyectos de herramientas internas. Existen marcos de CMS basados en nodos, pero no son tan populares como WordPress y Drupal.
- ¿Cómo crear un sitio web como Freelancer, Upwork o Fiverr? ¿Qué lenguajes de programación necesito usar?
- ¿Se puede replicar la versión 2004 de Facebook usando la pila MEAN?
- ¿Deberíamos obtener permiso para publicar productos de cualquier empresa en nuestro sitio web para su comercialización?
- ¿Qué lenguaje de programación es mejor para la aplicación y el diseño web?
- ¿Los desarrolladores web generalmente prefieren diseños PSD o diseños JPEG, y por qué?
En mis propios proyectos personales, tiendo a hacer folletos y sitios orientados a la información en WordPress, porque es muy fácil de poner en marcha rápidamente y muy fácil de agregar artículos sin tener que programar y corregir errores. Sin embargo, para las aplicaciones web que construyo, hago el backend en Node.js (con Express).
Los idiomas también atienden a diferentes tipos de empresas. Hay algunas tiendas pequeñas que usan Node.js, pero principalmente solo si el producto principal es una aplicación web y tienen presupuesto para sus propios desarrolladores web. PHP atrae a muchas pequeñas empresas que no son principalmente SaaS y no pueden pagar los desarrolladores web: las pequeñas empresas y los empresarios pueden comenzar con algo como WordPress sin tener un solo desarrollador y luego contratar un trabajo personalizado o contratar a un desarrollador más tarde.
En cuanto a las grandes empresas que se centran en crear aplicaciones web, tienden a utilizar backends de Java. PHP tiende a ser un ciudadano de segunda clase. Cuando trabajé en LinkedIn hace un par de años, PHP solo se usaba para blogs departamentales y antiguas bases de código heredadas. Desde entonces, han trasladado los blogs de la compañía a una plataforma diferente (basada en Java). Por lo que entiendo, Google no usa PHP. La base de código de Facebook está basada en PHP, pero según los rumores, a muchos desarrolladores no les gusta, y básicamente escriben en otros lenguajes y los compilan en PHP. Por lo tanto, PHP generalmente no le abrirá puertas en las compañías SaaS más grandes. No vi mucho uso de nodos en LinkedIn, excepto por herramientas internas o creación de prototipos, pero las grandes compañías SaaS sí usan marcos de JavaScript como Backbone, Ember o Angular. Aprender JavaScript a través de Node podría ser un paso para trabajar como ingeniero / desarrollador front-end.
Por lo tanto, diría que PHP probablemente sería más rápido: sin tener que saber cómo crear un marco usted mismo, aún puede calificar trabajos (contrato o tiempo completo) modificando o manteniendo sitios CMS de pequeñas empresas. Para graduarse a los marcos más basados en aplicaciones web en PHP o Node.js tomará un poco más de tiempo. Sin embargo, creo que Node.js abre una mayor variedad de opciones en el futuro.