Lekcje wyciągnięte z wyjścia poza strefę komfortu WordPress

Opublikowany: 2020-01-07

Było późne lato 2018 roku. Byłem starzejącym się programistą, który nie był do końca pewien, gdzie pasuję do świata WordPressa. Spędziłem ponad dekadę, poznając tajniki platformy, która zapoczątkowała moją karierę, a także służyła jako hobby dla innych projektów dla zwierząt, którymi chciałem się zająć.

Po części się nudziłem. Potrzebowałem nowego wyzwania.

Uwielbiam WordPressa. Co więcej, doceniam to, co WordPress pozwolił mi osiągnąć przez lata. Jednak nie byłem już z tego zadowolony na moim osobistym blogu. Nadawał się do pracy, ale często stwierdzałem, że ma o wiele więcej gadżetów i gadżetów, niż potrzebowałem. Od wielu lat pisałem też posty na blogu w Markdown, a nie w klasycznym edytorze. WordPress po prostu nie był już częścią mojego przepływu pracy na moim blogu. Czasami była to przeszkoda.

Wyzwanie przyjęte.

W ciągu weekendu zbudowałem działający, niestandardowy system blogowy. Niechętnie nazywam go systemem zarządzania treścią (CMS), ponieważ brakowało mu kluczowych funkcji, takich jak interfejs administracyjny, które są sercem każdego systemu CMS. Niemniej jednak zbudowałem działający system od podstaw w dwa dni.

Nie miałem pojęcia, że ​​mógłbym dokonać takiego wyczynu bez polegania na przydatnych funkcjach i narzędziach, które WordPress tak hojnie zapewniał przez większość mojej kariery programistycznej. Nie mogę zliczyć, ile razy przypadkowo esc_attr() lub esc_html() tylko po to, by pamiętać, że były to funkcje WordPressa. Moja pamięć mięśniowa WordPressa była silna. Nie wiedząc o tym, wszystko, czego nauczyłem się, budując na WordPressie, popchnęło mnie do stania się bardziej wszechstronnym programistą PHP. Jest kilka interfejsów API, z którymi nie pracowałem z rdzenia WordPressa. Zrozumiałem wiele z kodu źródłowego i znałem powody wielu starszych mazi.

Mój osobisty projekt bladł w porównaniu z mocą WordPressa i tak jest do dziś. Wyprowadziło mnie to jednak poza moją strefę komfortu. Pozwoliło mi to odkrywać stare pomysły na nowe sposoby.

Jednym z przykładów było zrozumienie, jak działa przepisywanie reguł i routingu. Niektórzy z moich znajomych i ja ostatnio żartowaliśmy, że nikt tak naprawdę nie rozumie interfejsu API WordPress Rewrite. Po prostu majstrujesz przy tym, aż coś zadziała, a nowy kod nie będzie już uszkadzał Twojej witryny. Istnieje wiele istniejących bibliotek, ale chciałem zrozumieć, jak to działało dla mojego własnego zbudowania. Dlatego postanowiłem zbudować klasę żądania HTTP, routera i kontrolera. Efektem końcowym było eleganckie rozwiązanie, mocno zapożyczone z innych frameworków PHP.

Za pomocą prostej linii kodu, jak pokazano poniżej, w celu skonfigurowania typu treści „książka”, mogłem obsłużyć przychodzące żądania dotyczące strony książki, zmapować ją do właściwego zasobu i wyprowadzić szablon na interfejsie. Zacząłem się zastanawiać, dlaczego jako programista unikałem tej fundamentalnej koncepcji strony internetowej przez tyle lat.

 // Create 'example.com/books/book-name'. $this->router->get( 'books/{name}', Controller::class );

