Ohjelmistokehitys.
Laadukas koodi on toimivan ja turvallisen verkkopalvelun edellytys.
Laadukas koodi on toimivan ja turvallisen verkkopalvelun edellytys.
Verkkopalvelu voi olla hienosti muotoiltu ja luovasti suunniteltu, mutta vasta tekninen toteutus määrittelee palvelun lopullisen mahdin. Hyvä suunnitelma muuttuu toimivaksi ja turvalliseksi verkkopalveluksi vasta koodiriveillä. Kun koodari kirjoittaa koodia, siihen liittyy paljon samankaltaisia hyviä käytäntöjä kuin kirjoittamiseen ylipäätään.
Tällä sivulla käsitellään verkkopalveluprojektin ohjelmistokehityskäytänteitämme ja niiden merkityksiä:
Minkä tahansa verkkopalvelun menestyksen edellytykseen, eli käyttökokemukseen, vaikutetaan myös verkkopalvelun teknisessä toteutuksessa. Esimerkiksi pitkä latausaika tai toiminnallisuuksien epäselvä toiminta tekee verkkopalvelun käyttämisestä hidasta, hankalaa ja ärsyttävää. Responsiivisuus- tai saavutettavuusongelmat häiritsevät ja jopa raivostuttavat käyttäjiä.
Me noudatamme parhaita mahdollisia ohjelmointikäytänteitä varmistaaksemme asiakkaidemme verkkopalveluiden toimivuuden, tietoturvan ja pitkäikäisyyden. Verkkosivu ja -kauppahankkeissa varmistamme teknisen toteutuksen aikana tapahtuvilla valinnoilla ja ratkaisuilla sen, että:
Nykyisessä sisällönhallintajärjestelmiä ja niiden valmisteemoja sekä lisäosia pursuilevassa web-maailmassa koemme tärkeäksi kuvata sen, kuinka me toteutamme verkkopalveluita.
Myös ohjelmistokehityksessä pohdimme, mitkä ratkaisut ovat parhaita juuri kyseisen asiakkaan liiketoiminnallisten tavoitteiden saavuttamiseksi. Usein ratkaisuehdotuksemme pohjaa avoimen lähdekoodin sisällönhallintajärjestelmän hyödyntämiseen, muttei suinkaan aina.
Useimmiten verkkopalveluhankkeessa tärkeää on se, ettei valitut toteutusteknologiat aiheuta rajoitteita tai reunaehtoja loppukäyttäjän näkökulmasta. Emme esimerkiksi koskaan valitsisi verkkosivu-uudistukseen käyttöön sellaisia teknologioita, joiden myötä verkkopalvelun käyttökokemusta ei saataisi toteutettua täysin räätälöidysti. Eli parhaaksi mahdolliseksi.
Me suunnittelemme ja toteutamme kaikki verkkopalvelut räätälöidysti hyödyntämättä WordPressin tai minkään muunkaan sisällönhallintajärjestelmän valmisteemoja. Lisäosia (plugin) pyrimme tarkastelemaan kriittisesti. Käyttöön valikoituukin ainoastaan tarkoituksenmukaisia, toimivia ja varmasti tietoturvallisia lisäosia.
Tämä tarkoittaa sitä, että kun suunnittelemme verkkopalvelun, suunnittelemme sen tyhjälle ja puhtaalle paperille. WordPress ei täten toimi rajoittavana tekijänä. Päinvastoin – se tarjoaa mahdollisuuksia.
Hyvä koodi ei ole kirjoitettu pelkästään ohjelman suoritettavaksi vaan myös luettavaksi. Koska koodia tullaan kuitenkin myöhemmin myös ylläpitämään ja jatkokehittämään, sitä pitää pystyä myös lukemaan.
Hyvä jäsentely, sisentäminen ja sopivan mittaiset ”kappaleet” tekevät koodista helppolukuista, jolloin koodarin on silmäilemällä helppo ymmärtää, mitä koodissa missäkin kohdin tapahtuu. Kun myös muuttujien ja toimintojen nimeämiset on tehty harkiten ja toimintalogiikat kuvattu selkeillä kommenteilla, on muutosten tekeminen helpompaa ja riskittömämpää.
Kun verkkosivustoa koodataan jonkin alustan tai julkaisujärjestelmän päälle, kuten useimmiten tehdään, on tärkeää noudattaa alustan omia käytäntöjä ja malleja sekä myös hyödyntää alustan tarjoamia sisäänrakennettuja toimintoja ja muita mahdollisuuksia. Näin toimimalla muun muuassa pienennetään sitä riskiä, että jokin räätälöity osa koodia hajoaisi alustojen päivityksien yhteydessä.
Me koodaamme parhaiden mahdollisten käytänteiden mukaisesti.
Käytämme Atlassianin Bitbucket-palvelua lähdekoodien versionhallintaan sekä Bitbucket Pipelinesia koodimuutosten julkaisuun. Versionhallintaan pystytämme erilliset haarat niin kehitys-, staging-, kuin tuotantoympäristöllekin.
Code review -käytänteidemme mukaisesti monihenkisessä ohjelmistokehittäjiemme työryhmässä vähintään kaksi asiantuntijaa käy koodimuutokset läpi ennen niiden hyväksymistä. Bitbucketin Pipelinesin CI/CD-ominaisuudet mahdollistavat komentoriviltä ajettavat koodin tarkistukset (lint) ja yksikkötestit (unit test) sekä koodin tietoturvaskannauksen Snyk-ohjelmistolla ennen julkaisua staging- tai tuotantoympäristöön.
Me emme tarjoa palvelinratkaisuita asiakkaillemme. Tämä mahdollistaa sen, että kykenemme valitsemaan juuri asiakkaamme tarpeeseen soveltuvat palvelinratkaisut käyttöömme. Tai toisaalta kykenemme joustavasti hyödyntämään mahdollisesti jo olemassa olevia, asiakasorganisaatiosta ennalta määrättyjä palvelinratkaisuita.
Palvelimen suhteen valinta perustuu useimmiten palvelimen skaalautuvuuteen, tietoturvaan sekä mahdollisuuksien mukaan kotimaisuuteen.
Bisneskriittiset verkkopalvelut asennamme useimmiten Cloudflare-välityspalvelimen taakse. Cloudflare ehkäisee palvelun kaatumista sekä suurien kävijämäärien että palvelunestohyökkäysten osalta.
Kehitysprosessi, eli se, missä järjestyksessä asiat tapahtuvat, keitä toteutukseen osallistuu ja mitkä ovat sprint-käytänteemme?
Lue lisää
WordPress ja WooCommerce, nuo maailman suosituimmat sisällönhallinta-alustat. Miksi ja miten me hyödynnämme sen mahdollisuuksia lähes kaikissa projekteissamme?
Lue lisää
Integraatiot, eli kahden eri järjestelmän yhdistäminen, jotta tieto voi liikkua sujuvasti järjestelmärajapintojen välillä. Yhä useammin verkkopalveluprojekteihin liittyy erilaisia integraatiota. Me olemme erittäin kokeneita integraatioasiantuntijoita.
Lue lisää
Vastaamme tarjouspyyntöihin pikaisesti, laadukkaasti ja perusteellisesti. Osaamme. Innostumme. Onnistumme.