¿ Por qué debemos usar Frameworks ?


Los frameworks se han puesto de moda en los últimos años para los programadores. Framework o marco de trabajo como se le conoce en español no es más que un conjunto estándares y conceptos todos bien definidos de como programar. Estructurado mediante módulos y bibliotecas de uso general sirven como base para el desarrollo de aplicaciones y proveen una estructura y metodología de trabajo. Implementan Modelo-Vista-Controlador y ayudan al desarrollador a enfocarse principalmente en la lógica del negocio o el problema al cual debe dar solución con la aplicación.

Por qué debemos usarlos?

Bueno si lo anterior no convence voy a darles algunas razones que defiendan la idea. En estos casos me estaré refiriendo solo a frameworks PHP pero es en gran medida aplicable a todo tipo de lenguajes.

Utilidades y librerías

Si tratamos de programar todo una aplicación desde cero usando solo PHP tendríamos un problema. Funciones básicas como manejo de sesiones o envío de correo entre otras tendríamos que desarrollarlas, probarlas y parchearlas en caso de algún bug, de lo contrario usar bibliotecas de terceros programadas todas diferente y posiblemente sin ningún tipo de soporte por parte de los desarrolladores. Todos los frameworks PHP, al menos los más serios de hoy en día ofrecen estas funcionalidades ya previamente programadas, probadas y con soporte a largo plazo permitiendo el ahorro de tiempo y de código que conspiran contra las fechas acordadas.

Patrón Modelo-Vista-Controlador incorporado

El famoso MVC separa claramente la lógica del negocio, acceso a base de datos y la vista al usuario a través de clases que interactúan entre ellas todo el tiempo retro alimentándose.

Modelo: Maneja las operaciones lógicas y posee el acceso a la base de datos. Posee una interfaz que se encarga de las transacciones en la misma.
Vista: Contiene los templates que serán mostrados al usuario. Dibuja la última forma de los datos una vez procesadas las peticiones del cliente.
Controlador: Controla el acceso a la aplicación. Es el encargado de direccionar las peticiones a los métodos que puedan resolverlas. Es el elemento enlace de la aplicación.

El resultado es un código legible y mantenible. Es posible según los roles de los desarrolladores de un proyecto trabajar simultáneamente. Un maquetador puede dedicarse a dibujar tranquilamente mientras el programador recopila los datos que van a ser mostrados.

Soporte de la comunidad

Si desarrollan sobre un frameworks popular como Symfony, Zend entre otros tendrán el apoyo de una comunidad activa y con experiencias importantes en el tema. Puede pedir apoyo, hablar con otros desarrolladores y compartir experiencias propias haciendo más rico el conocimiento propio y de otros. Existen foros, listas de correo… todo en función del conocimiento.

Perfecto para el trabajo en equipo

Los frameworks permiten dada su estructura que varios roles del proyecto trabajen en armonía. Tienes programadores, diseñadores y administradores en lenguajes de bases de datos que se complementan de la misma manera que el Modelo-Vista-Controlador. Los diseñadores en la Vista, nuestros magos del SQL en el Modelo y los programadores experimentados se encargan de los Controladores que hacen que trabaje el frameworks como un todo y en la misma dirección.

Mejores oportunidades de trabajo

No debo decirte lo importante que es este tema. Si llegas a controlar bien el desarrollo en algún framework las oportunidades de trabajo serán amplias. Sitios como freelancer.com o PHP Job publican proyectos todo el tiempo en busca de programadores con experiencia en el desarrollo con framework.

Seguridad

Los filtros en PHP de entrada y salida de datos son variados y extensos para la protección de nuestros sitios de ataques, pero debemos admitir que su uso es tedioso y aburrido sin contar que de vez en vez los olvidamos dependiendo de nuestro nivel de cafeína en sangre. Los frameworks implementan automáticamente la validación de entrada de datos a formularios, bases de datos entre otros. Encriptan las cookies de nuestros navegadores, generan HTML mediante funciones que implementan filtrado y validaciones. Las variedad es grande como ya había dicho y lo mejor es que lo hacen por nosotros.

Conclusión

Menos código, reducen el tiempo de desarrollo y aumentan la calidad del producto final. La estructura del sitio, librerías y utilidades para auto generar elementos de la interfaz de usuario como son los formularios e incluir la seguridad básica necesaria para la defensa contra ataques. Una comunidad que aboga por el conocimiento libre y para todos y lo mejor, es divertido!
El uso de los frameworks puede o no ser la mejor opción para ustedes pero siempre ténganlo presente, vale la pena la experiencia y ser parte de algo. La opción como siempre digo es de ustedes.

Latest posts by Leroy Ley (see all)