Uso de WordPress para el desarrollo de aplicaciones web una revisión

En los últimos meses, hemos analizado todas las características y aspectos que hacen de WordPress una base potencial para el desarrollo de aplicaciones..

De hecho, hemos gastado aproximadamente 15 artículos hablando de todo lo que ofrece WordPress.

Y a pesar de que revisaremos cada uno de los puntos en este correo electrónico, quizás lo más importante para eliminar es que crear aplicaciones web utilizando WordPress es diferente a usar muchos de los marcos populares que están disponibles actualmente, principalmente porque WordPress no es un problema. marco de referencia.

Es una base sobre la cual podemos construir; No es un marco con el que construimos..

Esto significa que tenemos que cambiar nuestro modelo de pensamiento acerca de cómo se construyen los diversos componentes de nuestra aplicación para que se desempeñen de manera óptima en el contexto y el entorno en el que se ejecutan..

1. Marcos y fundaciones.

En el primer post de la serie, analizamos brevemente exactamente lo que significa ser un marco:

En la programación de computadoras, un marco de software es una abstracción en la que el software que proporciona una funcionalidad genérica se puede cambiar de manera selectiva mediante un código adicional escrito por el usuario, lo que proporciona un software específico de la aplicación. Un marco de software es una plataforma de software universal y reutilizable para desarrollar aplicaciones, productos y soluciones. Los marcos de software incluyen programas de soporte, compiladores, bibliotecas de código, conjuntos de herramientas e interfaces de programación de aplicaciones (API) que reúnen a todos los diferentes componentes para permitir el desarrollo de un proyecto o solución..

Y lo que significa ser una fundación:

En resumen, el software puede construirse sobre marcos, el software puede extender las bases.

Estas dos definiciones establecen el escenario para la manera en que comenzaríamos a ver WordPress, cómo se construye, los patrones de diseño que implementa y cómo debemos ajustar nuestro modelo conceptual de modo que estemos pensando correctamente en la base del código subyacente para que Lo estamos aprovechando lo mejor que podemos para el trabajo que tenemos que hacer..

2. Repensando la arquitectura

Al igual que con la mayoría de las aplicaciones web, WordPress está estructurado de manera similar:

  1. La capa de base de datos
  2. La capa de aplicación
  3. La capa de presentación

Pero cuando se trata de crear aplicaciones sobre WordPress, estamos cambiando un poco las cosas. Es decir, aunque WordPress mantiene la misma estructura, y podemos construir nuestras propias soluciones utilizando nuestras propias estrategias, patrones de diseño, y lo que no, estaremos enganchándonos un poco en la aplicación de WordPress para que nuestra propia lógica empresarial se active. , y con el fin de mostrar cosas en nuestra propio Capa de presentación.

Para hacer esto, es importante comprender el patrón de diseño que impulsa a WordPress. Y aunque MVC y sus variantes están de moda en estos días, WordPress sigue una convención diferente.

3. El Modelo Conceptual (Eventos, Acciones y Filtros).

En un artículo de seguimiento sobre la arquitectura de WordPress, discutimos cómo WordPress utiliza la programación dirigida por eventos.

En cambio, la programación dirigida por eventos funciona a partir de la premisa de que "algo sucedió". De ahí el nombre de comportamiento en la jerga de WordPress (por supuesto, también tenemos filtros, pero los cubriré momentáneamente).

Específicamente, hablamos sobre cómo esto nos lleva a la idea de cómo, en la programación, algo pasa y luego podemos aprovechar esos puntos clave.

En WordPress, estas características particulares se denominan ganchos y pueden definirse de dos maneras particulares:

  1. Las acciones indican que ciertas cosas, como la carga de ciertos datos o la preparación de ciertas funciones, están disponibles.
  2. Los filtros son puntos en el ciclo de vida de la aplicación WordPress que interceptan, administran y devuelven datos antes de que sean el navegador o la base de datos..

Luego, cuando vamos a discutir cada uno de estos con más detalle. A través del uso de definiciones más largas, ejemplos de código y algunos de los ganchos más comunes disponibles, revisamos cómo darles un buen uso a cada uno de ellos y cómo pueden beneficiarnos cuando trabajamos con nuestras propias aplicaciones web..

5. Gestión de usuarios, sesiones y correo electrónico.

Luego comenzamos a hablar sobre varias características que están en el corazón del desarrollo de aplicaciones web:

  • La creación y gestión de cuentas de usuario.
  • sesiones para datos persistentes
  • servicios de correo electrónico

Cubrimos estos elementos en secuencia no solo porque son el núcleo de muchas aplicaciones web modernas, sino también porque se usan muchas veces en conjunto con otras..

Por ejemplo, cuando un nuevo usuario registra una cuenta, recibirá un correo electrónico sobre cómo activarlo o cómo iniciar sesión, y luego, una vez que el usuario inicie sesión en el sistema, es probable que establezca una sesión para que los datos se transfieran. con ellos alrededor del sitio hasta que su sesión termine.

