Reilu puolitoista vuotta sitten sain monen kehittäjän niskakarvat nousemaan pystyyn kirjoittamani kirjoituksen Sori kehittäjä -vuoksi, koska kieli poskessa kutsuin meilläkin vuosia käytössä ollutta Reactia hipsteriteknologiaksi.
Monilla kehittäjillä kirjoituksen lukeminen pysähtyi kyseiseen kappaleeseen ja koko kirjoituksen pointti meni monelta ohi.
Tiivistetysti yrityksissämme teknologiavalintoja ohjaa viisi käytännöllistä perusperiaatetta:
- käytettävä teknologia ratkaisee asiakkaan oikean ongelman tai tarpeen
- teknologialla toteutetuille ratkaisuille on riittävän laaja kysyntä
- teknologian vakaus ja jatkuvuus on taattu
- teknologialle löytyy riittävästi osaavia tekijöitä
- teknologia on kehittäjäystävällinen
Sori kehittäjä -kirjoituksen pointti oli, että kohta 5 on liiketoiminnan kannalta vain yksi osa ja myös muiden tulee toteutua ennen kuin tietyn teknologian päälle voidaan rakentaa kestävää, asiakaslähtöistä, liiketoimintaa.
Muiden pyöritellessä silmiä kivikautisille teknologiavalinnoillemme, olemme kaikessa hiljaisuudessa virittäneet tuotekehityskoneistomme kehittämään seuraavan sukupolven Headless WP -toteutusta, jossa WordPressiä käytetään ainoastaan sisällön hallintaan ja käyttöliittymä rakennetaan Reactilla ja lopputulos generoidaan staattiseksi sivustoksi.
Osana tätä tuotekehitystä olemme julkaisseet WPGraphQL:ään kaksi lisäosaa avoimena lähdekoodina: kieliversiotuen lisäävän Polylang-lisäosan ja kyselyt lukitsemalla tietoturvaa parantavan WP GraphQL Lock -lisäosan.
Tulevaisuuden WP-kehitystä
Työnimellä ”Valu WPNext” -kulkevassa ratkaisussa on useita etuja verrattuna perinteiseen WordPress-toteutukseen.
Ylläpitäjän näkökulmasta käytössä on samat tutut ylläpitotyökalut kuin perinteisessäkin toteutuksessa, jolloin tarvetta uuden järjestelmän opiskelulle ei ole. Sisältömuutosten teko helpottuu, koska uudet sisällöt voidaan rakentaa kerralla valmiiksi sisällöntuotantoympäristössä, josta valmis ”sivustoversio” voidaan viedä yhdellä napin painalluksella staattiseksi sivustoksi.
Kehittäjän näkökulmasta käytössä on moderneimmat mahdolliset työkalut ja rajapinnat, jotka mahdollistavat helppokäyttöisten, näyttävien ja nopeasti latautuvien käyttöliittymien rakentamisen ja niiden testaamisen parhailla mahdollisilla työkaluilla.
GraphQL:n avulla päästään eroon REST-pohjaisten toteutusten kahdesta perusongelmasta: ensinnäkin pyyntömäärät saadaan kuriin, kun yhdellä pyynnöllä voi hakea kaiken näkymän tarvitseman datan. Toiseksi dataa voidaan hakea aina vain tarvittava määrä. Lisäksi koko kehitysprosessin läpäisevä tyypitys helpottaa kehitystä, parantaa koodin laatua ja vähentää virheitä tuotantoympäristössä.
Huipputason tietoturvaa ja suorituskykyä
Tietoturvan taso saadaan nostettua uudelle tasolle, koska ylläpito ja julkaisuympäristö voidaan sijoittaa tuotantoympäristöstä erilliseen ja tarvittaessa rajattuun ympäristöön, josta sivuston ylläpitäjä voi omatoimisesti viedä sivuston staattiseksi sivustoksi.
Staattisen sivuston etuna on nopeuden lisäksi rajaton vertikaalinen skaalautuminen, mikä takaa, että sivusto kestää kuormaa ja hakkerointiyrityksiä ja palvelee käyttäjiä nopeasti kaikissa tilanteissa.
Alustan arkkitehtuuri tukee myös hybridimallin sivustoja: kaiken ei välttämättä tarvitse olla staattista, vaan staattiselle sivustolle voidaan toteuttaa dynaamisia osioita, joihin voidaan tuoda ja yhdistellä dataa WordPressin lisäksi eri lähteistä.
Reaaliaikainen esikatselu sisällöntuottajille
Sivustogeneraattoreihin, kuten Gatsbyyn, verrattuna kehittämämme ratkaisu tarjoaa samoja etuja, mutta lisäksi se ratkaisee niiden suurimman ongelman eli tarjoaa reaaliaikaisen esikatselun sisällöntuottajille staattisen sivuston ja taustajärjestelmän väliin sijoitettavan esikatselupalvelimen avulla. Esikatselupalvelimen avulla esikatselu saadaan myös sisällöntuottajien saataville, kun se tyypillisesti on ollut staattisen sivustogenerattorien kohdalla vain kehittäjien käytettävissä.
Toinen merkittävä selvityksessä oleva asia on staattisen sivuston osittaisgenerointi. Suurten sivustojen kohdalla koko sivuston generointi staattiseksi voi viedä useita minuutteja ja sivumäärän kasvaessa jopa tunteja. Kun tuotantoon voitaisiin viedä vain muuttuneet osat, generointiaika saataisiin pysymään siedettävänä myös suurten sivustojen kohdalla.
Avoimena lähdekoodina kaikkien saataville
Alustasta ei ole tarkoitus rakentaa perinteiden ratkaisujen korvaajaa, vaan tarjota vaihtoehto tilanteisiin, joissa tarvitaan huippuluokan suorituskykyä, tietoturvaa ja toimintavarmuutta. Käytännössä alusta avaa WordPressille täysin uuden markkinan ja vahvistaa sen tulevaisuutta entistä monipuolisempana julkaisualustana.
Ensimmäiset uuden alustan päälle toteutettavat sivustot on tarkoitus julkaista vuoden 2019 aikana. Mikä parasta, koko WPNext-alusta on tarkoitus julkaista avoimena lähdekoodina tulevana syksynä.
Näin saamme maailman suosituimman julkaisujärjestelmän yhdistettyä huipputason tietoturvaan, suorituskykyyn ja parhaisiin kehitystyökaluihin.
Päätöntä menoa, eikö?
Ps. Lue myös kirjoituksen jatko-osa: ”WordPress-kentässä on nyt Headless-huumaa”.