Django vs Drupal

Anders Inno totesi blogikirjoituksessaan ”Tietoturva, räätälöitävyys, tehokkuus - Miksi valita Django Drupalin sijaan” Python-pohjaisella Djangolla olevan selkeitä etuja PHP-pohjaiseen Drupaliin verrattuna. Näihin etuihin luettiin muun muassa räätälöitävyys, nopeus sekä tietoturva. Meillä Vaiste Productionsissa on oma näkemyksemme asiaan liittyen. Käytämme lähes jokaisessa projektissamme Drupalia tai PHP-pohjaista ohjelmistokehystä.
 

Vastakkainasettelu vaikeaa

Drupal mainostaa itseään sisällönhallintajärjestelmänä. Tämän myötä se joutuu tekemään oletuksia järjestelmän rakenteessa, esimerkiksi käyttäjien ja käyttöoikeuksien hallinnassa. Verrattuna muihin sisällönhallintajärjestelmiin Drupal on kylläkin paljon monipuolisempi ja joustavampi sekä siinä on tiettyjä ohjelmistokehyksen ominaisuuksia.

Django taasen on ”framework” eli ns. ohjelmistokehys. Se toimii alustana, johon voi rakentaa verkkosovelluksia tai – sivustoja. Tämä tarjoaa kehittäjälle/suunnittelijalle mahdollisuuden luoda juuri sellaisen rakenteen sovellukselle tai sivustolle kuin hän itse haluaa.

Nämä kaksi alustaa ovat lähtökohdiltaan erilaiset, joten niiden vertailu on lähestulkoon mahdotonta. Molemmille alustoille löytyy oma tarkoituksensa, mutta sivustojen toiminnallisuus voi olla täysin erilainen.

Huomioon otettava seikka on myös se, että Djangoon perustuviin sivustoihin menee enemmän aikaa sekä rahaa. Djangolla sivustoja tehtäessä joudutaan aloittamaan niin sanotusti alusta sivuston toteutus ja tekemään toiminnallisuuksia, jotka löytyvät Drupalin ytimestä jo valmiina ja suuren yhteisön testaamana.
 

Turvallisuus

Bugiton ohjelmisto on lyhyesti sanottuna mahdottomuus. Alustan tai sivuston kehittäjän on mahdollista luoda tietoturva-aukkoja huomaamattaan. Siksi onkin tärkeää, että nämä aukot tutkitaan huolellisesti.

Djangossa sivuston kehittäjä on itse vastuussa sivuston turvallisuudesta. Riippuen hänen ratkaisuistaan, eri tietoturva-aukot ovat mahdollisia. Drupalin ytimen ja moduulien tietoturvan tarkistaa suuri kehittäjäyhteisö kokoajan. Kuinka monta henkilöä tarkistaa yksittäisen kehittäjän luoman Django-sivuston tietoturvan? Ei kovin moni.

Drupalin ydin on rakennettu rajoittuneeksi, jolloin muun muassa SQL-injektiot ovat mahdottomia. Drupalilla on myös aktiivinen ”turvallisuustiimi”,joka taistelee tietoturvan vuoksi päivittäin. Djangon turvallisuuspäivityksistä ei useasti ilmoitella.
 

Kielierot

Python on vanhempi ohjelmointikieli kuin PHP ja sillä on pitempi historia eri sovelluksien pohjana. Molempia kieliä kyllä päivitetään ahkerasti ja niistä julkaistaan uusia versioita aina vähän väliä. Pythonista on tällä hetkellä kaksi ”pääversiota” ulkona (3.2.2 ja 2.7.2) jotka eivät ole keskenään yhteensopivia. Tämä hämmentää kehittäjiä ja esimerkiksi Django käyttää vanhempaa 2.7.2. – versiota.
PHP:stä kannattaa muistaa se, että se on kehitetty nimenomaan web-ympäristöä varten, toisin kuten Python. Sillä on suurempi kehittäjäyhteisö kuin Pythonilla ja mahdolliset bugit ja ratkaisut löytyvät siten tehokkaammin.
 

Loppusanat

Mikään sisällönhallintajärjestelmä tai ohjelmistokehys ei ole sellainen, joka sopisi jokaiselle sivustolle. Jokaisella sivustolla on eri tarpeita ja vaatimuksia toiminnallisuuden suhteen, ja tämän takia oikeaa alustaa kannattaa miettiä tarkkaan. Mikäli halutaan nopeasti käyttöönotettava, suuren yhteisön testaama ja erittäin räätälöitävä sisällönhallintajärjestelmä, suosittelen itse Drupalia. Mikäli halutaan luoda laajempi ja täysin räätälöitävä sivusto, tällöin Django tai muu web-ohjelmistokehys on ratkaisu.

Jaa tämä kirjoitus

Kirjoittaja

Kristian Polso

Kristian on vastuussa VP:n tuotannosta. Taustaa löytyy verkko-ohjelmoinnista niin koulutuksen kuin työkokemuksen myötä.

Google Plus

Kommentit

comments powered by Disqus