Utilizzo degli strumenti per lo sviluppo WordPress di qualità

Costruire strumenti, temi, plugin e applicazioni in WordPress richiede una varietà di cose diverse se vogliamo essere certi che siamo armati con i migliori strumenti possibili necessari.

Se dovessi chiedere, diciamo, a 10 persone diverse quali strumenti preferiscono, non solo avresti una vasta gamma di risposte - cose dagli IDE alle applicazioni di gestione delle dipendenze per costruire strumenti - ma daresti anche una varietà di risposte diverse , tutti forniscono funzionalità simili a ciò di cui potresti aver bisogno.

Ad esempio, alcune delle cose che potresti leggere includono:

  • Grugnito
  • pergolato
  • Compositore 
  • CodeKit
  • JSLint
  • ... e altro ancora

Questo non colpisce nemmeno la superficie di argomenti come server web, sistemi di database e versioni di PHP. Tutti questi sono argomenti importanti che dovrebbero essere discussi, ma nel loro stesso post.

Quando si lavora con WordPress, alcuni dei non negoziabili relativi al lavoro svolto in modo efficiente includono quanto segue:

  1. Un IDE
  2. Un debugger
  3. Codice Linting e Minification
  4. Controllo della versione
  5. Strumenti di distribuzione

Come con la maggior parte delle cose, gli sviluppatori hanno le loro scelte particolari sugli strumenti che amano utilizzare e sul perché si divertono a utilizzarli.

In questo articolo, condividerò alcuni degli strumenti che preferisco usare e che ho trovato utile nei miei sforzi di sviluppo WordPress professionali; tuttavia, vorrei chiarire che questo non è un elenco definitivo di quali strumenti tu dovrebbero stare usando.

Invece, pensate a questo come una guida per esempi su ciò che costituiscono strumenti di qualità per lo sviluppo della qualità. Se sei soddisfatto del set di strumenti che usi, allora fantastico! Ma se sei alla ricerca di qualcosa che possa aiutarti a svolgere il lavoro in modo più efficiente, forse questi ti aiuteranno a trovare la strada giusta.

Prima di iniziare, desidero condividere che utilizzo OS X, quindi molte delle mie raccomandazioni saranno basate su tale piattaforma. Tuttavia, molte delle applicazioni che uso hanno controparti Windows e Linux e strumenti che sono open source e sono disponibili su più piattaforme.

1. IDE

Avere un IDE per scrivere codice è essenziale. Certo, alcuni sviluppatori preferiscono qualcosa di semplice come TextEdit o Notepad ++. Più potere per loro! Ma se stai cercando qualcosa con l'evidenziazione della sintassi, il completamento del codice, il supporto per i plugin, l'integrazione S / FTP e persino l'integrazione del controllo della versione, allora ci sono una varietà di strumenti che sono disponibili.

Personalmente, il mio IDE di scelta è Coda 2.

Questo particolare IDE genera opinioni contrastanti su tutto lo sviluppo di WordPress. Alcuni preferiscono Atom, alcuni preferiscono il Testo Sublime, altri preferiscono Vim, altri preferiscono PHPStorm e tutti hanno i loro punti di forza.

Personalmente, mi piace Coda 2 per il supporto continuo, gli aggiornamenti, le variazioni mobili dell'applicazione e l'aspetto generale. Mi piacciono i progressi che hanno compiuto rispetto alle piattaforme di supporto come WordPress e la possibilità di avere il completamento del codice integrato è piacevole.

Certo, altri IDE offrono esattamente la stessa funzionalità; tuttavia, se si sceglie di andare con Coda, ecco alcuni plugin che preferisco per lo sviluppo di WordPress. Senza un ordine particolare:

  • Modalità WordPress per Coda 2
  • PHP Docblock Generator
  • White Out

Naturalmente, ci sono molti altri che è possibile installare.

In termini di altri IDE consigliati, controlla le conclusioni per vedere come vorremmo incorporarle nel feed dei commenti di questo post in particolare.

2. Debugger

