Saltar al contenido

Frameworks de Desarrollo

image_print

Autor: Erick J. Arrechedera. Centro de Seguridad Informática y Certificación Electrónica (CSICE). FIIIDT. 

 

Introducción

Cuando nos encontramos realizando un proyecto o desarrollo, nos topamos con la necesidad de nutrir nuestras aplicaciones de ciertas funcionalidades las cuales, posiblemente, no hemos trabajado o no hemos profundizado, dichas funcionalidades pueden ser tan sencillas como complejas, por ejemplo, mostrar un mapa en el que queremos insertar localizaciones de comercios, utilizar dispositivos bluetooth, crear llamadas a un servidor y utilizar una API, etc.

En este punto, entran en juego unas herramientas que nos ahorrarán mucho trabajo y horas de desarrollo, a estas herramientas se les conoce como frameworks de desarrollo.

Definición y Características

Framework es un término que proviene del inglés, que en nuestro idioma significa, entorno de trabajo.

En el desarrollo de software, un entorno de trabajo es una estructura conceptual y tecnológica de asistencia definida, normalmente, con artefactos o módulos concretos, que puede servir de base para la organización y desarrollo de software. Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un proyecto.

En otras palabras, un framework es un paquete que nos ofrece ciertas funcionalidades las cuales se encuentran agrupadas en dicho paquete que simplemente deberemos importar a nuestro proyecto para poder empezar a utilizar.

Los frameworks tienen como objetivo principal ofrecer una funcionalidad definida, auto contenido, siendo construidos usando patrones de diseño, y su característica principal es su alta cohesión y bajo acoplamiento. Para acceder a esa funcionalidad, se construyen objetos, que vinculan las necesidades del sistema con la funcionalidad que este presta, permitiendo la portabilidad entre distintos sistemas.

Lo esencial para ser denominados entornos de trabajo es estar constituidos por objetos casi estáticos con funcionalidad definida como grupo de objetos y no como parte constitutiva de estos.

Algunas otras características importantes son:

  • A diferencia de las bibliotecas, el flujo de control no es dictado por el programa que llama, sino por el mismo.
  • Tiene un comportamiento predeterminado. Este comportamiento por defecto debe ser un comportamiento útil, definido e identificable.
  • Puede ser ampliado para proporcionar una funcionalidad específica.
  • Los usuarios pueden ampliar sus características, pero no deben ni necesitan modificar su código.

¿Cómo elegir un framework?

Debemos tener claro cuáles son las características y necesidades de nuestro proyecto para elegir que tecnología utilizar. Si con un framework sencillo tenemos suficiente, no hay necesidad de usar uno más complicado, ya que sólo conseguiríamos complicarnos la vida.

Por otro lado, utilizar el mismo framework que te fue bien en otro proyecto, tal vez no sea la decisión correcta ya que los proyectos aunque tengan similitudes, no siempre son iguales.

Es importante considerar ciertos factores a la hora de elegir un framework:

  • Soporte de comunidad: es muy importante que el framework elegido tenga una comunidad activa y participativa. De esta manera te va a ser más fácil conseguir ayuda en los momentos difíciles.
  • Documentación: la documentación de un framework debe estar actualizada y ser lo bastante amplia para que te ayude con los problemas que te puedan surgir. Una herramienta bien documentada es mucho más fácil de utilizar.
  • Simplicidad y potencia: algunos framework son muy potentes pero difíciles de entender. El código generado por el framework debe ser claro y limpio, que no tengas que preocuparte de las peculiaridades internas del mismo.
  • Arquitectura MVC: este tipo de arquitectura nos ayuda a tener separado la lógica de negocios, los datos y la presentación. De esta manera nuestro código más ordenado, nos hace más fácil cualquier tipo de modificación y actualización y facilita mucho el trabajo en equipo.
  • Reutilización: es imprescindible que los elementos desarrollados puedan ser reutilizados en otros proyectos.
  • Patrón Active Record: es interesante tener una clase especifica que se encargue de realizar las operaciones de modificación y consulta de una determinada tabla de una base de datos. De esta forma nuestra aplicación quedará aislada del trabajo con SQL.
  • Posicionamiento: dependiendo del proyecto puede que no nos interese estar bien posicionado, pero si no es así, es interesante que el framework ofrezca funcionalidades como url’s amigables, etc., para no tener que rehacer el proyecto más adelante.
  • Seguridad: puede ser un tema que en un principio pasamos por alto y luego ya es demasiado tarde. Asegúrate que el framework este desarrollado tomando la seguridad como punto de partida. Si un framework es muy potente pero no es seguro, no nos sirve de nada.

