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

Wordpress para Desarrollo de Aplicaciones: Una introducción

by
Read Time:6 minsLanguages:
This post is part of a series called Using WordPress for Web Application Development.
WordPress for Web App Development: Rethinking Architecture

Spanish (Español) translation by David Castrillón (you can also view the original English article)

Ahora más que nunca, los desarrolladores y diseñadores están empezando a ver el potencial de usar WordPress como una manera de construir aplicaciones web.

Me refiero a que la comunidad está empezando a ver que WordPress puede utilizarse para más que solo blogs y gestión de contenidos: por el contrario, puede ser utilizado para aplicaciones respaldadas en base de datos que se ejecutan en el contexto del navegador.

¿Y por qué no,bien? Al dar un paso atrás y mirar todas las cosas que WordPress ofrece, tienes un caso bastante fuerte para lo potente que WordPress es realmente.

Por ejemplo, WordPress incluye:

  • Una base de datos con un esquema flexible de datos
  • Una capa de aplicación en la base con numerosos ganchos de los cuales podemos tomar ventaja
  • La capacidad para manejar el lado del cliente, el servidor, el usuario y las tareas orientadas al administrador

De hecho, Matt Mullenweg ha sido citado diciendo:

Cuando lo piensas, estamos construyendo una clase de sistema operativo en la web.

Pero eso no quiere decir que WordPress sea el ajuste correcto para todo. Después de todo, ¿cuántos frameworks, bases, librerías, herramientas y así sucesivamente tenemos para ayudarnos a crear aplicaciones web?

En esta serie, vamos a echar un vistazo a exactamente a lo que WordPress ofrece en lo que se refiere a la construcción de aplicaciones web, la diferencia en un framework de aplicaciones y una base, las características que se prestan para construir aplicaciones full-stack con WordPress, así como el hecho de que WordPress no es una bala de plata para escribir software para la web.


De Frameworls y Fundamentos

Uno de los nombres equivocados más comunes que escucho aplicados a WordPress es que es un framework para aplicaciones web. Por la definición de "framework" y por la definición de lo que es WordPress, no es un framework - es una base.

¿Qué es un Framework?

Como lo define Wikipedia, un framework de software es lo siguiente:

En programación, un framework de software es una abstracción en la que el software ofrece funcionalidades genéricas que pueden selectivamente ser cambiadas por código escrito por el usuario adicional, proporcionando software de aplicación específica. Un framework es una plataforma de software universal, reutilizable para el desarrollo de aplicaciones, productos y soluciones. Los framewroks incluyen programas de apoyo, compiladores, librerías de código, conjuntos de herramientas e interfaces de programación de aplicaciones (API) que reúnen los diferentes componentes que permiten el desarrollo de un proyecto o solución.

Para decirlo simplemente, un framework consiste en un conjunto de convenciones - como donde deben ir los archivos - bibliotecas y herramientas, tales como una capa de abstracción de la base de datos - que nos permiten fácilmente empezar a trabajar en una aplicación.

Con un framework, te puedes centrar en dominar un problema concreto que es exclusivo de la solución que estás tratando de construir. Por ejemplo, supongamos que vas a construir algún tipo simple de software contable que es el responsable del seguimiento de depósitos, retiros y hacer un seguimiento de disponible (o efectivo no disponible).

En este escenario, tendrás una base de datos única a este problema, una capa abstraida de la base de datos que hace que sea fácil para ti leer y escribir datos en el esquema definido y un conjunto de convenciones para la organización del código de presentación (es decir, el que es responsable de mostrarle los datos al usuario y con los que interactúa) y para la organización del código de la aplicación que se encuentra entre el código de presentación y el código de la base de datos que encapsula la lógica empresarial única al problema.

Verás, un framework proporciona los medios por los cuales una aplicación puede construirse desde cero. Ayuda a facilitar la creación de una aplicación desde el esquema de la base de datos hasta el front-end.

Entonces, ¿qué es una Base?

La verdad es que suena mucho a lo que ofrece WordPress, ¿no?

Pero la cosa es que WordPress ofrece una base de datos predefinida, un conjunto predefinido de código para la aplicación (y por lo tanto, API), así como formas de visualizar los datos usando archivos de plantilla.

Sencillamente, WordPress es una aplicación que proporciona un conjunto de APIs y convenciones que podemos utilizar para crear aplicaciones. Ya proporciona un esquema, una base datos lógica, cierta lógica de negocio y estrategias de presentación fuera de la caja.

Mientras que un framework te permite realmente crear una aplicación, una base te permite extender una aplicación.

Y eso es lo que terminamos haciendo con WordPress: Aprovechamos la base de datos predefinida, las API disponibles y el sistema de plantillas para mostrar datos, para construir soluciones usando una aplicación que ya está definida.

En resumen, se puede construir software sobre frameworks, y el software se puede extender sobre bases.

¿Un poco confundido?

Como lo hicimos en la última sección, echamos un vistazo a cómo vas sobre la construcción de una pieza muy simple de software de contabilidad. Recuerda que requiere que definamos un esquema de base de datos, escribir código para la lectura y la escritura a la base de datos, escribir código para el manejo de la lógica de negocio, crear las plantillas para la presentación de los datos e interactuar con el usuario, y luego colocar los archivos donde deben encajar con las convenciones del framework.

Con WordPress, es posible utilizar el sistema de base de datos existente para manejar todo esto. Tú puedes utilizar la API para higienizar y validar los datos, puedes utilizar plantillas para procesar la información y puedes utilizar ganchos para implementar funcionalidades personalizadas que interactúen con el usuario.


¿Cuál es la diferencia?

Así que sí, aunque el mismo tipo de software se puede construir en un framework o una base, existen diferencias entre los frameworks y las bases, y creo que es muy importante entender la diferencia de ambos antes de una inmersión más profunda en esta serie.

En pocas palabras, los frameworks no son aplicaciones, las bases son aplicaciones.

Sólo porque una aplicación web puede construirse utilizando WordPress no lo convierte en un framework. Es una base. Es una aplicación en sí misma que puede ser extendida a otras aplicaciones.

Cosas tales como Rails, Laravel, CakePHP, Zend y CodeIgnitor son frameworks porque al descargarlos, instalarlos y configurarlos, no pueden realmente hacer nada hasta que se les dé suficiente código para hacerlo.

Las bases no son así. Ya pueden hacer cosas si has o no escrito una línea de código.


¿Qué es lo siguiente?

Como se mencionó, a lo largo de esta serie, vamos a echar un vistazo a la base que WordPress proporciona para escribir aplicaciones web.

Por supuesto, no hay ninguna bala de plata cuando se trata de escribir una aplicación web. El propósito de la serie no es convencer a nadie en cuanto a por qué WordPress puede usarse sobre cualquier otro framework o base. Por el contrario, el propósito es mostrar lo que puede hacerse con WordPress y por qué puede ser una alternativa viable para tu próximo proyecto.

Aunque no habrá mucho de material técnico - como código - habrá un montón de ejemplos de lo que WordPress API dispone, cómo puede utilizarse y lo que se puede utilizar cuando se trata de escribir una aplicación.

A partir del siguiente artículo, vamos a ver lo que significa cambiar nuestro modelo conceptual del pensamiento sobre la construcción de aplicaciones web de patrones y frameworks a algo como WordPress.

Advertisement
Did you find this post useful?
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.