La razón por la que esto suele ser un poco problemático para crear aplicaciones en WordPress es que realmente no hay una API de sesiones. En su lugar, tenemos que recurrir a las instalaciones que ofrece PHP. Esto no es difícil, pero si nunca se ha tomado el tiempo de introducir correctamente una función nativa de PHP en una aplicación existente que no la haya incorporado de alguna manera, hay varios puntos que deben entenderse..

Y finalmente, el correo electrónico es obviamente clave para comunicarse con los usuarios; sin embargo, muchos desarrolladores que trabajan con WordPress (independientemente de su nivel de experiencia) no siempre son conscientes de la capacidad de personalizar por completo los correos electrónicos que se envían no solo a lo largo del curso habitual de los eventos, sino también cuando ocurren ciertos eventos que pueden justificar una correo electrónico en el contexto de su aplicación que no es estándar para WordPress.

6. Guardar y recuperar datos

Una vez que el usuario haya iniciado sesión en la aplicación, es probable que esté guardando y recuperando datos, pero si no lo está, todavía existe la posibilidad de que podamos estar registrando parte de su información para nada más que para saber cómo ' re utilizando el sitio, o para devolver información a ellos.

Afortunadamente, WordPress tiene una API que lo hace realmente fácil, pero también conlleva la necesidad de validar y sanear los datos al guardar y recuperar información..

Esta es la clave, ya que queremos asegurarnos de que la información maliciosa no se inserte en la base de datos, y no nos aseguramos de que estamos recuperando la información de manera segura, de forma tal que sea legible y fácil de usar para que los usuarios la vean..

7. Reescritura de URL

Cuando comenzamos a concluir la serie, hablamos un poco sobre los esquemas modernos de reescritura de URL y cómo WordPress ofrece una variedad de formas para hacerlo de forma inmediata..

Pero observamos con más detalle y comparamos lo que ofrecen muchos marcos modernos en cuanto a la personalización de rutas. Específicamente, observamos cómo se pueden implementar las rutas RESTful en WordPress utilizando la API Rewrite para proporcionar un esquema de URL más limpio, por qué esto es beneficioso para los usuarios y cómo administrarlo en WordPress.

Además, hablamos sobre algunas de las dificultades al hacer esto y cómo evitarlos al incorporar reglas personalizadas en nuestra aplicación..

8. almacenamiento en caché

Debido a que la velocidad es una característica, luego pasamos a hablar un poco sobre la API de WordPress Transient para aprender a almacenar información en caché en nuestra aplicación..

Aunque hay muchos complementos y otros paquetes de software que pueden introducir el almacenamiento en caché en nuestros sitios web y aplicaciones, hay cosas adicionales que podemos hacer como programadores para ayudarnos a aprovechar las características nativas de WordPress y su base de datos subyacente que funcionará bien. aplicaciones de almacenamiento en caché.

La cuestión es que, incluso si no va a depender de aplicaciones de terceros para el almacenamiento en caché, puede aprovechar la forma en que WordPress organiza la información en su base de datos de manera que aún puede aumentar el rendimiento de su trabajo al aprovechar esta API..

9. Consultar la base de datos

Finalmente, terminamos nuestra exploración y discusión de las características del uso de WordPress como base para el desarrollo de aplicaciones al hablar de las mejores maneras de consultar datos..

Específicamente, discutimos:

  • WP_Query que se utiliza para realizar consultas más avanzadas en tipos de correos, taxonomías, metadatos y más.
  • WP_User_Query que se utiliza para escribir consultas avanzadas en la tabla del usuario.
  • $ wpdb para escribir consultas personalizadas de bases de datos.

Luego examinamos los casos de uso para cada una de las API disponibles, cómo aprovecharlas en nuestro proyecto y bajo qué condiciones se debe usar..

Porque WordPress es una aplicación basada en una base de datos, entonces las aplicaciones que construimos sobre ella también lo serán, por lo que es importante saber exactamente cómo interactuar con las API disponibles para que no solo obtengamos la información correcta, sino que también lo hagamos con un ejecutante Fácil de leer, fácil de mantener y escalable..

A dónde vamos desde aquí?

El objetivo final de esta serie de artículos fue proporcionar una visión completa de lo que ofrece WordPress en el desarrollo de aplicaciones web..

Por supuesto, como desarrolladores, debemos recordar que no hay una solución mágica en lo que respecta a proporcionar soluciones para nosotros, nuestros clientes y nuestros clientes; se trata de encontrar la herramienta adecuada para el trabajo. En algunos casos, eso será WordPress, en otros casos, no lo será. Todo lo que hay que decir, solo porque WordPress puede ser utilizado no significa que deba usarse, y no deberíamos trabajar para forzar nuestro problema establecido en WordPress cuando no es el correcto.

Dicho esto, cuando WordPress hace ofrezca la funcionalidad, las API y la estructura adecuadas para resolver el problema dado, luego mantenga esta serie de artículos disponibles para su referencia, ya que su objetivo es proporcionarle exactamente lo que necesita para crear aplicaciones web sólidas sobre la base de WordPress existente.