Uno degli strumenti più potenti in qualsiasi toolbox per sviluppatori è il debugger. Per coloro che non hanno familiarità, questo software consente di monitorare esattamente cosa sta facendo il tuo codice sorgente ogni volta che sta eseguendo ciò che il programma sta facendo durante il tempo di esecuzione.

Questo ti dà la possibilità di:

  • vedere quale funzione sta sparando
  • vedere i valori delle varie variabili
  • passo su alcune funzioni che si desidera evitare
  • accedere alle funzioni che si desidera vedere (come le funzioni principali di WordPress)
  • … e molto di più

Molti IDE, come PHPStorm, sono dotati di un debugger integrato. Ma se si sceglie di utilizzare un IDE diverso che non include in modo nativo un debugger, allora consiglio vivamente Codebug.

È un debugger elegante e facile da usare che ti dà tutta la potenza di un debugger nativo ma in un'applicazione standalone. Vale la pena il cartellino del prezzo da aggiungere al tuo arsenale.

Una parola di cautela: se sei nuovo nel debug e / o non sei sicuro del funzionamento del sistema, assicurati di leggere la documentazione. In realtà è relativamente facile da imparare, ma ha la sua curva di apprendimento. 

Una volta che ti sei abituato a usare un debugger, però, ti chiedi come mai hai vissuto senza.

3. Linting e strumenti di minificazione del codice

Gli strumenti Linting e Minification potrebbero essere due argomenti separati ma, oggigiorno, vanno così di pari passo che ho pensato che valesse la pena di includerli insieme.

linting

Innanzitutto, per chi non ha familiarità, il linting è fondamentalmente il processo per assicurarsi che il codice, in questo caso il codice JavaScript, sia conforme a uno standard particolare. Cioè, che non sta usando alcuna cattiva pratica.

Secondo Wikipedia:

il nome era originariamente assegnato a un particolare programma che contrassegnava alcuni costrutti sospetti e non portatili (probabilmente bug) nel codice sorgente del linguaggio C. Il termine è ora applicato in modo generico agli strumenti che segnalano l'utilizzo sospetto nel software scritto in qualsiasi linguaggio informatico.

Nel nostro caso, abbiamo strumenti come JSLint e JSHint che ci permettono di fare esattamente questo con il nostro codice JavaScript.

Puoi anche trovare i linters anche per altre lingue, ma probabilmente il caso più comune in cui troverai il linting in WordPress è rispetto a JavaScript. Puoi anche trovarlo integrato in uno qualsiasi degli strumenti di creazione menzionati all'inizio di questo articolo.

minification

Minificazione si riferisce al processo di prendere una lingua, che sia CSS, Sass, LESS, JavaScript e così via, e quindi rimuovere tutti gli spazi bianchi, i nomi delle variabili lunghe e così via in un file più compatto.

L'idea non è quella di creare codice offuscato, ma di creare file leggeri che puoi servire al browser in un ambiente di produzione in modo che il tuo sito si carichi più velocemente perché ha meno da scaricare.

C'è anche la nozione di concatenazione che supera lo scopo di questo articolo, ma l'idea alla base della concatenazione è che tutti gli script e i fogli di stile miniati saranno combinati in un singolo file in modo tale che il browser debba solo effettuare due richieste, una per ogni file.

Ad ogni modo, tutti gli strumenti sopra menzionati si occuperanno anche di fornire il minimo (e la concatenazione) dei tuoi script e stili e li invieranno nella directory di tua scelta.

4. Controllo della versione

Ogni volta che lavori su una base di codice, indipendentemente dal fatto che sia con te stesso o con un team, è sempre utile assicurarsi di mantenere versioni coerenti del tuo software.

In breve, il controllo della versione è un modo in cui puoi impegnare il tuo codice in un repository in modo tale che, mentre tu o i tuoi compagni di squadra apportate modifiche, le ultime versioni del codice siano mantenute in modo tale da poter vedere una cronologia di ciò che è stato fatto e che è possibile eseguire il rollback ad un certo punto della timeline in caso qualcosa vada storto.

In termini di che cosa il software è il migliore per il controllo della versione, ci sono strumenti come Subversion, Git e Mercurial.

