¿Desarrollo propio o mediante frameworks?

Llevo varios días, por no decir semanas, buscando, mirando y documentándome sobre los frameworks más populares basados para trabajar sobre PHP. Tras estos días, me he formulado bastantes preguntas; ¿Es necesario el uso de frameworks para agilizar las tareas sencillas de programación?

 

La respuesta parece sencilla pero no lo es. Entramos en materia:

 

Un framework, en el desarrollo de software, es una estructura de soporte definida, mediante la cual otro proyecto de software puede ser organizado y desarrollado. Típicamente, puede incluir soporte de programas, bibliotecas y un lenguaje interpretado entre otros software para ayudar a desarrollar y unir los diferentes componentes de un proyecto.

 

Los frameworks populares, son los que aplican el patrón MVC (Modelo – Vista – Controlador) en su interior. De estos frameworks, los que me han llamado la atención han sido CakePHP y Symfony. En la imagen, el funcionamiento básico del patrón MVC.

 

Ejemplo de uso del patrón MVC

 

  • CakePHP es muy sencillo de aprender, tienen una gran comunidad en castellano y una documentación casi totalmente traducida a nuestro idioma.
     
  • Symfony es una brutalidad, en el buen aspecto; es un framework muy completo pero a la vez muy tedioso para aprender cómo utilizarlo. Al no ser tan sencillo, está recomendado para usarlo al realizar grandes aplicaciones o proyectos web. Si aprendes a usarlo es una gran “herramienta”.

 

Un framework está diseñado para que el desarrollador no se preocupe de los apartados más comunes (estructura modular ampliable, scaffolding, uso de sesiones, etc.). El diseño de estos “entornos de desarrollo” ha ido evolucionando (en mi opinión deformándose) de tal manera que para utilizar la ayuda que nos ofrecen se necesita un esfuerzo previo considerable. Es cierto que las ayudas son muchas y que te ahorran mucho tiempo de desarrollo, pero ¿vale la pena ese esfuerzo para “dominarlo”? … ahí dejo la pregunta. ;)

 

Enlaces | CakePHP | Symfony

Deja un comentario