PAVN: Un stack interesante para Desarrolladores PHP

Roberto Romero
3 min readAug 8, 2023

--

PAVN (PostgreSQL, Adonis.js, Vue.js, Node.js

En este artículo, exploraremos stack de desarrollo al que he denominado PAVN (PostgreSQL, Adonis.js, Vue.js, Node.js) y cómo puede ser una opción cautivadora para aquellos desarrolladores PHP que buscan un enfoque más orientado a JavaScript.

Read this post in English here

Un stack de desarrollo, en términos simples, es una combinación específica de tecnologías y herramientas que trabajan juntas para crear aplicaciones web. Cada letra en el acrónimo del stack representa una tecnología clave en un área particular del desarrollo, y la combinación de estas tecnologías crea un ecosistema completo para construir aplicaciones modernas y eficientes. A continuación algunos de los stacks más populares:

  • LAMP: Este acrónimo representa Linux, Apache, MySQL y PHP. Es una pila clásica de tecnologías que ha sido una opción preferida para servidores web durante muchos años.
  • PERN: Representa PostgreSQL, Express.js, React.js y Node.js. PERN es ideal para la creación de aplicaciones de página única (SPA) con una base de datos potente y tecnologías de frontend modernas.
  • MERN: Este acrónimo significa MongoDB, Express.js, React.js y Node.js. MERN es otro stack excelente para el desarrollo de aplicaciones web de una sola página, utilizando la base de datos NoSQL MongoDB.
  • MEVN: Una variante de MERN con Vue.js. Este acrónimo significa MongoDB, Express.js, Vue.js y Node.js.

En fin, esta historia comienza con un side-project que he estado construyendo en el último mes y que comencé construyendo en Vue.js para el frontend, sin embargo, debido a que toda la vida he tenido un fuerte background en PHP, el backend estaba desarrollado en Laravel y MySQL. Aunque funcional, esta combinación me parecía inusual y ligeramente disonante. Fue entonces cuando decidí dar un primer paso y comenzar migrando mi base de datos de MySQL a PostgreSQL.

La migración en sí resultó sorprendentemente sencilla gracias a una herramienta llamada pgloader, que simplificó en gran medida el proceso. (Si estás interesado en explorar esta herramienta, puedes encontrarla en este enlace: https://github.com/dimitri/pgloader).

Ya con una base de datos más acorde al mercado, decidí, por mero capricho más que por necesidad, migrar mi API a algún framework de JavaScript. Al principio, contemplé express.js, pero durante mi búsqueda por un framework de backend que fuera familiar pero también estuviera centrado en JavaScript, me topé con Adonis.js, un framework de backend que comparte muchas similitudes con Laravel.

Una de las sorpresas más agradables fue lo intuitivo y ordenado que encontré trabajar con Adonis.js. A pesar de ser relativamente nuevo en el mundo de JavaScript, la estructura coherente del framework y sus similitudes con Laravel hicieron que la curva de aprendizaje fuera más suave de lo esperado. Esto facilitó la transición y me permitió adentrarme mucho más en el mundo de Node.js.

No obstante, como en toda nueva aventura, se presentaron desafíos. Una de las dificultades al trabajar con Adonis.js fue la menor cantidad de información disponible en línea en comparación con opciones más establecidas. A pesar de ello, la documentación oficial y sobre todo la comunidad de Adonis.js en GitHub demostraron ser recursos invaluables para superar obstáculos y resolver problemas.

Es de esta experiencia que surgió el nombre “PAVN”. El acrónimo encapsula las tecnologías que elegí y con las cuales me siento muy satisfecho en mi nuevo proyecto.

Es importante mencionar que mi intención no es sugerir que todos los proyectos PHP deban migrar a Adonis.js. Yo mismo tengo proyectos en Laravel que planeo mantener tal como están, ya que creo que este framework es la elección correcta para esos casos.

PAVN es una opción emocionante para aquellos desarrolladores PHP que deseen explorar tecnologías relacionadas con JavaScript y, más específicamente, en el ecosistema de Node.js.

Finalmente, quiero enfatizar que esta es mi perspectiva personal basada en mis experiencias y preferencias. La elección del stack adecuado siempre dependerá de las necesidades únicas de cada proyecto y las habilidades del equipo de desarrollo. Siempre es fundamental evaluar cuidadosamente las tecnologías, considerar los objetivos y hacer una elección informada.

Espero que este recorrido por mi experiencia con el stack PAVN haya resultado interesante y útil para aquellos que buscan expandir sus horizontes de desarrollo.

Adonis.js: https://adonisjs.com/
Github: https://github.com/adonisjs/core/discussions

--

--