Se sei abituato a lavorare con l'economia di WordPress, allora avrai più familiarità con Subversion dato che è ciò che il core usa per mantenere le modifiche che stanno entrando nel sistema.

Allo stesso modo, se hai mai costruito e rilasciato un plug-in, allora hai dovuto lavorare con Subversion per eseguire il commit del tuo codice, taggare la tua versione e così via.

Ma Git sta diventando sempre più popolare. Probabilmente, i due siti più popolari per l'hosting Git sono GitHub e Bitbucket. Ad ogni modo, se stai cercando un solido client Git, consiglio vivamente Tower 2.

Anche se è il mio cliente di scelta, ci sono abbondanza di altre alternative. In definitiva, il punto è assicurarsi di aggiungere il codice al controllo del codice sorgente, di lavorare con un cliente che ami e, se possibile, di essere collegato a un sistema di distribuzione in modo tale che ogni volta che spingere una particolare caratteristica o requisito, l'ambiente che il cliente utilizza per rivedere il prodotto viene aggiornato con il nuovo codice.

5. Strumenti di distribuzione

Ogni volta che stai lavorando alla creazione di un progetto WordPress o di qualsiasi progetto software, il flusso di lavoro standard di alto livello che seguiamo è:

  • Un ambiente di sviluppo su cui abbiamo una macchina locale dove facciamo il nostro sviluppo.
  • Un ambiente di staging a cui distribuiamo il nostro codice in modo che i clienti possano influenzare il progetto mentre stiamo elaborando i requisiti.
  • E poi l'ambiente di produzione, che è il luogo in cui viene distribuito il progetto finale.

A questo punto, non è affatto raro avere un sistema di distribuzione connesso al tuo software di gestione del codice sorgente in modo tale che ogni volta che un nuovo aggiornamento è impegnato nel repository del codice sorgente, verrà rilasciata l'ultima versione del progetto.

Fortunatamente, ci sono una serie di ottimi strumenti disponibili per la configurazione di implementazioni automatizzate.

Codeship

Codeship si posiziona come un servizio per l'integrazione continua in grado di eseguire gli script necessari per creare, testare e implementare il progetto tutto all'interno di un commit Git.

Ciò significa che è possibile eseguire un certo numero di script da attivare durante la distribuzione e ricevere notifiche prima di inviare qualsiasi cosa alla produzione.

In base alle dimensioni del tuo team e / o del tuo progetto, Codeship è una buona soluzione, soprattutto per le organizzazioni più grandi composte da proprietari, gestori, project manager e così via.

Detto questo, ho personalmente utilizzato questo strumento in una squadra di due persone e sono stato contento dei risultati.

DeployBot

DeployBot è stato precedentemente denominato Dploy.io. Simile a Codeship, DeployBot mira a prendere il codice sorgente impegnato in un repository Git e distribuirlo in un ambiente di tua scelta.

Ha anche la possibilità di eseguire script, compilare e compilare codice e distribuirlo in diversi ambienti in base alla configurazione che hai fornito.

Naturalmente, questi non sono tutti gli strumenti di distribuzione disponibili, ma sono due quelli che è probabile trovare quando si lavora in una capacità software professionale. Ognuno di loro offre i propri set di vantaggi e svantaggi per ciò che si sta tentando di fare; tuttavia, poiché questo non è un articolo di recensione o di confronto, lascerò tale esercizio a te per determinare quale sia la soluzione più adatta al tuo flusso di lavoro.

Conclusione

Come accennato nell'introduzione, questi strumenti non sono altro che raccomandazioni su dove iniziare con alcuni strumenti per lo sviluppo di WordPress. So che molti di voi hanno le proprie preferenze su ciò che si desidera utilizzare per ciascuno dei criteri sopra indicati.

Detto questo, mi piacerebbe che tutti voi condivideste i vostri strumenti preferiti e perché vi piace usarli nei commenti. In questo modo, i lettori attuali e futuri avranno non solo un post con raccomandazioni, ma anche commenti che forniscono alternative.

Dopotutto, lo sviluppo non riguarda solo la risoluzione dei problemi. Si tratta di trovare strumenti che sono anche un piacere lavorare con le otto ore al giorno che passiamo al computer.