Botón para abrir el Menú Botón para cerrar el Menú
Logo da empresa Alura
Iniciar Sesión Nuestros Planes
Formaciones Conoce a Luri
  • Programación _
  • Front End _
  • Data Science _
  • DevOps _
  • Innovación y Gestión _
Artículos de Tecnología > Programación

Framework: ¿qué es y para qué sirve esta herramienta?

Jeniffer Bittencourt
Jeniffer Bittencourt
28/05/2023

Compartir

Mira este artículo:
  1. ¿Qué es un framework?

banner.jpg aquí alt text: Imagen con libros en un estante con la palabra

¿Qué es un framework?

Seguro que al principio de tus estudios te has preguntado: "¿No hay una manera más fácil de hacer esto en mi proyecto?" mientras escribías líneas y líneas de código para obtener algún comportamiento, o incluso repitiendo códigos en las estructuras y agregando dependencias para desarrollar alguna funcionalidad. Es en este momento que nos encontramos con algo llamado framework.

El framework no es más que una herramienta que te ayudará a tener el único objetivo de centrarte en desarrollar el proyecto, no en detalles de configuración.

Pensemos que un frame representa la estructura de una casa, en la que solo hay paredes de ladrillo levantadas o incluso un solo carro con su carrocería, como vemos en las fábricas. Estas estructuras están a la espera del desarrollo (work), que en el ejemplo de la casa, correspondería a la elección de masilla que se colocará en las paredes, los colores de las pinturas, los tipos de pisos. En el caso del automóvil, si se colocarán asientos de tela o cuero, cuál será el color del panel, vidrios oscuros o claros y otros componentes.

Por lo tanto, el framework utiliza la práctica de evitar que tengamos que hacer tareas repetitivas, automatizando parte del trabajo. Pensando en una situación de desarrollo, si necesitamos crear un formulario de registro de usuario, siempre requerirá algún tipo de validación como correo electrónico y contraseña. El framework ya tendrá esa validación lista para ser utilizada.

Una voz puede haber surgido en tu mente diciendo: "Pero puedo optar por no hacer la validación, o por una validación específica". ¡Es cierto! Además de lo que ya proporciona el framework ya proporciona, nada te impide personalizar tu propia validación.

Volviendo a los ejemplos de la casa y el automóvil mencionados anteriormente, podemos pintar la pared de la casa en el color que creamos para que se vea mejor en lugar de usar el blanco, usado como estándar. En el caso del automóvil, le puedo poner un panel rojo en lugar del negro que viene de fábrica, como en la mayoría de los automóviles.

¿Cuáles son las ventajas de utilizar frameworks?

Es interesante abordar estos factores positivos, ya que los usamos muchas veces pero aún no sabemos exactamente dónde está la ventaja de esta herramienta. Vamos a ellos:

  • Sin dudas, cuando usamos frameworks podemos agilizar nuestro trabajo, ya que nuestros esfuerzos se centran en el desarrollo, en lugar de preocuparnos tanto por los detalles de configuraciones y los estándares de proyecto.
  • Las comunidades de programadores son directamente responsables del desarrollo de estos frameworks. Por eso, se vuelven más seguros y con cierto patrón de código. Debido a que se trata de un trabajo colaborativo, cada vez se implementan más soluciones a la herramienta.
  • Con los frameworks, tenemos por defecto un código más limpio, lo que garantiza una mayor claridad de comprensión en todo lo que se implementa en la herramienta, lo que facilita nuestro trabajo y el de las demás personas que trabajan en el proyecto.

¿Existen desventajas?

Algunos desarrolladores señalan aspectos negativos que pueden surgir. Estos son:

  • Problemas de configuración, que requieren tiempo para el mantenimiento. Tomando Spring como ejemplo, había un problema común al usar MVC, por lo que teníamos que descargar y declarar las dependencias, el módulo de inyección de dependencias, las dependencias de los módulos, usar Spring Validator para la validación de formularios, configurar la visualización con JSP, Velocity o Thymeleaf. Es decir, tendríamos que pasar por todos estos pasos para tener configurado Spring MVC.

Cuando trabajamos con dependencias, que son funcionalidades que ya están en la lista, debemos tener en cuenta algunos aspectos:

  • No podemos ignorar que el objeto generador de las dependencias no está en el código del proyecto, sino que es abstracto;
  • Puede ser una dificultad si no podemos proporcionar las dependencias directamente en el propio código de prueba;
  • El framework primero resuelve todas las dependencias antes de cargar la aplicación, lo que consume cierto tiempo;
  • A medida que se insertan las dependencias en el proyecto, se descargan muchas configuraciones innecesarias.

¿Qué frameworks se utilizan en los lenguajes?

Pensando en ahorrar tiempo y calidad de código, a continuación se muestran los lenguajes de programación con algunos de sus frameworks más conocidos:

