Programación

Framework, ¿Qué es y por qué debería o no usarlo?

Aquellos que ya llevéis unos cuantos años programando y os halláis enfrentado a unos cuantos proyectos, seguramente habréis empezado a crearos un índice de códigos que reutilizáis cada vez que se da la ocasión.

Por ejemplo: Si creo webs desde cero con cierta asiduidad, la arquitectura responsive la reciclo y lo único que hago es cambiar la estética y los módulos de sitio. 

Otro ejemplo: Si ya he desarrollado un sistema de autocorrección de formularios, o un sistema de login, cada vez que deba volver a hacer uno, reutilizo el que ya hice en su día. 

Pues bien, estos índices de código que vamos creando a lo largo de nuestra carrera profesional, constituyen nuestro propio framework. ¿Y porqué la gente utiliza frameworks de terceros o algunos clientes piden desarrollos específicos en uno u otro framework? ¿No bastaría con copiar y pegar funciones de un proyecto a otro?

A continuación te explicamos por qué.

 

 

¿Qué es un framework?

Un framework, entorno de trabajo o marco de trabajo, es un conjunto de herramientas que permiten agilizar mucho el desarrollo web, omitiendo las tareas repetitivas, y evitando así errores de código.

O dicho de manera metafórica: Si yo tomo ensalada todos los días, sin un framework tendría que estar cultivando lechugas, tomates, recogiendo aceitunas para hacer el aceite… Perdiendo así una grandísima cantidad de tiempo y recursos. 

Si por el contrario, a mi me suministran ya preparada la materia prima, puedo centrar mi tiempo y esfuerzo en innovar creando una ensalada diferente cada día: Hoy cherrys, lechuga y queso de cabra. Mañana lechuga, mostaza y miel y nueces.

El tiempo que tardaría en crear una cosa u otra, sería el tiempo que tardaría en llamar a las funciones de los elementos ya creados (lechuga, tomate, salsas…), y por supuesto, evitaría errores al no tener que reescribir las funciones cada vez.

 

Modelo Vista Controlador

Para facilitar el entendimiento y el mantenimiento del código, los frameworks trabajan, habitualmente, bajo el Modelo Vista Controlador (MVC), ésto es, dividen el código en tres bloques:

  • Modelo: Es la parte encargada del tratamiento de las bases de datos. Contiene todas las funciones que extraen, modifican o actualizan la información contenida en ellas: Updates, Selects, Inserts
  • Vista: Este bloque es el encargado de generar la interfaz gráfica, siendo aquí donde insertaremos el HTML y PHP.
  • Controlador: Es el enlace entre los dos bloques anteriores. Transmite las órdenes pedidas por la Vista y las hace entendibles por el Modelo, para que éste pueda extraer los datos que se le demandan.

 

¿Por qué usar un framework?

Como ya hemos comentado, un framework ahorra mucho tiempo al evitarnos tener que programar una y otra vez los mismos elementos repetitivos.

Sí, pero… para eso ya tengo “mi propio framework“. ¿Por qué perder tiempo aprendiendo el código de otros?

La razón es sencilla: Al igual que el Esperanto fue un idioma creado para que todo el planeta pudiese comunicarse en una lengua común, un framework es un espacio neutral de trabajo común entre programadores.

O por decirlo de otro modo: Tu propio framework te sirve a ti, pero ¿y a un tercero? Si trabajas en un desarrollo grande, donde hagan falta varios programadores, si cada uno aporta sus propias funciones, entenderlas y conectarlas entre sí será mucho más tedioso que buscar un lugar de encuentro común. Por no hablar de que muy probablemente, haya errores, variables y funciones repetidas, etc

Y eso es sólo la punta del iceberg porque, ¿y si tienes que ocuparte tú de un desarrollo a medio terminar de otra persona? ¿O y si tienes que realizar la actualización de código de una web programada sin framework? Tendrás que entender la lógica que hay tras ese programa, cuál es la estructura de sus ficheros, etc

Otro gran problema es la seguridad: Por muy bueno que tú seas programando, un framework es el producto de miles de horas de trabajo de un equipo de decenas de programadores expertos. Así que es bastante probable que a ti se te hayan colado agujeros de seguridad que ellos no han obviado.

Por lo tanto, un framework nos permite:

  • Acelerar el proceso de desarrollo
  • Evitar código repetitivo
  • Utilizar buenas prácticas de programación
  • Programar más seguro

Y por ello, tanto para desarrollos grandes, como para el mantenimiento futuro de proyectos y para trabajos en equipo, utilizarlo es una buena opción, aunque debamos invertir algunas semanas en conocer el framework que se emplea en ese entorno.

 

¿Debería usarlo siempre?

Uno de los argumentos más comunes en contra de los frameworks, es que no tiene sentido cargar tantos archivos, librerías y funciones para un proyecto de poca envergadura: “Lo lastraría”.

Si bien esto es correcto para muchos de los frameworks antiguos, la optimización y correcta programación ha ido haciendo que estos entornos carguen únicamente aquello que se utiliza, y por lo tanto no sea éste un contraargumento vigente.

Aquellos que llevamos muchos años programando, intentamos aplicar siempre la lógica: “No tiene sentido reinventar la rueda cada vez, ni matar moscas a cañonazos“. Así que yo no utilizaría frameworks para cosas sencillas, ni intentaría embarcarme en proyectos titánicos utilizando programación a pelo.

 

Algo deben tener de malo…

El mundo de la programación avanza tan rápido, que ahora mismo hay frameworks para prácticamente cualquier lenguaje de programación y cualquier enfoque, lo que multiplica el tiempo que debes invertir para aprender a usarlos, ya que cada empresa trabajará con uno.