Było wiele innych obszarów, w których zacząłem kwestionować „sposób WordPressa” robienia rzeczy. Podczas tej odkrywczej podróży mogłem nauczyć się rzeczy, które mogłem przywrócić do użytku w moich projektach WordPress. Wchodząc w większy świat tworzenia stron internetowych, mogłem lepiej dostrzec wady platformy, która pomogła mi zakochać się w programowaniu. Jednak mogłem też lepiej dostrzec piękno systemu, który tysiące programistów prowadziło przez ostatnie 15 lat.

Nie chodzi tylko o kod

Miałem okazję studiować i uczyć się dużych frameworków, takich jak Laravel i Symfony. Jednak studiowałem również, jak inne platformy działały, z perspektywy czysto user-experience.

Jedyne, co wiedziałem na pewno, to to, że chciałem przetestować platformy stworzone dla osób, które pisały w Markdown. Nie szukałem wielkich platform, które mogłyby konkurować z potęgą WordPressa, takich jak Joomla czy Drupal. Zamiast tego patrzyłem na lżejsze rozwiązania, takie jak Grav, Jekyll i Hugo. Chciałem zrozumieć, jak doświadczenie użytkownika pasuje do mojego przepływu pracy.

Ze wszystkich testowanych przeze mnie rozwiązań, każde miało swoje zalety. Każdy miał też cechy lub metody robienia rzeczy, które nie przypadły mi do gustu. Zaletą tego doświadczenia było to, że mogłem określić, w jaki sposób chciałem, aby moja platforma blogowa działała dla mnie. Czytanie przemyśleń innych osób w tych społecznościach pozwoliło mi również usłyszeć od użytkowników spoza społeczności WordPressa o tym, dlaczego pokochali swój preferowany system blogowania.

Wyruszyłem naprzód. Korzystając z tego, czego nauczyłem się na tych platformach, zbudowałem coś, z czego chętnie korzystałem. Nie była idealna i prawdopodobnie nigdy nie będzie. Miejsce na wzrost nie jest złą rzeczą.

W tym czasie na nowo rozbudziłem moją miłość do blogowania za pomocą WordPressa. Chociaż nie zawsze była to popularna opinia, edytor bloków czuł się znacznie lepiej niż edytor klasyczny. To było coś, co widziałem, że regularnie używam. Poza moim osobistym blogiem zacząłem go używać w innych projektach. Nadal piszę w Markdown każdego dnia. Jednak po raz pierwszy od lat pisanie w edytorze WordPressa sprawia mi przyjemność.

Dlaczego powinieneś wypróbować nowe platformy

Z perspektywy programisty nie jest dobrym pomysłem popadanie w samozadowolenie i poleganie na jednym systemie. Zamiast nazywać siebie „twórcą WordPressa”, wyjdź poza tę terminologię. Zamiast tego powinieneś być programistą PHP lub programistą JavaScript. Albo jeszcze lepiej, po prostu nazwij siebie programistą. Programiści rozwiązują problemy. Narzędzia lub języki są tym, czego używasz, aby dostać się z punktu A do punktu B.

Na rynku pracy bycie bardziej wszechstronnym programistą otwiera więcej możliwości. Chociaż większość z nas może mieć tylko nadzieję, że WordPress będzie wiodącą platformą przez następne 10, 20 lub 50 lat, powinieneś być przygotowany na każdą przyszłość.

Kolejną korzyścią płynącą z pracy z innymi platformami od czasu do czasu jest to, że poznajesz pomysły, które możesz wprowadzić z powrotem do ekosystemu WordPress. Na przykład, ciekawie jest zobaczyć, jak motyw startowy Sage implementuje silnik szablonów Laravel Blade. Te pomysły mogą pomóc w kształtowaniu przyszłości WordPressa.

Niektóre pomysły można wepchnąć do rdzenia WordPressa. Inni mogą usprawnić pracę zespołową w agencjach.

Ciągła edukacja przynosi korzyści całej społeczności WordPressa. Nie ograniczaj tej edukacji do pomysłów dotyczących WordPressa. Ucz się z zewnątrz i przynieś to z powrotem.