Lecții învățate ieșind în afara zonei de confort WordPress

Publicat: 2020-01-07

Era sfârșitul verii în 2018. Eram un dezvoltator în vârstă care nu era foarte sigur unde mă mai potrivesc în lumea WordPress. Petrecusem peste un deceniu învățând dezavantajele platformei care mi-a lansat cariera și a servit, de asemenea, drept hobby pentru alte proiecte de companie pe care voiam să le abordez.

În parte, m-am plictisit. Aveam nevoie de o nouă provocare.

Iubesc WordPress. Mai mult decât atât, apreciez ceea ce mi-a permis WordPress să realizez de-a lungul anilor. Cu toate acestea, nu am mai fost mulțumit de el pentru blogul meu personal. Era potrivit pentru job, dar am descoperit adesea că avea mult mai multe gadget-uri și gadgeturi decât aveam nevoie. De asemenea, am scris postări pe blog în Markdown de mulți ani, mai degrabă decât editorul clasic. WordPress pur și simplu nu a mai făcut parte din fluxul meu de lucru pentru blogul meu. Uneori, a fost o piedică.

Provocare acceptată.

Într-un weekend, am construit un sistem de blog personalizat funcțional. Eu ezit să-l numesc un sistem de gestionare a conținutului (CMS), deoarece nu avea caracteristici esențiale, cum ar fi o interfață administrativă, care se află în centrul oricărui CMS. Cu toate acestea, am construit un sistem de lucru de la zero în două zile.

Habar n-aveam că pot realiza o asemenea ispravă fără să mă bazez pe funcțiile și instrumentele utile pe care WordPress le-a oferit cu atâta generozitate pentru cea mai mare parte a carierei mele de programator. Nu pot număra de câte ori am tastat din esc_attr() sau esc_html() doar pentru a-mi aminti că erau funcții WordPress. Memoria mea musculară WordPress era puternică. Fără să știu, tot ceea ce am învățat prin construirea pe WordPress m-a împins să devin un dezvoltator PHP mai complet. Există puține API-uri cu care nu lucrasem de la WordPress de bază. Am înțeles o mare parte din codul sursă și știam motivele multor vechituri.

Proiectul meu personal a pălit în comparație cu puterea WordPress și o face și astăzi. Cu toate acestea, m-a mutat în afara zonei mele de confort. Mi-a permis să explorez idei vechi în moduri noi.

Un exemplu a fost înțelegerea modului în care funcționau regulile de rescriere și rutarea. Unii dintre prietenii mei și cu mine am glumit recent că nimeni nu înțelege cu adevărat API-ul WordPress Rewrite. Pur și simplu te descurci cu el până când ceva funcționează și noul cod nu mai distruge site-ul tău. Există multe biblioteci existente acolo, dar am vrut să înțeleg cum a funcționat asta pentru propria mea edificare. Prin urmare, mi-am propus să construiesc o cerere HTTP, un router și o clasă de controler. Rezultatul final a fost o soluție elegantă, care a împrumutat foarte mult de la alte framework-uri PHP.

Cu o simplă linie de cod, așa cum se arată mai jos pentru configurarea unui tip de conținut „carte”, aș putea gestiona solicitările primite pentru o pagină de carte, aș putea mapa la resursa corectă și aș putea scoate șablonul pe front-end. Am început să mă întreb de ce m-am ferit de acest concept de site de bază atâția ani ca dezvoltator.

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

Au fost multe alte domenii în care am început să pun la îndoială „modul WordPress” de a face lucrurile. În timpul acestei călătorii de descoperire, am putut să învăț lucruri pe care le-aș putea aduce înapoi pentru a fi folosite în proiectele mele WordPress. Ieșind în lumea mai largă a dezvoltării site-urilor web, am putut să văd mai bine defectele platformei care m-au ajutat să mă îndrăgostesc de programare. Cu toate acestea, am putut vedea mai bine frumusețea sistemului pe care mii de dezvoltatori l-au continuat să ruleze în ultimii 15 ani.

Nu este totul despre cod

Am avut ocazia să studiez și să învăț cadre mari precum Laravel și Symfony. Cu toate acestea, am studiat și modul în care funcționează alte platforme dintr-o perspectivă pură a experienței utilizatorului.

Singurul lucru pe care știam sigur este că am vrut să testez platforme create pentru oamenii care au scris în Markdown. Nu căutam platforme uriașe care să concureze cu puterea WordPress, precum Joomla sau Drupal. În schimb, mă uitam la soluții mai ușoare precum Grav, Jekyll și Hugo. Am vrut să înțeleg cum experiența utilizatorului se potrivește cu fluxul meu de lucru.

Dintre toate soluțiile pe care le-am testat, fiecare a avut avantajele ei. Fiecare avea, de asemenea, caracteristici sau metode de a face lucruri care nu erau pe gustul meu. Partea bună a experienței a fost că am reușit să identific cum îmi doream să funcționeze platforma mea de blogging pentru mine. Citirea gândurilor altora din acele comunități mi-a permis, de asemenea, să aud de la utilizatorii din afara comunității WordPress despre motivul pentru care le-au iubit sistemul lor de blogging preferat.

Am fost soldat înainte. Folosind ceea ce am învățat de la acele platforme, am construit ceva pe care am fost bucuros să îl folosesc. Nu a fost perfect și probabil că nu va fi niciodată. Spațiul de creștere nu este un lucru rău.

În acest timp, mi-am reaprins dragostea pentru blogging cu WordPress. Deși nu este întotdeauna opinia populară, editorul de bloc s-a simțit mai bine decât editorul clasic. Era ceva ce mă vedeam folosind în mod regulat. Pe lângă blogul meu personal, am început să-l folosesc în alte proiecte. Încă mai scriu în Markdown în fiecare zi. Cu toate acestea, îmi face plăcere să scriu în editorul WordPress pentru prima dată în ultimii ani.

De ce ar trebui să încercați platforme noi

Din perspectiva dezvoltatorului, nu este o idee bună să devii mulțumit și să te bazezi pe un singur sistem. În loc să vă numiți „dezvoltator WordPress”, gândiți-vă dincolo de această terminologie. În schimb, ar trebui să fii programator PHP sau programator JavaScript. Sau, mai bine, pur și simplu numiți-vă programator. Programatorii rezolvă probleme. Instrumentele sau limbile sunt cele pe care le folosiți pentru a ajunge de la punctul A la punctul B.

Pe piața muncii, a fi un programator mai bine rotunjit deschide mai multe oportunități. În timp ce cei mai mulți dintre noi nu pot decât să sperăm că WordPress va fi platforma lider în următorii 10, 20 sau 50 de ani, ar trebui să fiți pregătiți pentru orice viitor.

Un alt beneficiu al lucrului cu alte platforme din când în când este că înveți idei pe care le poți aduce înapoi în ecosistemul WordPress. De exemplu, este interesant să vedem cum tema de pornire Sage implementează motorul de șabloane al lui Laravel Blade. Aceste idei pot ajuta la modelarea viitorului WordPress.

Unele idei pot fi introduse în WordPress de bază. Alții pot îmbunătăți fluxurile de lucru în echipă în cadrul agențiilor.

Educația continuă aduce beneficii comunității WordPress în ansamblu. Nu limitați acea educație la idei specifice WordPress. Învață din exterior și adu-l înapoi.