Javascript:

  • Angular
  • React Js (Aunque hay cierta controversia dentro de la comunidad, algunos dicen que es una biblioteca y otros afirman que es un framework).

CSS:

  • Bootstrap (con diferencia el más utilizado en CSS)

Java:

  • Spring Framework

Python:

  • Pandas

Agile:

  • Scrum: incluso en la metodología ágil, tenemos Scrum que se considera un framework, ya que facilita el trabajo de un equipo en la ejecución de tareas durante determinados periodos. **

¿Cómo sumergirse en los frameworks?

Antes de cualquier inmersión, debemos poner nuestros "pies en el agua". Es obligatorio saber que cualquier uso de un framework requiere conocimientos previos en cualquier lenguaje, incluso si es solo para saber para qué se usa.

Muchas veces, cuando estás empezando a aprender, cometes el error de comenzar a estudiar frameworks sin tener una base sólida consolidada. Si que estás pensando en algo como: "¿Necesito ser un experto en el lenguaje X o Y para estudiar un framework? ¿Me llevará mucho tiempo?". La respuesta es "¡No!". Sin embargo, tener una base en la que te sientas cómodo hará que tu crecimiento en el desarrollo de frameworks sea fluido y no tengas que volver constantemente al aprendizaje básico para aclarar puntos simples. Siempre será necesario recordar, pero que tu crecimiento sea constante y sin obstáculos en esta trayectoria!

Para "mojarse los pies" antes de sumergirse en los framewors, consulte estas formaciones:

  • Formación Front-End
  • Formación Java y Orientación a Objetos
  • Formación Python

img-autora

Jeniffer Bittencourt

¡Hola, gente! Soy Jeniffer, tengo 29 años, soy parte del Scuba Team y comparto contenido sobre transición de carrera y tecnología en instagram y dev.to (@jeniblo_dev). Estoy acá para ayudar a resolver las dudas que surjan durante los cursos y para aprender junto. ¡Buenos estudios!

Traducido para Alura Latam por Mariana Costa.

Artículo Anterior
Python - Una introducción al Lenguaje
Siguiente Artículo
Estructura de repetición en JavaScript

Ver otros artículos sobre Programación

Navegación

  • Planes
  • Instructores
  • Blog
  • Política de privacidad
  • Términos de uso
  • Sobre nosotros
  • Preguntas frecuentes

¡CONTÁCTANOS!

  • ¡Quiero entrar en contacto!

Blog

  • Programación
  • Data Science
  • Front End
  • Innovación y Gestión
  • DevOps

AOVS Sistemas de Informática S.A CNPJ 05.555.382/0001-33

SÍGUENOS EN NUESTRAS REDES SOCIALES

YouTube Facebook Instagram Linkedin Whatsapp Spotify

NOVEDADES Y LANZAMIENTOS

Aliados

  • Programa de aceleração Scale-Up Endeavor
  • En Alura somos unas de las Scale-Ups seleccionadas por Endeavor, programa de aceleración de las empresas que más crecen en el país.
  • Growth Academy 2021 do Google For Startups
  • Fuimos unas de las 7 startups seleccionadas por Google For Startups en participar del programa Growth Academy en 2021
Alura

Powered by

Caelum

AOVS Sistemas de Informática S.A CNPJ 05.555.382/0001-33

SÍGUENOS EN NUESTRAS REDES SOCIALES

YouTube Facebook Instagram Linkedin Whatsapp Spotify

Cursos

Cursos de Programación
Lógica de Programación | Java
Cursos de Front End
HTML y CSS | JavaScript | React
Cursos de Data Science
Data Science | Machine Learning | Excel | Base de Datos | Data Visualization | Estadística
Cursos de DevOps
Docker | Linux
Cursos de Innovación y Gestión
Transformación Ágil | Marketing Analytics

Alura

  • Educação em Tecnologia

    • logo fiap FIAP
    • logo casa do codigo Casa do Código
    • logo pm3 PM3 - Cursos de Produto
  • Mais Alura

    • logo alura start START BY Alura
    • logo alura lingua Alura Língua
    • logo alura para empresas Alura Para Empresas
    • logo alura latam Alura LATAM
  • Comunidade

    • logo tech guide Tech Guide
    • logo 7 days of code 7 days of code
    • logo Hipsters ponto Jobs Hipsters ponto Jobs
  • Podcasts

    • logo Hipster Network Hipster Network
    • logo Hipsters ponto Tech Hipsters ponto Tech
    • logo Dev sem fronteiras Dev sem Fronteiras
    • logo Like a Boss Like a Boss
    • logo IA Sob Controle IA Sob Controle
    • logo Mesa de Produto Mesa de Produto
    • logo Decode Decode
    • logo FIAPCast FIAPCast