Salir de mi zona de confort: PHP a NodeJS y Typescript

3 minuto(s) de lectura

Llevo desarrollando software de forma profesional desde 1999, año en el que descubrí PHP. Recuerdo muy bien que lo descubrí de casualidad en una revista en papel (sí, papel) sobre Linux que me compraba por aquel entonces. Hablaban de la versión 3.0 del lenguaje y de como añadirle algunas librerías externas para poder parsear plantillas.

Recuerdo que me llamó mucho la atención la facilidad de usarlo y como con unos pocos ficheros podías hacer una web dinámica. Eran los años en los que la burbuja de las .com estaba engordando y todo el mundo quería “tener” eso que empezaba a llamarse web 2.0.

Hasta aquel entonces lo poco que había hecho de web dinámica era con C, compilando unos rudimentarios cgi. Descubrir PHP por aquel entonces me supuso un incremento en la velocidad de desarrollo bestial. Desde entonces ha sido mi lenguaje de programación favorito y en el que he desarrollado prácticamente el 90% de mi código. Aunque he tenido épocas y proyectos profesionales en los que he trabajado en otros lenguajes como Java, PHP me ha acompañado en todos los proyectos de mi carrera profesional.

El lenguaje ha ido evolucionando y desde aquel rudimentario 3.0 el lenguaje se ha ido haciendo cada vez más y más profesional, y a pesar de haber leído multitud de veces artículos titulados “La muerte de PHP” (y haber salido al mercado serios “competidores” como Ruby on Rails y NodeJS) sigue siendo uno de los más utilizados para desarrollo web, sobre todo debido a su amplia comunidad de desarrolladores y a que tiene una curva de aprendizaje muy asequible.

Precisamente de todos sus “competidores” puede ser que NodeJS haya sido el que más terreno le ha ganado y sobre todo al stack tecnológico al que más desarrolladores de PHP se hayan “convertido”.

Yo reconozco que desde su aparición me subí al carro de los memes que empezaron a circular entre los grupos de desarrollo en los que la gente se burlaba sobre la idea de ejecutar Javascript en el servidor tachándolo casi de juguete infantil. Y durante muchos años lo he obviado, principalmente porque con PHP estaba en una zona de confort muy cómoda: todo lo que me había ido proponiendo desarrollar lo acababa haciendo en PHP sin muchas o pocas dificultades.

Pero el tiempo ha ido pasando, NodeJS ha ido madurando también y generando una legión de adeptos que han gestado una comunidad muy importante de desarrolladores y un “ecosistema” de aplicaciones, bibliotecas y herramientas que lo han convertido en una opción seria. También le ha ayudado mucho el empujón que ha recibido tras popularizarse las arquitecturas basadas en microservicios (donde NodeJS puede usarse para hacer APIs muy ligeras y rápidas) y las orientadas a eventos (donde la asincronía nativa de NodeJS juega un punto a favor).

También yo he ido madurando como profesional y creo que ha llegado el momento de dejar de odiar este stack tecnológico para darle una oportunidad. Sobre todo quiero dejar de odiarlo de forma totalmente irracional y sin haberlo probado. Creo que para rechazar una tecnología o stack tecnológico primero se debe probar, y experimentar por uno mismo sus pros y contras y luego decidir si se desea profundizar en su conocimiento. Además, considero que ya es hora de salir de mi zona de confort y dejar de utilizar PHP “para todo”.

Así que me he puesto manos a la obra y he empezado a montar un pequeño mini-proyecto desde cero usando NodeJS con Typescript y ExpressJS para poder entender las entrañas de este stack. La razón de usar Typescript es por una parte profesional (forma parte del stack tecnológico de STAY, compañía en la que trabajo ahora) y por otra parte porque siempre me han gustado más los lenguajes fuertemente tipados (de hecho soy de los programadores que están encantados con el giro que está dando PHP desde la versión 7.0).

En los próximos artículos iré describiendo como está siendo la experiencia desde el punto de vista de un programador anclado muchos años en el viejo PHP.

Actualizado: