¿Será que Node.js es el futuro del desarrollo web? ¿Será que el hype tiene una justificación racional? ¿Va a reemplazar a PHP y a Ruby on Rails? ¿Vale la pena aprenderlo o es otra tecnología que va a morir?
En este artículo vamos a estar explorando estas preguntas, buscando respuestas para entender que está ocurriendo con Node.js.
Node.js es un ambiente que nos permite desarrollar el backend de nuestras aplicaciones utilizando JavaScript.
Es un posible sustituto a PHP y Ruby on Rails.
Node.js tiene muchas más aplicaciones como internet of things, programas que corren en la terminal, compilación del frontend y más.
Podemos comparar a Node.js con tecnologías similares como PHP y Ruby on Rails para entender el nivel de adopción.
Al buscar en Google Trends estas tres tecnologías nos encontramos con el siguiente gráfico:
El gráfico muestra la cantidad de búsquedas relacionadas a estas tres tecnologías. PHP es el líder actual pero muestra un descenso importante. Ha perdido 60% de sus búsquedas desde el 2009.
Luego vemos algo interesante, Node.js superó a Ruby on Rails en el 2014.
La pregunta es: ¿Será que Node.js va a pasar a PHP en cuanto a popularidad?
Responder esta pregunta es indispensable. Porque nuestro interés es aprender e invertir en las tecnologías que se van a utilizar en el futuro.
Una forma de responder la pregunta es ver lo que esta sucediendo en Estados Unidos.
La mayoría de los avances tecnológicos en el mundo del software comienzan en Estados Unidos. Generalmente una tecnología se crea en Estados Unidos y luego, progresivamente, el resto del mundo la adopta.
Mi opinión es que en varios años el resto del mundo va a presentar las mismas tendencias que presenta Estados Unidos hoy. Aquí esta el gráfico de las mismas búsquedas limitadas a Estados Unidos:
Lo impactante de este gráfico es que la brecha actual (extremos derecho del gráfico) entre las tres tecnologías es mucho menor que la del gráfico global.
Sin embargo, podemos observar una tendencia similar. Una disminuación de la búsqueda de PHP, Node.js en asenso y Ruby on Rails virtualmente estable.
Si la tendencia continua, Node.js pasará a ser la tecnología más búscada. Pareciera que esto va a ocurrir en USA y por ende, podemos asumir que la tendencia global la seguiría.
StackOverflow es el portal donde los desarrolladores buscan respuestas a cualquier pregunta sobre programación.
En el 2017 hicieron una encuesta a 64.000 desarrolladores sobre diversos temas relacionados al mundo de la programación. En los resultados encontramos data relevante a nuestra investigación:
Este gráfico muestra que porcentaje de los desarrolladores encuestados, utilizan cada lenguaje o tecnología.
Fíjate que en el 2013, 8% de los desarrolladores utilizaban Node.js actualmente el número es 26%. Un crecimiento enorme de 18 puntos.
Al revisar PHP vemos una caída de 7 puntos y Ruby se mantiene virtualmente idéntico. Estos tres puntos de data muestran la misma tendencia que observamos en Google Trends.
La encuesta también arroja que Node.js ocupa el sengundo puesto en la categoría “Tecnología más amada” y el primer puesto en “Quiero adoptar está tecnología”.
Uno de los factores más importantes para que una tecnología sobreviva, es el ecosistema. Mientras más herramientas dependan de ella y más miembros pertenescan a la comunidad, más rápido puede evolucionar y vencer la prueba del tiempo.
Una manera de medir esto es ver la cantidad de modúlos que los usuarios de Node.js están instalando.
NPM es un repositorio en el que existen módulos que puedes instalar para no tener que reinventar la rueda cada vez que empiezas un proyecto con Node.js. Este gráfico muestra la cantidad de paquetes instalados en el tiempo:
Este gráfico muestra una tendencia exponencial. Vemos cómo el número de paquetes superó el billón de instalaciones semanalmente en el 2016.
Esto es evidencia de que la comunidad se encuentra extremadamente activa. Y no muestra señales de estar frenando.
Luego de analizar toda la data observamos un fuerte crecimiento en el interés en Node.js.
Como desarrolladores tenemos que escoger cuidadosamente que tecnologías aprender, para estar alineados con los mercados y así obtener el mayor retorno a la inversión.
Si nos guiamos por la tendencia que estamos observando en USA, podemos predecir que la tendencia mundial va hacia alla. Por lo que aprender Node.js y agregarlo a nuestra cajas de herramientas puede traer muchos beneficios a nuestra carrera.
Una tendencia interesante es que pareciera que Node.js va a superar a PHP en los próximos años. Esto no implica que PHP o Ruby van a morir, siempre va a haber espacio para ellos en el mercado, debido a los productos que ya están construidos sobre ellos y otros factores cómo lo económico del hosting y toda la robustez que han adquirido durante lo años.
En fin, a la hora de decidir qué tecnología aprender, la siguiente frase del jugador de hockey Canadiense es estelar:
“Yo patino hacia donde el disco va a estar, no hacia donde ha estado” — Wayne Gretzky