Por si fuera poco, cada 2 o 3 años sale un nuevo framework que promete revolucionarlo todo. Se pone de moda, todos empiezan a usarlo y… 3 años después, vuelta a empezar. Así que puede ser frustrante invertir tiempo en aprender a manejar herramientas que se queden obsoletas tan rápidamente.

 

¿Cuáles son los frameworks más utilizados?

A fecha Octubre de 2017:

Javascript:

  • Angular
  • ReactJS

PHP:

  • Laravel
  • CodeIgniter
  • Zend
  • Symfony

CSS:

  • Bootstrap
  • Foundation
  • Pure CSS

 

¡Ahora tan sólo te queda lo más difícil, adivinar cuál será el próximo trendy y ponerte a aprenderlo!

 
 ¿Tú también has dudado entre usar framework o programar a pelo? ¿Qué frameworks utilizar? ¿Crees que deberíamos añadir alguno a la lista? ¡No dudes en comentarnos!

Cristian Sarabia Martínez

Desde que a principios de los 90 mi padre desempolvó su Spectrum, no he dejado de probar y experimentar con la tecnología.

Enamorado del mundo web, Full Stack Developer de profesión y diseñador por devoción.

Ahora hago mis pinitos en esto del blogging para compartir con vosotros un poquito de todo lo que la comunidad me ha dado.

Escribir comentario

Haz clic aquí para dejar tu comentario

Flickr

  • sapientia vincit malitiam
  • la gargotière blasée
  • pleure-misère
  • la commère affranchie
  • flash sound
  • municipio of Miami
  • sound of light
  • les passants
  • intriguée

About Author

ThemeForest

Collaboratively harness market-driven processes whereas resource-leveling internal or "organic" sources. Competently formulate.

Calendar

enero 2026
L M X J V S D
 1234
567891011
12131415161718
19202122232425
262728293031  

RSS Meks Blog

  • How Adding Slack Bot Boosted Our Culture of Appreciation 3 julio, 2024
    Sweet Kudos is a Slack bot that enhances employee recognition, rewards, and celebrations within your team. It empowers team members to express gratitude and appreciation effortlessly by giving virtual Kudos. The post How Adding Slack Bot Boosted Our Culture of Appreciation appeared first on Meks.
    Dusan Milovanovic
  • 10 Best Knowledge Base & Wiki WordPress Themes 2021 15 septiembre, 2021
    Running a successful online business requires an exceptional WordPress knowledge base theme that organizes documentation and helps customers. Customization options, intuitive navigation, unique layouts, and fast responsiveness are just some of the features you need. The following 10 WordPress wiki themes represent the best options for 2021 and beyond. Explore the full range to determine […]
    Dusan Milovanovic
  • How to increase WordPress Memory Limit (quick fixes) 16 junio, 2021
    Here is a post about how to increase the memory limit in WordPress. Allowed memory size exhausted error message showed up in your WordPress installation? No worries – this is one of the most common errors in WordPress. You can apply an easy fix by increasing the memory limit in your PHP. Table of Contents […]
    Dusan Milovanovic
  • How to use (and why) WordPress sitemap plugin 1 marzo, 2021
    Did you know that by knowing how to use the WordPress sitemap plugin you can significantly improve your site’s visibility and traffic? Although it isn’t mandatory to have a sitemap on your site, having one significantly improves the site’s quality, crawlability and indexing. All this is important for better optimization, which is why we wanted […]
    Ivana Cirkovic
  • 22 free and premium podcast software for your show [2021 edition] 18 enero, 2021
    You’re determined to start or improve your podcast but don’t know which podcast software to use to really make it stand out? We’ve got you! #podcasting Top 22 free and premium podcast software for your show #WordPressTips #podcasting The post 22 free and premium podcast software for your show [2021 edition] appeared first on Meks.
    Ivana Cirkovic
  • Digital storytelling with WordPress – an all-in-one guide to make your web stories pop! 23 noviembre, 2020
    Wondering how to improve digital storytelling with WordPress and build more awareness and exposure of your business? Let our guide lead the way. The post Digital storytelling with WordPress – an all-in-one guide to make your web stories pop! appeared first on Meks.
    Ivana Cirkovic
  • How to use WordPress autoposting plugin to improve your visibility and SEO? 10 septiembre, 2020
    Did you know you can use the WordPress autoposting plugin for your content efforts and improve not only your time management but your business and visibility as well? The post How to use WordPress autoposting plugin to improve your visibility and SEO? appeared first on Meks.
    Ivana Cirkovic
  • How to create a personal branding site? Step-by-step DIY guide 15 agosto, 2020
    Looking for ways and means to create a personal branding site? Well, look no further ’cause we’re giving away all the how-to’s to do it yourselves! The post How to create a personal branding site? Step-by-step DIY guide appeared first on Meks.
    Ivana Cirkovic
  • Top 15 WordPress content plugins and tools to improve your visibility and rankings 16 julio, 2020
    Let’s take a look at some of the must-have WordPress content plugins and tools to use to improve both your UX and rankings. The post Top 15 WordPress content plugins and tools to improve your visibility and rankings appeared first on Meks.
    Ivana Cirkovic
  • WCEU 2020 recap – key takeaways from the biggest online WordPress conference 9 junio, 2020
    Missed WCEU 2020 and all the exciting stuff from there? Here are all the key takeaways and main points to remember so, take notes! The post WCEU 2020 recap – key takeaways from the biggest online WordPress conference appeared first on Meks.
    Ivana Cirkovic

Text

Distinctively utilize long-term high-impact total linkage whereas high-payoff experiences. Appropriately communicate 24/365.

Archives