author
Juan # Symphony Senior Developer 5 min.

Web Frameworks

Desarrollar una web o una webapp desde cero, implica mucho trabajo, teniendo que desarrollar funciones que en muchos casos ya se han hecho varias veces en otros sitios, lo cual, es tan poco eficiente (no hay que reinventar la rueda). El uso de un framework o entorno de trabajo, puede ayudarte a resolver este problema, al proporcionarte una base sobre la que empezar, permitiéndole al programador centrase en el problema a resolver y no en la implementación de funcionalidades de uso común que ya han sido resueltas previamente por otros.

En este artículo, queremos presentarte cuales son las ventajas e inconvenientes de utilizar un framework en PHP, así como aconsejarte cuando se recomienda su uso, según las características del proyecto. Pero vamos, aplicable 100% a cualquier otro framework de cualquier otro lenguaje.

Developer

¿Por qué utilizar un Framework?

Los principales motivos por los que se debería utilizar un framework en PHP son:

  • Estructura y organización del código bien definida desde el primer momento: esto es así para todos los frameworks, ya que todos ellos proporcionan tanto un esqueleto como una forma de trabajar. De este modo, se logra mantener una cierta organización para encontrar los archivos de forma rápida y además es muy útil cuando el código ya tiene varios años y por él han pasado muchos programadores diferentes, facilitando el mantenimiento del código, al trabajar todos ellos de la misma forma.
  • Reutilización de código: todos los frameworks proporcionan soluciones a la mayoría de problemáticas comunes del desarrollo de páginas web, tales como: la conexión a la base de datos, autenticación de usuarios, manejo de peticiones y respuestas, validación de formularios, soporte para multidioma, etc.
  • Mayor velocidad de desarrollo: gracias a la reutilización de código mencionada anteriormente, también se consigue una mayor rapidez en el desarrollo, ya que no se pierde tiempo en desarrollar funcionalidades que ya están incorporadas en el framework. Además, muchos frameworks de PHP también vienen con una herramienta de línea de comandos que puede usarse para generar código y así ahorrar tiempo de desarrollo.
  • Menor coste del proyecto: menor coste al estar directamente relacionado con la rapidez de desarrollo ya que, al acabarlo antes, implica que la dedicación será menor y por lo tanto el coste del proyecto también será menor, beneficiando tanto al cliente como al programador.
  • Mayor seguridad del proyecto: no tienes que preocuparte por la seguridad, ya que el framework se encarga de ello automáticamente. Además, también otorga protección para ataques de tipo inyección SQL o Cross-Site Scripting (XSS) entre otros. Sin embargo, hacerlo de forma manual sería un poco complejo.
  • Buenas prácticas de desarrollo, mediante el uso de patrones: la mayoría de frameworks están basados en patrones de diseños, que nos indican pautas sobre cómo solucionar un problema específico que ya ha ocurrido con anterioridad. Por ejemplo, el patrón de diseño MVC (Modelo-Vista-Controlador), el más popular, que ayuda a separar la capa de datos de la lógica del negocio de la interfaz con el usuario.
  • Menor número de errores en el código: como el framework contiene código desarrollado por otros programadores que ya fue testeado, el número de errores que pueda tener, especialmente al publicarse una nueva versión, serán muchos menos que al desarrollarlo desde cero. Además, en caso detectar un error, lo más probable es que ya haya sido solucionado por la comunidad.
  • Librerías: facilidad para encontrar librerías o código adaptadas a un determinado framework, que cubra una determinada funcionalidad de tu desarrollo, que para un desarrollo propio.
  • Respaldo y protección de la comunidad: todos los frameworks de PHP están respaldados por grandes comunidades activas de desarrolladores, de las cuáles puedes conseguir ayuda en caso de ser necesario a través de foros como Stack Overflow o plataformas como Github.
  • Acceso a mejores ofertas de empleo: Un programador que domine un framework web de manera solvente tendrá más posibilidades de encontrar un buen trabajo como Web Developer. Por cierto, puedes pasarte por nuestra sección de talento ;-)

text

Desventajas del uso de Frameworks

Sin embargo, a pesar de que son muchas más las ventajas, también existe alguna desventaja al utilizar frameworks en PHP, tales como:

  • La curva de aprendizaje: antes de utilizar un framework, es necesario dedicarle un tiempo para lograr aprenderlo. Es importante tener en cuenta que dicha curva de aprendizaje será diferente según la dificultad del framework y la experiencia del programador.
  • Menor rendimiento: en general, los proyectos desarrollados con frameworks suelen consumir más recursos que los realizados desde cero, ya que no siempre son necesarias todas las funcionalidades que trae un framework por defecto, aunque normalmente sí que se cargan todas, lo que implica un menor rendimiento en la ejecución.
  • Código sin utilizar innecesario: al utilizar un framework para desarrollar proyectos pequeños, estaremos desaprovechando mucho código que ya viene por defecto, lo que conlleva que el proyecto ocupe más espacio del que debería.
  • Popularidad efímera: la popularidad de un framework está sujeto a modas y en un corto periodo de tiempo podría pasar de ser uno de los más utilizados a quedar en desuso, debido a la aparición de otras alternativas mejores.

Conclusión

Aunque a priori son muchas más las ventajas que los inconvenientes a la hora de decantarse por la utilización de un framework para desarrollar un proyecto en PHP, antes de tomar una decisión, es necesario valorar ciertos aspectos como la duración y características del proyecto, la importancia que tendrá el rendimiento y seguridad en el mismo, la experiencia previa del equipo de desarrollo con el uso de algún framework o la curva de aprendizaje del mismo, si finalmente se decide utilizar un framework concreto.

¿Vosotros que opinais?


eu