Lecciones aprendidas al salir de la zona de confort de WordPress
Publicado: 2020-01-07Era fines del verano de 2018. Era un desarrollador envejecido que ya no estaba muy seguro de dónde encajaba en el mundo de WordPress. Pasé más de una década aprendiendo los entresijos de la plataforma que lanzó mi carrera y también sirvió como pasatiempo para otros proyectos favoritos que quería abordar.
En parte, estaba aburrido. Necesitaba un nuevo desafío.
Me encanta WordPress. Más que eso, aprecio lo que WordPress me ha permitido lograr a lo largo de los años. Sin embargo, ya no estaba contento con él para mi blog personal. Era adecuado para el trabajo, pero a menudo descubrí que tenía muchos más artilugios y artilugios de los que necesitaba. También había estado escribiendo publicaciones de blog en Markdown durante muchos años en lugar del editor clásico. WordPress simplemente ya no formaba parte de mi flujo de trabajo para mi blog. A veces, era un estorbo.
Desafío aceptado.
Durante un fin de semana, construí un sistema de blog personalizado que funciona. Dudo en llamarlo Sistema de administración de contenido (CMS) porque carecía de características cruciales, como una interfaz administrativa, que son el corazón de cualquier CMS. Sin embargo, construí un sistema de trabajo desde cero en dos días.
No tenía idea de que podría lograr tal hazaña sin confiar en las útiles funciones y herramientas que WordPress me había brindado tan generosamente durante la mayor parte de mi carrera como programador. No puedo contar la cantidad de veces que accidentalmente esc_attr() o esc_html() solo para recordar que eran funciones de WordPress. Mi memoria muscular de WordPress era fuerte. Sin saberlo, todo lo que había aprendido construyendo sobre WordPress me empujó a convertirme en un desarrollador de PHP más completo. Hay algunas API con las que no había trabajado desde el núcleo de WordPress. Entendí gran parte del código fuente y conocía las razones de gran parte de la suciedad heredada.
Mi proyecto personal palideció en comparación con el poder de WordPress y todavía lo hace hasta el día de hoy. Sin embargo, me sacó de mi zona de confort. Me permitió explorar viejas ideas de nuevas maneras.
Un ejemplo fue comprender cómo funcionaban las reglas de reescritura y el enrutamiento. Algunos de mis amigos y yo bromeamos recientemente diciendo que nadie entiende realmente la API de reescritura de WordPress. Simplemente juegue con él hasta que algo funcione y el nuevo código ya no rompa su sitio. Hay muchas bibliotecas existentes, pero quería entender cómo funcionaba esto para mi propia edificación. Por lo tanto, me dispuse a crear una solicitud HTTP, un enrutador y una clase de controlador. El resultado final fue una solución elegante, que tomó prestado en gran medida de otros marcos PHP.
Con una simple línea de código, como se muestra a continuación para configurar un tipo de contenido de "libro", podría manejar las solicitudes entrantes de una página de libro, asignarla al recurso correcto y generar la plantilla en la interfaz. Comencé a preguntarme por qué me había alejado de este concepto fundamental de sitio web durante tantos años como desarrollador.
// Create 'example.com/books/book-name'. $this->router->get( 'books/{name}', Controller::class );Hubo muchas otras áreas en las que comencé a cuestionar la "manera de WordPress" de hacer las cosas. Durante este viaje de descubrimiento, pude aprender cosas que podría traer para usar en mis proyectos de WordPress. Al adentrarme en el mundo más amplio del desarrollo de sitios web, pude ver mejor las fallas en la plataforma que me ayudaron a enamorarme de la programación. Sin embargo, también pude ver mejor la belleza del sistema que miles de desarrolladores han seguido ejecutando durante los 15 años anteriores.

No se trata solo del código
Tuve la oportunidad de estudiar y aprender grandes frameworks como Laravel y Symfony. Sin embargo, también estudié cómo funcionaban otras plataformas desde una perspectiva pura de experiencia de usuario.
Lo único que sabía con certeza es que quería probar plataformas creadas para personas que escribieron en Markdown. No estaba buscando grandes plataformas para competir con el poder de WordPress, como Joomla o Drupal. En cambio, estaba buscando soluciones más livianas como Grav, Jekyll y Hugo. Quería entender cómo encaja la experiencia del usuario con mi flujo de trabajo.
De todas las soluciones que probé, cada una tenía sus ventajas. Cada uno también tenía características o métodos para hacer cosas que no eran de mi agrado. Lo bueno de la experiencia fue que pude identificar cómo quería que funcionara mi plataforma de blogs. Leer los pensamientos de otros en esas comunidades también me permitió escuchar a los usuarios fuera de la comunidad de WordPress por qué amaban su sistema de blogs preferido.
Seguí adelante. Usando lo que aprendí de esas plataformas, construí algo que estaba feliz de usar. No era perfecto y probablemente nunca lo sería. El espacio para el crecimiento no es algo malo.
Durante este tiempo, reavivé mi amor por los blogs con WordPress. Si bien no siempre es la opinión popular, el editor de bloques se sintió mucho mejor que el editor clásico. Era algo que podía verme usando regularmente. Aparte de mi blog personal, comencé a usarlo en otros proyectos. Todavía escribo en Markdown todos los días. Sin embargo, disfruto escribiendo en el editor de WordPress por primera vez en años.
Por qué debería probar nuevas plataformas
Desde la perspectiva del desarrollador, no es una buena idea volverse complaciente y confiar en un solo sistema. En lugar de llamarte a ti mismo "desarrollador de WordPress", piensa más allá de esa terminología. En su lugar, debe ser un programador de PHP o un programador de JavaScript. O, mejor aún, simplemente llámese programador. Los programadores resuelven problemas. Las herramientas o lenguajes son lo que usas para ir del Punto A al Punto B.
En el mercado laboral, ser un programador más completo abre más oportunidades. Si bien la mayoría de nosotros solo podemos esperar que WordPress sea la plataforma líder durante los próximos 10, 20 o 50 años, debes estar preparado para cualquier futuro.
Otro beneficio de trabajar con otras plataformas de vez en cuando es que aprende ideas que puede traer de vuelta al ecosistema de WordPress. Por ejemplo, es interesante ver cómo el tema inicial de Sage implementa el motor de plantillas de Laravel Blade. Estas ideas pueden ayudar a dar forma al futuro de WordPress.
Algunas ideas se pueden insertar en el núcleo de WordPress. Otros pueden mejorar los flujos de trabajo del equipo dentro de las agencias.
La educación continua beneficia a la comunidad de WordPress en su conjunto. No limite esa educación a ideas específicas de WordPress. Aprende del exterior y tráelo de vuelta.
