Ohjelmistokehitys.

Laadukas koodi on toimivan ja turvallisen verkkopalvelun edellytys.

ohjelmistokehitystä
ohjelmistokehitystä mobiili

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.

Sisällys:

Tällä sivulla käsitellään verkkopalveluprojektin ohjelmistokehityskäytänteitämme ja niiden merkityksiä:

  • Miksi koodata hyvin?
  • Räätälöidyt ratkaisut
  • Ohjelmointikäytänteet
  • Versionhallinnat ja käyttöympäristöt
  • Palvelinratkaisut

Tinkimätöntä teknistä toteutusta

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ä:

  • Palvelu on toimiva, helppokäyttöinen ja nopea loppukäyttäjän näkökulmasta
  • Palvelu tarjoaa kattavat ja joustavat sisällönhallintamahdollisuudet asiakkaamme tiimille
  • Palvelun on toimintavarma ja kestää suurtakin kuormitusta
  • Palvelu on tietoturvallinen ja huolellisesti varmuuskopioitu
  • Palvelu toteutetaan hakukoneoptimaalisesti
  • Palvelu täyttää saavutettavuuskriteerit

Räätälöitävyys

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.

Ohjelmointikäytänteet

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.

Versionhallinta ja ympäristöt

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.

  • kehitys: ympäristö, jota käytetään ohjelmoidessa
  • staging: ympäristö, johon koodimuutokset ajetaan esikatselua ja testausta varten
  • tuotanto: live-ympäristö, jota kaikki kansa käyttää

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.

Palvelinratkaisut

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.

Lisää ohjelmistokehityksestä:

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ää

Verkkosivut_kuvitus

Jätä tarjouspyyntö.

Vastaamme tarjouspyyntöihin pikaisesti, laadukkaasti ja perusteellisesti. Osaamme. Innostumme. Onnistumme.