Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. WordPress

Ventajas y desventajas de los frameworks de WordPress

by
Length:MediumLanguages:

Spanish (Español) translation by Marilu (you can also view the original English article)

El concepto de un frameworks es algo muy común tanto en la web moderna como en los entornos de desarrollo de software. Para el front-end, tenemos frameworks como Bootstrap y Foundation, para las aplicaciones web tenemos frameworks como Yii y Rails, y para el escritorio (e incluso algunas aplicaciones web) tenemos frameworks como .NET. Y estos son solo para nombrar unos pocos muy pequeños y selectos.

En general, los frameworks son buenos: Proporcionan un nivel de abstracción con el que nosotros, como desarrolladores, podemos trabajar para crear fácilmente una funcionalidad genérica, como el inicio de sesión y la autenticación del usuario, junto con un código más específico, como la lógica que es específica para cualquiera que sea el problema que el software pretende resolver.

En resumen, Wikipedia define un framework de la siguiente manera:

Un framework de software es un entorno de software universal y reutilizable que proporciona una funcionalidad particular como parte de una plataforma de software más amplia para facilitar el desarrollo de aplicaciones, productos y soluciones de software. Los frameworks de software pueden incluir programas de apoyo, compiladores, bibliotecas de códigos, conjuntos de herramientas e interfaces de programación de aplicaciones (API) que reúnen todos los diferentes componentes para permitir el desarrollo de un proyecto o solución.

Como muchas plataformas modernas, WordPress no es diferente. Por supuesto, WordPress no es en sí mismo un framework, sino una aplicación que puede ampliarse mediante el uso de sus numerosas API. Pero hay una serie de diferentes frameworks disponibles, todos los cuales tienen como objetivo ayudar a aliviar la carga de escribir mucho código repetitivo.

Pero, ¿es esto algo bueno? Es decir, ¿tiene sentido tener tantas opciones de frameworks entre los que elegir en lo que se refiere a la construcción de temas de WordPress, plugins o aplicaciones web basadas en la plataforma?

Por lo general, depende de lo que estás tratando de hacer.

A través de las propiedades de Tuts+, intentamos cubrir tantos frameworks como sea posible, algunos para WordPress, otros para los diversos lenguajes y plataformas que se mencionaron anteriormente, pero en este artículo, no vamos a mirar un framework específico.

En cambio, vamos a examinar las ventajas y desventajas de seleccionar un framework cuando se trabaja con WordPress para ayudar a tomar mejores decisiones en lo que se refiere a la construcción de sitios, aplicaciones y otros proyectos en la parte superior de WordPress.

Con WordPress, es completamente posible mezclar varios frameworks para lograr el resultado final, este artículo asume que tú estás evaluando si debes o no usar un solo framework para ayudar con tu trabajo.

Comparando Frameworks

En lo que respecta a WordPress, existen actualmente (y en general) dos tipos de frameworks:

  1. Frameworks de arrastrar y soltar
  2. Frameworks de opciones

Los frameworks de arrastrar y soltar suelen estar relacionados con la construcción de la interfaz de usuario de un sitio web. A menudo, estos vienen en forma de varias páginas en el escritorio de WordPress que permiten organizar elementos predefinidos en una página y hacer que se rendericen en dicha disposición para que el usuario los vea.

Por otra parte, los frameworks de opciones se suelen utilizar para la funcionalidad de códigos específicos y suelen proporcionar algún tipo de abstracción para una o más de las API de WordPress. Esto incluye, entre otras cosas, la API de configuración, la API de metadatos (para publicaciones, usuarios, comentarios, etc.) e incluso algunas de las API relacionadas con las plantillas.

En cualquier caso, hay tanto ventajas como desventajas en la elección de un framework, todas las cuales son importantes de considerar cuando se determina si se va a trabajar con o sin un framework.

Ventajas

Desarrollo rápido

Una de las principales ventajas de usar un framework es la velocidad con la que se puede ensamblar la funcionalidad.

A veces, la gente se referirá a esto como prototipos rápidos, pero los frameworks de WordPress han madurado hasta un punto tal que a menudo te puedes salir con la tuya creando interfaces, sitios y aplicaciones completas, no solo prototipos, cuando se trabaja con la API.

Aunque construir sitios de contenido con WordPress es bastante sencillo, muchos frameworks, especialmente los de arrastrar y soltar, hacen que sea mucho más rápido crear diseños de página más elaborados.

Abstracción

Para los frameworks que se ocupan principalmente de las API de WordPress, los frameworks pueden proporcionar un buen nivel de abstracción, de tal manera que gran parte del código repetitivo que estamos acostumbrados a escribir está escondido dentro del framework.

Quizás uno de los mejores ejemplos viene cuando se miran los frameworks de la Settings API (API de configuración). La API de configuración, aunque poderosa, también es verbosa y engorrosa cuando se trata de hacer que los elementos se muestren en la pantalla. Los frameworks buscan resolver este problema proporcionando una manera de crear más fácilmente ajustes, opciones y configuraciones con menos llamadas a funciones y un código más claro.

Por supuesto, las abstracciones no solo vienen con la API de configuración, sino también para otras API. Optar por utilizar uno de estos frameworks puede ahorrar mucho tiempo y ayudar a aliviar la naturaleza tediosa que viene con el trabajo con algunos de los aspectos más repetitivos del código basado en WordPress.

Representación visual

Otra ventaja de usar frameworks es que ayuda a cerrar la brecha entre lo que esperamos que suceda y lo que realmente sucede.

Esto se ve más fácilmente dentro de los frameworks de arrastrar y soltar: Tienes un conjunto predefinido de regiones con las que trabajar, como encabezados, barras laterales, áreas de contenido y áreas de pie de página, y luego colocas las regiones que quieres dentro de un contenedor. Una vez hecho, dichas regiones aparecen exactamente en el front-end como las has dispuesto en el back-end.

