Lezioni apprese uscendo dalla Comfort Zone di WordPress

Pubblicato: 2020-01-07

Era la fine dell'estate del 2018. Ero uno sviluppatore invecchiato che non era più sicuro di dove rientrare nel mondo di WordPress. Ho trascorso oltre un decennio ad apprendere i dettagli della piattaforma che ha lanciato la mia carriera e che è stata anche un hobby per altri progetti di animali domestici che volevo affrontare.

In parte mi annoiavo. Avevo bisogno di una nuova sfida.

Adoro WordPress. Inoltre, apprezzo ciò che WordPress mi ha permesso di realizzare nel corso degli anni. Tuttavia, non ero più felice con esso per il mio blog personale. Era adatto al lavoro, ma spesso ho scoperto che aveva molti più gadget e aggeggi di quelli di cui avevo bisogno. Ho anche scritto post per blog in Markdown per molti anni piuttosto che nel classico editor. WordPress semplicemente non faceva più parte del mio flusso di lavoro per il mio blog. A volte era un ostacolo.

Sfida accettata.

Durante un fine settimana, ho creato un sistema di blog personalizzato funzionante. Sono riluttante a chiamarlo Content Manage System (CMS) perché mancava di funzionalità cruciali, come un'interfaccia amministrativa, che sono al centro di qualsiasi CMS. Tuttavia, ho costruito un sistema funzionante da zero in due giorni.

Non avevo idea di poter realizzare un'impresa del genere senza fare affidamento sulle utili funzioni e strumenti che WordPress aveva così generosamente fornito per la maggior parte della mia carriera di programmatore. Non riesco a contare il numero di volte in cui ho digitato accidentalmente esc_attr() o esc_html() solo per ricordare che erano funzioni di WordPress. La mia memoria muscolare di WordPress era forte. Senza saperlo, tutto ciò che avevo imparato costruendo su WordPress mi ha spinto a diventare uno sviluppatore PHP più completo. Ci sono poche API con cui non avevo lavorato dal core di WordPress. Capivo gran parte del codice sorgente e conoscevo le ragioni di gran parte della spazzatura legacy.

Il mio progetto personale impallidiva in confronto alla potenza di WordPress e lo fa ancora oggi. Tuttavia, mi ha spostato fuori dalla mia zona di comfort. Mi ha permesso di esplorare vecchie idee in nuovi modi.

Un esempio è stato capire come funzionassero le regole di riscrittura e il routing. Alcuni dei miei amici e io di recente abbiamo scherzato sul fatto che nessuno capisca davvero l'API di riscrittura di WordPress. Devi solo armeggiare finché qualcosa non funziona e il nuovo codice non interrompe più il tuo sito. Ci sono molte biblioteche esistenti là fuori, ma volevo capire come funzionasse per la mia stessa edificazione. Pertanto, ho deciso di creare una richiesta HTTP, un router e una classe controller. Il risultato finale è stata una soluzione elegante, che ha preso molto in prestito da altri framework PHP.

Con una semplice riga di codice, come mostrato di seguito per impostare un tipo di contenuto "libro", potrei gestire le richieste in arrivo per una pagina di un libro, mapparlo sulla risorsa corretta e generare il modello sul front-end. Ho iniziato a chiedermi perché avevo evitato questo concetto fondamentale di sito Web per così tanti anni come sviluppatore.

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

C'erano molte altre aree in cui ho iniziato a mettere in discussione il "modo WordPress" di fare le cose. Durante questo viaggio di scoperta, ho potuto imparare cose che potevo riportare per l'uso nei miei progetti WordPress. Entrando nel più ampio mondo dello sviluppo di siti Web, sono stato in grado di vedere meglio i difetti della piattaforma che mi hanno aiutato ad innamorarmi della programmazione. Tuttavia, sono stato anche in grado di vedere meglio la bellezza del sistema che migliaia di sviluppatori hanno continuato a utilizzare negli ultimi 15 anni.

Non si tratta solo di codice

Ho avuto l'opportunità di studiare e imparare grandi framework come Laravel e Symfony. Tuttavia, ho anche studiato il funzionamento di altre piattaforme dal punto di vista della pura esperienza utente.

L'unica cosa che sapevo per certo era che volevo testare piattaforme create per le persone che scrivevano in Markdown. Non stavo cercando piattaforme enormi per competere con la potenza di WordPress, come Joomla o Drupal. Invece, stavo cercando soluzioni più leggere come Grav, Jekyll e Hugo. Volevo capire come l'esperienza utente si adattasse al mio flusso di lavoro.

Di tutte le soluzioni che ho testato, ognuna aveva i suoi vantaggi. Ognuno aveva anche caratteristiche o metodi per fare cose che non erano di mio gusto. La cosa buona dell'esperienza è che sono stato in grado di identificare come volevo che la mia piattaforma di blog funzionasse per me. Leggere i pensieri degli altri in quelle comunità mi ha anche permesso di ascoltare gli utenti al di fuori della comunità di WordPress sul motivo per cui amavano il loro sistema di blog preferito.

Ho fatto il soldato in avanti. Usando ciò che ho imparato da quelle piattaforme, ho costruito qualcosa che sono stato felice di usare. Non era perfetto e probabilmente non lo sarebbe mai stato. Lo spazio per la crescita non è una brutta cosa.

Durante questo periodo, ho riacceso il mio amore per i blog con WordPress. Sebbene non sia sempre l'opinione popolare, l'editor di blocchi ha fatto passi da gigante meglio dell'editor classico. Era qualcosa che mi vedevo usare regolarmente. A parte il mio blog personale, ho iniziato a usarlo su altri progetti. Scrivo ancora in Markdown ogni giorno. Tuttavia, mi trovo a divertirmi a scrivere nell'editor di WordPress per la prima volta da anni.

Perché dovresti provare nuove piattaforme

Dal punto di vista dello sviluppatore, non è una buona idea accontentarsi e fare affidamento su un unico sistema. Invece di definirti uno "sviluppatore WordPress", pensa oltre questa terminologia. Invece, dovresti essere un programmatore PHP o un programmatore JavaScript. O, meglio ancora, definisci semplicemente te stesso un programmatore. I programmatori risolvono i problemi. Gli strumenti o le lingue sono ciò che usi per andare dal punto A al punto B.

Sul mercato del lavoro, essere un programmatore a tutto tondo apre più opportunità. Mentre la maggior parte di noi può solo sperare che WordPress sarà la piattaforma leader per i prossimi 10, 20 o 50 anni, dovresti essere preparato per qualsiasi futuro.

Un altro vantaggio di lavorare con altre piattaforme di tanto in tanto è che impari idee che puoi riportare nell'ecosistema di WordPress. Ad esempio, è interessante vedere come il tema iniziale Sage implementa il motore di creazione di modelli di Laravel Blade. Queste idee possono aiutare a plasmare il futuro di WordPress.

Alcune idee possono essere inserite nel core di WordPress. Altri possono migliorare i flussi di lavoro del team all'interno delle agenzie.

La formazione continua avvantaggia la comunità di WordPress nel suo insieme. Non limitare l'istruzione alle idee specifiche per WordPress. Impara dall'esterno e riportalo indietro.