Preprosessorit, rumentajat ja muut
Web-kehittäjät ympäri maailmaa ovat jo pitkään keränneet arsenaaleihinsa toinen toistaan kätevämpiä kehitystyökaluja, jotka automatisoivat tiettyjä toistuvia kehitysrutiineita. Hyviä esimerkkejä tällaisista rutiineista ovat esimerkiksi tyylitiedostojen yhdistely yhteen tiedostoon tai Javascript-tiedostojen pieneen tilaan pakkaaminen eli uglifiointi (rumennus).
Sama ilmiö on ottanut alaa myös WordPress-maailmassa, ja nohevilla WP-devaajilla riittää päivittäin keskusteltavaa uusimmista webpack-moduuleista ja gulp-plugineista.
Keskiverto WP-kehittäjä vuonna 2016 käyttääkin vähintään yhtä CSS-preprosessoria ja assetinrumentajaa. Lähde: kysyin toimiston devaajilta.
Protip: Läppärin tarrat paljastavat kehittäjän kiiman työkaluihin.
Selkeä viime aikojen trendi näiden työkalujen kehityksessä on ollut web-kehittäjille tutun Javascriptin käyttö moottorina. Tämän kehityksen on mahdollistanut palvelimen puolella ajettava Javascript-moottori NodeJS.
Useimmat kehittäjät työskentelevätkin mielellään lokaalisti omalla kehityskoneellaan, jolle on asennettu NodeJS, sekä projektiin tarvittavat työkalut: Gruntit, Gulpit tai muut.
Yleinen ongelma WordPress-kehittäjien parissa on, että ne tutut kehitystyökalut eivät löydykään WordPress-palvelimen puolelta. Monet hosting-tarjoajat eivät tarjoa edes SSH-yhteyttä, puhumattakaan työkaluista kuten npm:stä tai libsassista.
Ongelmaan on monia ratkaisuja, kuten prosessoitujen tiedostojen leipominen valmiiksi kehityskoneella, ja työntäminen palvelimelle valmiiksi prosessoituna. Epätoivoisimmat ovat jopa kehittäneet PHP-vastineita työkaluille, joita voidaan ajaa myös halvimmassa shared-hostingissa.
WP-palvelu on alusta asti halunnut antaa kehittäjälle mahdollisuuden käyttää tuttuja työkaluja myös staging- ja tuotantoympäristöissä. Tämä helpottaa sivuston kehittämistä huomattavasti, kun voi suoraan versionhallinnasta pushata uuden commitin, ja kehitystympäristöstä tutut työkalut pyöräyttävät prosessoidut tiedostot palvelimelle automaattisesti. Tämä ei olisi mahdollista ilman SSH-yhteyksiä, Git-tukea tai NodeJS:ää palvelimella.
Mitä muuta tällä voi tehdä?
Työkalut eivät suinkaan ole ainoa asia johon NodeJS:ää voi käyttää. Tästä hyvä esimerkki on WordPress.com:n uusi Calypso-käyttöliittymä, joka toimii vaihtoehtoisena hallintaliittymänä WordPressin tutun adminpaneelin rinnalla.
Node.js:ää voi Calypson tapaan siis käyttää omana web-palvelimena, jota ajetaan esimerkiksi rinnakkain WordPressin kanssa. NodeJS-sovellukset voivat hyödyntää näppärästi WordPressin REST-API -toimintoja.
Muutama WP-palvelun edelläkävijäasiakas onkin jo päätynyt käyttämään NodeJS:ää palvelimena rinnakkain WordPressin kanssa omilla sivustoillaan. Erilaisia käyttötarkoituksia ovat olleet mm. websocket-palvelimet, jotka mahdollistavat reaaliaikaisia käyttökokemuksia useiden käyttäjien kesken, sekä teemamarkupin generointi templatesta oikean isomorfisuuden saavuttamiseksi.
NodeJS:llä ja WordPressillä saa aikaan vaikuttavia, moderneja, mutta myös helppokäyttöisiä ja laajennettavia verkkopalveluita. Tulevaisuudessa tulemme varmasti näkemään tämän parivaljakon useamminkin uusissa ketterissä verkkopalvelutoteutuksissa.
Kuulostaa hyvältä!
Kaikkiin WP-palvelun paketteihin sisältyy jo valmiiksi NodeJS sekä paljon muita hyödyllisiä työkaluja kehittäjille. Jos kiinnostuit asiasta tai sinulle heräsi kysymyksiä, ota rohkeasti yhteyttä, ja autamme mielellään sinuakin rakentamaan seuraavan modernin verkkopalvelun WordPressin ja NodeJS:n avulla.