Frameworks más utilizados

Entre los mas utilizados en la actualidad, se encuentran:

  • Angular: creado por Google, se convirtió rápidamente en el framework de cliente más popular, gracias a ideas novedosas en forma de directivas que se asemejan a etiquetas HTML y que son gestionadas por Angular. Está específicamente pensado para proyectos complejos, para los que aporta herramientas para la gestión de dependencias, modelos, controladores y enrutado.
  • React: es un framework que está ganando popularidad a una velocidad asombrosa.  Las comparaciones con Angular son inevitables, React, a diferencia de la solución de Google está más centrada en la interfaz de usuario y en representar de forma eficiente los cambios de estado de la aplicación. Está pensada para ser combinada con otras librerías, como routers o Flex para gestión de los modelos.
  • Laravel: es uno de los frameworks más nuevos para el desarrollo web. Utiliza algunos componentes de Symfony y se caracteriza por sus funcionalidades preparadas para el desarrollo de aplicaciones modernas y de fácil uso.
  • Yii: sobresale por su facilidad de instalación. Ofrece un conjunto sólido de componentes que puedes utilizar para acelerar el desarrollo de aplicaciones web. Sin embargo, se destaca por su sólido conjunto de características de seguridad, que puede utilizar para crear proyectos altamente seguros.

Fuente [5]

Aunque estos son los más utilizados, de igual manera existen muchos más y diversos frameworks, unos con diferentes características a otros que se adaptan según la necesidad de cada proyecto.

Conclusiones

Como hemos visto los frameworks de desarrollo son poderosas herramientas que nos facilitan nuestro trabajo como desarrolladores, ya que nos permiten centrarnos en tareas que realmente son importantes y no tener que invertir tiempo y esfuerzo en desarrollar algo que ya se ha desarrollado antes, esta probado y es realmente fácil integrar en nuestros proyectos.

Algo que tenemos que tener muy en cuenta antes de integrar un framework de desarrollo en nuestros proyectos es estar seguros de la procedencia del mismo, estar seguros que esta libre de fallas, es fiable y compatible con las herramientas de desarrollo de nuestro proyecto, sino más que ahorrarnos tiempo y esfuerzo no será más que un dolor de cabeza.

Luego de todos estos consejos lo único que nos queda es probar, ya que es la única manera de saber si un framework se adapta a las necesidades de nuestro proyecto.

Referencias

  • 2019, Que son los frameworks de desarrollo. https://programandoapps.com/tutorial/que-son-los-frameworks-de-desarrollo/
  • 2015, ¿Qué es un framework y para qué se utiliza?.
    https://www.orix.es/que-es-un-framework-y-para-que-se-utiliza
  • 2015, Los frameworks imprescindibles para desarrollar la web del futuro. https://bbvaopen4u.com/es/actualidad/los-frameworks-imprescindibles-para-desarrollar-la-web-del-futuro
  • 2020, Frameworks en el desarrollo web: las mejores prácticas para tu negocio online.
    https://www.wearemarketing.com/es/blog/frameworks-en-el-desarrollo-web-las-mejores-practicas-para-tu-negocio-online.html
  • 2019, Los 8 Mejores Frameworks PHP Para Desarrolladores Web. https://www.hostinger.mx/tutoriales/mejores-frameworks-php/

 

Contacto: earrechedera@fii.gob.ve

Compartir en Redes Sociales
0 Shares