El stack tecnológico del último proyecto que he desarrollado y puesto en marcha, comprendiendo la elección del stack, planificación, análisis, desarrollo, y la instalación/configuración de sistemas, ha sido el siguiente:

  • Linux Debian
  • NGINX configurado mediante SSL/HTTPS.
  • PHP7.4
  • Fat-Free Framework PHP (microframework basado en componentes symfony)
  • Bootstrap 4
  • Vue.js, Axios, petición de datos AJAX.
  • Jquery (más bien como apoyo, por si me resultara útil)
  • JSON para el intercambio de datos back-front.
  • Sistema propio de autenticación LDAP.
  • Utilización de composer y NPM para la instalación de paquetes PHP/Javascript-HTML.

Para este proyecto no se necesitó base de datos específica, sino que trabajé directamente con el sistema de ficheros de Linux. Eso sí, para futuros proyectos, dejé preparados los servidores de producción y desarrollo con drivers para:

  • SQLite
  • MySQL
  • SQL Server
  • Oracle

Requisitos

El stack lo decidí en base a los siguientes requisitos:

  • Completa separación Back/Front. Back sólo con PHP. Así evitaba complicar el Back.
  • Instalación sencilla de frameworks, tanto back como front, sin excesivas dependencias.
  • Frameworks no intrusivos ni incompatibles con respecto al resto del stack.
  • Rapidez de ejecución.
  • Facilidad de comprensión.
  • Fácil de mantener.

REST & JSON

Quería hacer un proyecto basado en back con REST, y front AJAX con Vue. Y que si mañana decidía cambiar el back o el front, que fuera sencillo de hacer. Se trataba de varias pantallas con datos recuperados del back en JSON, para una funcionalidad de una aplicación de RRHH, con servicio propio de autenticación LDAP.

PHP 7.4

La elección de PHP7 es obvia, producto ya maduro, y a su vez, de bastante mayor rendimiento que PHP5.6. Y además, tengo bastante código escrito en PHP. Aunque eso no significa que siempre vaya a ser el elegido para próximos proyectos.

Fat-Free PHP Framework

Fat-Free PHP Framework es muy útil para servicios REST, y muy rápido. Y tiene una curva de aprendizaje muy baja, y encorseta el entorno de desarrollo de manera muy leve. En general no me gustan los frameworks que me obligan a trabajar de una manera determinada. Desconozco por qué se habla poco de él en España. No obstante, para otro proyecto de microservicio SOAP utilicé PHP puro junto con MySQL. Cada proyecto tiene sus características. Fue una apuesta, y salió bien.

Vue.js

Vue lo elegí por delante de Angular y React por su facilidad de instalación y uso. Y por su potencia y sencillez, sin ser intrusivo. No obstante, React está en mi punto de mira para algún proyecto futuro. Fue también otra apuesta, aunque la verdad es que ya tiene una notoriedad y peso importante entre los frameworks de su clase.

JQuery

JQuery ha sido más de apoyo, por si se necesitaba en algún momento. Para la lógica inicial no ha sido necesario. A pesar de su veteranía, su potencia y su facilidad para hacer fácil lo difícil en Javascript, seguiré teniéndolo en cuenta como navaja suiza, porque además no interfiere con otros frameworks.

Bootstrap 4

Aunque inicialmente iba a usar otro framework para HTML/CSS diferente a Bootstrap, por cambiar la estética, y por disponer de un mayor número de componentes HTML/javascript, finalmente opté por él porque resultó ser el menos complicado de instalar/usar e integrar con herramientas de terceros. Si algo es suficientemente bueno, muchas veces no tiene sentido cambiar. Y con esta elección sabía que no me iba a equivocar.

NGINX

Iba a usar en principio el servidor web de Symfony, usado con PM2 como gestor de procesos y mini-cluster (me gustó cuando trabajé en un proyecto con Node.js), porque buscaba rapidez y sencillez, pero al final debido a los requisitos HTTPS, me decanté finalmente por NGINX, y de paso tuve la oportunidad de trabajarlo en profundidad. Hasta ahora había trabajado a nivel profesional con LAMP, Apache, algún pequeño servidor PHP, algún servidor Web en Xojo, y con un servidor en Node.js-Express.

Conclusión

La experiencia ha sido satisfactoria. El proyecto ha sido un éxito, se ejecuta rápidamente sin problemas ni errores o incidencias abiertas conocidas, para servir a más de 200 usuarios.

Para el próximo proyecto… Ya se verá 😉

Free WordPress Themes, Free Android Games