Lo mismo puede decirse de los frameworks específicos de la API. Aunque la naturaleza visual de escribir código no es tan clara como trabajar con un editor de plantillas de páginas, los buenos frameworks a menudo pueden proporcionar clases claras, nombres de funciones y otras facilidades, todo lo cual ayuda a comprender más fácilmente cómo encajan todas las piezas móviles del software.

Un ejemplo de ello puede ser la creación de un entorno en el escritorio de WordPress. Digamos, por ejemplo, que se quiere introducir un textarea que solo va a soportar texto simple (es decir, no se permiten marcas ni scripts), y se necesita etiquetarlo, sanear sus datos, validar sus datos y mostrar sus datos.

Utilizando un framework, lo que puede requerir tres llamadas de función diferentes y al menos dos devoluciones de llamada puede hacerse en una sola llamada de función con quizás una o dos devoluciones de llamada. Además, los nombres de las funciones son un poco más claros y son más indicativos del trabajo que están haciendo y del tipo de elementos con los que lo hacen.

Desventajas

Gestión de la dependencia

Por otro lado, si optas por usar un framework, automáticamente creas una dependencia entre tú, el código de terceros y WordPress.

Esto significa que si tu código está basado en un framework, y ese framework está basado en WordPress, entonces las capacidades del framework están limitadas solo por la versión más reciente de WordPress que soporta.

Si el framework se mantiene actualizado con WordPress a medida que se desarrolla, y el framework se publica junto con las principales actualizaciones de WordPress, entonces es fácil mantener tu código en sincronía con los desarrollos más recientes.

Por otra parte, si el framework se queda atrás con respecto a la versión más reciente de WordPress, entonces tu código solo puede ser tan actualizado (y tan seguro y fiable) como la versión más reciente de WordPress que tu framework soporta.

Depreciación

Otro desafío que viene con el uso de los frameworks es que, muchas veces, los frameworks son elaboradas envolturas para la funcionalidad existente que existe dentro de WordPress. Con ese fin, habrá ocasiones en que los frameworks proporcionen acceso a funciones que no siempre estarán disponibles cuando se actualice WordPress.

Digamos, por ejemplo, que tienes un framework que proporciona acceso a una determinada API que queda obsoleta en la última versión de la aplicación central. Además, el framework no deprecia adecuadamente su código hasta otro ciclo de lanzamiento.

Esto significa que el código que has escrito basado en el framework está usando llamadas de función obsoletas. Para una o dos versiones, puede que no sea gran cosa, pero una vez que esa funcionalidad desaparezca de la aplicación principal y el framework no se haya ocupado de ello, quizá no puedas utilizar la última versión de WordPress o algunas de sus nuevas características porque el framework no ha depreciado adecuadamente su código con el principal.

Limitación de características

Los frameworks pueden ser muy poderosos, pero cuando se trata de usarlos, a menudo es una buena idea hacer un "todo incluido". Es decir, cuando se utiliza un framework, suele ser agradable escribir todo tu código utilizando el framework en lugar de parte del código utilizando el framework y parte del código utilizando las API de WordPress.

En otras palabras, no quieres mezclar el código que estás escribiendo de tal manera que tengas una mezcolanza de código que está basado en un framework y, ya sabes, no se basa en un framework.

Después de todo, el propósito de un framework como el definido anteriormente es proporcionar una abstracción para la funcionalidad genérica.

Con ese fin, si un framework está incompleto o carece de funcionalidad específicamente para algo que se proporciona con el sistema de WordPress, entonces te queda una de dos opciones:

  1. Olvida la función que quieres usar y espera a que el framework lo haga disponible,
  2. Pasa al lado del framework y usa el código principal de WordPress junto con el código basado en el framework para conseguir el resultado deseado.

Inicialmente, parece claro que si el framework no ofrece algo que necesitas, entonces simplemente usa lo que ofrece WordPress. Pero cuando haces esto, estas mezclando el tipo de código que estas escribiendo de tal manera que introduces un nivel de complejidad cuando se trata de mantener el software.

Si un framework introduce más tarde un conjunto de características que cubren lo que una vez escribiste como código de WordPress de vainilla, se te encomendará la tarea de actualizar dicho código para que se ajuste al del framework. A partir de ahí, si el framework no se actualiza continuamente para estar al día con WordPress, entonces estás de vuelta en los problemas de dependencia y depreciación.

Conclusión

No es fácil esbozar todas las ventajas y desventajas que conlleva el uso de un framework, y mucho menos tomar una decisión sobre si se debe o no usar uno, pero los puntos mencionados anteriormente son algunas de las consideraciones más comunes que cualquier persona que trabaje con WordPress y frameworks debe tener en cuenta antes de seleccionar un framework y hacerlo todo.

Además, y como se ha mencionado anteriormente, este artículo no pretende proporcionar un argumento a favor o en contra del uso de frameworks con WordPress. En cambio, tiene como objetivo proporcionar tanto ventajas como desventajas para el uso de frameworks con el fin de ayudarte a tomar una mejor decisión en lo que se refiere a tu trabajo en WordPress.

Como con cualquier cosa en desarrollo, habrá compensaciones. A menudo se reduce a lo que estás dispuesto a sacrificar en favor de la funcionalidad, las dependencias y la estabilidad mientras equilibras el software central que siempre está en desarrollo y que tiene lanzamientos importantes aproximadamente cada seis meses.

Dependiendo de la naturaleza de tu trabajo, un framework puede ser el camino a seguir; para otros, no tanto. En cualquier caso, asegúrate de hacer la debida diligencia al decidir si usar o no un framework en tus proyectos actuales o futuros.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.