¿Qué es un Framework de Programación?

Si ya has empezado muy pronto a programar en tu lenguaje de programación favorito, para crear tus próximos programas ya sea aplicaciones web, móviles, de escritorio o cualquier otro tipo. probablemente te has encontrado con el concepto de Framework, es por eso que en este post voy a explicarte de manera clara y concisa ¿qué es un Framework de Programación? ¿Para qué Sirve? ¿Porque lo necesitamos?.

¿Qué es un Framework de Programación?

si consultamos a la wikipedia, ¿qué es un Framework?, nos dice que:

Un framework, entorno de trabajo​ o marco de trabajo​ es un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar.

Ok, tratare de dar un concepto más simple, Un framework es código ya escrito(ya sea partir de múltiples bibliotecas) y con una estructura ya definida para resolver un problema, por ejemplo si planeas hacer un servidor web, en lugar de investigar que bibliotecas o código necesitas para hacer enviar datos a través de HTTP, aprender conceptos de seguridad, aprender como estructurar tu código para que sea administrarble cuando crezca y muchos otros conceptos más, puedes utilizar un Framework.

Razones para utilizar un Framework

  • Evitar escribir código repetitivo, si por lo general resolvemos un problema bastante a menudo, en lugar de estas creando la solución una y otra vez seria mucho más cómodo si tuviéramos una solución optimizada para resolver dicho problema y que nos ahorre el hacer esta tarea repetitiva, ayudándonos a enfocarnos en otros conceptos como el funcionamiento primordial de nuestra aplicación, el framework hace esta tarea. Pero para tenerlo claro daré algunos ejemplos:
    • Si desarrollamos una pagina web con estilos CSS, es mucho más sencillo si utilizamos un framework de CSS en lugar de estar creando los estilos una y Otra vez
    • SI desarrollamos una aplicación de servidor que se conecta a una base de datos, es mucho más sencillo utilizar un framework que tiene todo implementado simplemente para configurar, ademas que por lo general estos tienen comprobado conceptos como la seguridad o la documentación por ejemplo.
  • Utiliza buenas practicas, la mayoría de frameworks se basan en un concepto muy conocido por los programadores llamados patrones de diseños arquitectónicos, se que este nombre suena complicado pero que se refiere es como su nombre lo indica a un conjunto de modelos o reglas que nos dicen como solucionar un problema que ya se ha presentado antes en los programas. Y es en este conjunto de reglas, muchos Frameworks se basan. uno de los más patrones más famosos es el patrón MVC, aunque existen muchos más.
  • Desarrollar más rápido, un framework al tener la mayor cantidad de funcionalidad ya creada te permite enfocarte en como resolver el problema, en lugar de estar aprendiendo como escribir el código con conceptos complicados que te llevara tiempo aprenderlos.
ahora muchas personas no optan por usar un framework y usar una biblioteca para poder tener más control, es decir ellos deciden que usar, pero para entender esto mejor comparto este vídeo:


Un Framework No es mejor que escribir código específico, si sabes como resolver un problema, y sabes escribir el código de programación para llevarlo a cabo, pues queda a tu decisión si usar un framework o no, aunque siempre debes tener que el control de tu aplicación siempre la tendrá el framework


Teniendo en cuenta todo esto probablemente ya te estarás preguntando, muy bien ahora

¿Qué Framework escoger? 

Si ya conoces algunos frameworks que en su documentación oficial dicen que solucionan el problema que tu esperas, te recomiendo tener en cuenta lo siguiente:

  • Soporte de la Comunidad, es importante que las personas estén participando muy activamente y de manera frecuente al rededor del framework, de esta manera sera mucho más fácil conseguir ayuda cuando tengas problemas.
  • Documentación, asegúrate de que están actualizando de manera frecuente como los creadores del framework lo van mejorando o si la documentación es fácil de entender, porque de esta manera tendrás una referencia bastante comprensible.
  • Simplicidad, asegúrate de que el framework no genera código que no entiendas en su mayoría, para que cuando tengas problemas no tengas que enfrentarte a código difícil o las peculiaridades del Framework.
  • Seguridad, asegúrate de que el framework tiene en cuenta conceptos de seguridad y que sus desarrolladores tienen pendiente esto, porque de nada sirve tener un framework super veloz y con muchas funcionalidad si al final no es seguro. 
Ademas si lo tuyo es crear aplicaciones web, te comparto este vídeo que te ayudara a entender que son los frameworks web y como se relacionan con el Pátron MVC:

Comentarios