Уроки, извлеченные при выходе за пределы зоны комфорта WordPress
Опубликовано: 2020-01-07Это было в конце лета 2018 года. Я был стареющим разработчиком, который не совсем был уверен, какое место я могу занять в мире WordPress. Я провел более десяти лет, изучая все тонкости платформы, которая положила начало моей карьере, а также послужила хобби для других любимых проектов, которыми я хотел заняться.
Отчасти мне было скучно. Мне нужен был новый вызов.
Я люблю WordPress. Более того, я ценю то, что WordPress позволил мне сделать за эти годы. Однако меня это больше не устраивало для моего личного блога. Он подходил для работы, но я часто обнаруживал, что в нем намного больше гаджетов и штуковин, чем мне нужно. Я также много лет писал сообщения в блогах в Markdown, а не в классическом редакторе. WordPress просто больше не был частью моего рабочего процесса для моего блога. Иногда это мешало.
Вызов принят.
За выходные я создал работающую пользовательскую систему блогов. Я не решаюсь назвать это системой управления контентом (CMS), потому что в ней отсутствуют важные функции, такие как административный интерфейс, который лежит в основе любой CMS. Тем не менее, я построил работающую систему с нуля за два дня.
Я понятия не имел, что смогу совершить такой подвиг, не полагаясь на полезные функции и инструменты, которые WordPress так щедро предоставил на протяжении большей части моей карьеры программиста. Я не могу сосчитать, сколько раз я случайно набрал esc_attr() или esc_html() только для того, чтобы вспомнить, что это были функции WordPress. Моя мышечная память WordPress была сильной. Сам того не зная, все, чему я научился, работая над WordPress, подтолкнуло меня к тому, чтобы стать более разносторонним PHP-разработчиком. Есть несколько API, с которыми я не работал из ядра WordPress. Я понял большую часть исходного кода и знал причины большей части устаревшего мусора.
Мой личный проект бледнел по сравнению с мощью WordPress и остается по сей день. Однако это вывело меня из зоны комфорта. Это позволило мне исследовать старые идеи по-новому.
Одним из примеров было понимание того, как работают правила перезаписи и маршрутизация. Некоторые из моих друзей и я недавно пошутили, что никто на самом деле не понимает WordPress Rewrite API. Вы просто возитесь с ним, пока что-то не заработает, и новый код больше не будет ломать ваш сайт. Существует много существующих библиотек, но я хотел понять, как это работает для моего собственного назидания. Поэтому я решил создать класс HTTP-запроса, маршрутизатора и контроллера. Конечным результатом стало элегантное решение, в значительной степени заимствованное из других фреймворков PHP.
С помощью простой строки кода, как показано ниже, для настройки типа контента «книга», я мог обрабатывать входящие запросы на страницу книги, сопоставлять ее с нужным ресурсом и выводить шаблон во внешнем интерфейсе. Я начал задаваться вопросом, почему я столько лет уклонялся от этой основополагающей концепции веб-сайта в качестве разработчика.
// Create 'example.com/books/book-name'. $this->router->get( 'books/{name}', Controller::class );Было много других областей, где я начал сомневаться в «способе ведения дел WordPress». Во время этого пути открытий я смог узнать вещи, которые я мог использовать в своих проектах WordPress. Выйдя в большой мир разработки веб-сайтов, я смог лучше увидеть недостатки платформы, которые помогли мне полюбить программирование. Однако я также смог лучше увидеть красоту системы, которую тысячи разработчиков продолжали использовать в течение предыдущих 15 лет.

Дело не только в коде
У меня была возможность изучать и изучать большие фреймворки, такие как Laravel и Symfony. Тем не менее, я также изучал работу других платформ с точки зрения чистого пользовательского опыта.
Единственное, что я знал наверняка, это то, что я хотел протестировать платформы, созданные для людей, которые писали на Markdown. Я не искал огромные платформы, чтобы конкурировать с мощью WordPress, такие как Joomla или Drupal. Вместо этого я искал более легкие решения, такие как Grav, Jekyll и Hugo. Я хотел понять, как пользовательский опыт вписывается в мой рабочий процесс.
Из всех протестированных мной решений каждое имело свои преимущества. У каждого также были особенности или методы ведения дел, которые мне не нравились. Положительным моментом этого опыта было то, что я смог определить, как я хочу, чтобы моя блог-платформа работала на меня. Чтение мыслей других участников этих сообществ также позволило мне узнать от пользователей за пределами сообщества WordPress о том, почему им нравится предпочитаемая ими система ведения блогов.
Я двинулся вперед. Используя то, что я узнал на этих платформах, я создал то, что мне было приятно использовать. Это не было идеально и, вероятно, никогда не будет. Возможности для роста — это не плохо.
За это время я возродил свою любовь к ведению блога с помощью WordPress. Хотя это и не всегда популярное мнение, блочный редактор чувствовал себя на дрожжах лучше, чем классический редактор. Это было то, что я мог регулярно использовать. Помимо моего личного блога, я начал использовать его в других проектах. Я до сих пор пишу в Markdown каждый день. Тем не менее, впервые за многие годы мне нравится писать в редакторе WordPress.
Почему вы должны попробовать новые платформы
С точки зрения разработчика, не стоит успокаиваться и полагаться на одну систему. Вместо того, чтобы называть себя «разработчиком WordPress», подумайте не только об этой терминологии. Вместо этого вы должны быть программистом PHP или программистом JavaScript. Или, еще лучше, просто назовите себя программистом. Программисты решают проблемы. Инструменты или языки — это то, что вы используете, чтобы добраться из точки А в точку Б.
На рынке труда более разносторонний программист открывает больше возможностей. Хотя большинство из нас может только надеяться, что WordPress станет ведущей платформой в ближайшие 10, 20 или 50 лет, вы должны быть готовы к любому будущему.
Еще одно преимущество работы с другими платформами время от времени заключается в том, что вы изучаете идеи, которые можно использовать в экосистеме WordPress. Например, интересно посмотреть, как стартовая тема Sage реализует механизм шаблонов Laravel Blade. Эти идеи могут помочь сформировать будущее WordPress.
Некоторые идеи можно внедрить в ядро WordPress. Другие могут улучшить командные рабочие процессы в агентствах.
Непрерывное образование приносит пользу сообществу WordPress в целом. Не ограничивайте это образование идеями, специфичными для WordPress. Учитесь снаружи и верните его.
