Django

Django ei ole sisällönhallintajärjestelmä

“Onko tämä Django vähän niinkuin joku uusi kilpailija WordPressille?” Siinä lause, jonka olen nyt kuullut muutaman kerran puhuessani vähemmän tekniikan kanssa työskenteleville ihmisille Djangosta. Mainittujen alustojen lähtökohdat ovat jo huomattavan erilaiset, vaikka niillä voikin tehdä myös samoja asioita. Ehkä onkin syytä hieman selvittää, mitä eroa Djangolla ja Worpressillä pohjimmiltaan on.

Sisällönhallintajärjestelmä on kaikkialla

Sisällönhallintajärjestelmät (Content Management System) ovat muuttaneet verkkosivujen toteuttamista ja muokkaamista huomattavasti. WordPressin suosio alkaa olla jo vanha uutinen, mutta maailmanvalloituksesta voit lukea lisää muun muassa Timon blogauksista ja WP-oppaasta.

Sanottakoon nyt kuitenkin, että WordPress on maailman suosituin CMS-järjestelmä ja sitä käyttää n. 40% maailman Top 100k CMS:n päälle toteutetuista internet sivustoista. Vaihtoehtojakin WordPressille on huomattava määrä. Näistä käytetyimpiä ovat Joomla ja Drupal.

Django on sovellusviitekehys

Aloitetaan yhdellä keskeisellä asialla: Django ei itsessään ole CMS, siinä missä WordPress, Joomla ja Drupal ovat (Drupalinkin tarina on itseasiassa hieman monimutkaisempi, mutta tästä ehkä lisää jossain muussa blogauksessa). Django on sovellusviitekehys. Djangon päälle toteutettujen verkkopalveluiden sisältöä on kuitenkin mahdollista hallita CMS-käyttöliittymällä, joka sisältää samoja sivujen editointiin tarkoitettuja piirteitä mitä löytyy esimerkiksi WordPressistä.

No mitäs tämä nyt sitten oikeasti tarkoittaa? Perinteistä talonrakennus -esimerkkiä käyttäen voitaisiin sanoa, että jos Django on kuin talon perustukset tukirakenteineen, WordPress on valmis elementtitalo, jossa ikkunoiden ja ovien paikat on määritelty jo tehtaalla.

Django tarjoaa kehittäjälle lähtökohdat ja työkalut kehitykseen, mutta lopullinen tuote riippuu täysin kehittäjän ratkaisuista. WordPress puolestaan tarjoaa loppukäyttäjälle suunnatun valmiin tuoterungon, joka on käyttövalmis suoraan asennuksen jälkeen. Kehittäjän on mahdollista muokkailla ulkoasua ja tuotteen ominaisuuksia – tietyin rajoituksin.

Erilaiset ohjelmistovaihtoehdot

Sovelluskehys takaa räätälöitävyyden

Jos alat törmätä vaikkapa WordPressin kanssa ongelmiin alustan skaalautuvuudessa palvelusi kasvun yhteydessä, käyttäjäoikeuksien ja käyttäjäryhmien hallinnassa, tai integroitavuudessa ulkoisiin tietojärjestelmiin, tuoterungon rajat ovat todennäköisesti tulossa vastaan. Ongelmien korjaaminen saattaa pahimmillaan vaatia WordPressin osioiden täydellistä uudelleenkoodaamista, mikä tuskin koskaan on kannattavaa.

Sovelluskehyksessä alustan rakenne on suunniteltu kehittäjän tarpeet huomioiden, mikä mahdollistaa sen taipumisen eri tarkoituksiin. Sovelluskehys ei myöskään aseta jatkokehitykselle rajoitteita, mikäli palveluun halutaan myöhemmin toteuttaa uusia ominaisuuksia.

Räätälöity sovellus mielletään usein suurena kustannuseränä. On totta, että projektikustannukset räätälöityjä palveluita toteutettaessa ovat yleensä suuremmat, kuin valmiita ratkaisuja käytettäessä – mitäpä hyötyä valmiista paketista muuten olisi. Mikäli parin vuoden päästä kuitenkin toteat, että valitsemasi alusta ei enää taivukkaan tarpeisiisi, vaihdosta aiheutuvat kustannukset nousevat varmasti suuremmiksi.

img 626a206138acc

Miten valita ohjelmistoalusta?

Keskeistä alustan valinnassa on selvittää, täyttääkö valmis tuoterunko nykyiset ja tulevat palvelusi tarpeet. Jos tarpeena on ylläpitää esimerkiksi sisältökeskeistä verkkopalvelua, joka ei ole riippuvainen ulkoisista tietojärjestelmistä, valmis tuoterunko on todennäköisesti paras ja edullisin ratkaisu.

Kun kaikkia tarpeita vastaavaa valmista vaihtoehtoa ei löydy, on syytä harkita sovelluskehyksen käyttöä. Jos tarkoituksena on luoda uutta liiketoimintamallia tukeva verkkopalvelu, palvelun on parempi mukautua ja räätälöityä liiketoiminnan vaatimuksiin, eikä toisinpäin.

Alustan valinnan kanssa et luonnollisesti joudu pähkäilemään yksin. Pätevä IT-toimittaja osaa soveltaa valinnan tarpeidesi mukaan, ja perustella tehtyä päätöstä selkokielellä. Palvelun ostajan näkökulmasta on kuitenkin hyvä ymmärtää, miks mm. Django- ja WordPress-projekteilla on erilainen hintalappu.

Erkki Kallio

Chief Operating Officer

Lue lisää aiheesta