Artiklar / 25 november 2019

Vad är Django?

Django ramverk för webbutveckling
Av Einar Berglund

Django (Ramverk för webbapplikationer)

På Taylerd utvecklar vi våra hemsidor i Django, vilket inte är ett traditionellt innehållshanteringssystem (CMS), utan ett ramverk som är till för att utveckla webbaplikationer i programmeringsspråket Python.

Vad är då skillnaden mellan ett CMS och ett ramverk?

CMS

Ett CMS som står för Content Management System är ett system där man kan hantera olika delar på hemsidan, exempelvis publicera nyheter och produkter och eventuellt beroende på CMS hantera nya sidor och uppdatera text.

De CMS som är vanliga på marknaden idag och som man ser oftast är Wordpress, Drupal, Wix, Squarespace.

RAMVERK

Ett ramverk eller “Web Application Framework” på engelska är en samling mikrofunktioner som gör det enklare att bygga en fullt fungerade webbapplikation från grunden. Ett ramverk är därför i princip en verktygssats av komponenter som alla webbapplikationer behöver för att fungera under huven.

Ett ramverk som Django ger utvecklare en arkitektur för att hantera databaser, logik och det visuella som presenteras för användaren. Det är upp till utvecklaren att definiera strukturen och logiken i applikationen specifikt för det projektet som byggs - så det finns ingen överflödig kod och det ger dig frihet att bygga vad du vill, hur du vill.

Skillnaderna

Med ett CMS är du bunden till systemets struktur och dess möjliga tillägg. Dagens CMS har kommit en lång väg och det finns många tredjepartsmoduler och tillägg som kan ge dig många funktioner. Men trots att det är möjligt att utveckla vidare på ett existerande CMS så kan det snabbt bli rörigt och svårt att förvalta. En större nackdel är att alla funktioner finns i CMSet, trots att du enbart använder och behöver några av dem. Detta gör att hemsidan blir onödigt tung, ökar inladdningsstider och gör det svårare att hantera för användaren.

Med ett ramverk som Django bygger du endast det du behöver. Helt skräddarsytt efter dina behov och med obegränsade möjligheter att utveckla lösningen vidare baserat på vad verksamheten kräver utav den i framtiden.

Med ett CMS som exempelvis Wordpress använder man ofta ett tema för själva designen som gör att många hemsidor riskerar att likna varandra eftersom dessa återanvänds gång på gång av olika företag i samma bransch.

Ramverk driver tusentals webbplatser, men däremot skulle du inte kunna känna igen dem genom att bara besöka dem. De flesta webbplatser som utvecklas med hjälp av ett ramverk har ingen specifik design eller känsla. Ramverkets kod driver bara en del av funktionaliteten bakom webbplatsen vilket alltså inte påverkar hur den ser ut.

De stora CMS-lösningarna på marknaden är också tyvärr populära måltavlor för attacker så fort ett säkerhetshål i systemet upptäckts. Detta leder till höga krav på underhåll och uppdateringar av systemen och alla tredjepartmoduler, vilket ökar den totala kostnaden då dessa i regel måste driftas efter de lanserats av leverantören.

Vilka företag använder Django?

Företag, organisationer och regeringar har använt Django för att bygga alla möjliga saker - från innehållshanteringssystem, sociala nätverk till vetenskapliga datorplattformar och mycket, mycket mer.

Google Django Python
Dropbox Django Python
Instagram Django Python
Spotify Django Python
Youtube Django Python
Nasa Django Python
The Wasington Post Django Python
Udemy Django Python
Mozilla Django Python
National Geographic Django Python
Disqus Django Python
Quora Django Python

Django används inte enbart av enorma bolag med tiotusentals användare per minut. På Taylerd AB levererar vi digitala lösningar för små och medelstora företag. Är du nyfiken på några mer vanliga exempel på hemsidor byggda i Django kan du kika på våra Kundcase här.

Så. Vad kan Django användas till?

Det är lätt att tro att Django är ett system för innehållshantering. I verkligheten är det mycket mer än så. Här kan du se ett par exempel på vad många använder Django för att bygga.

Det finns hundratusentals webbplatser över hela världen med Django i grunden och det fina är att allt är möjligt, stort som smått. Även om du endast behöver en enkel webbplats kan du använda Django.

Django kan användas för att skapa:
  • Client Relations Management (CRM) -system.
  • Innehållshanteringssystem (CMS)
  • Kommunikationsplattformar.
  • Bokningsmotorer.
  • System för dokumentadministration.
  • Algoritmbaserade generatorer.
  • E-postlösningar.
  • Verifieringssystem.
  • Avancerade filtreringssystem.
  • Dataanalyslösningar.
  • System för maskininlärning.
  • Admin dashboards.
  • Förvaltningsverktyg för investeringar.
  • Skräddarsydda E-handlar.

Fördelar med Django

Ekosystem

Till Django finns många färdiga applikationer som kan levereras och integreras direkt. Dessa applikationer kan integreras beroende på projektkrav. För att föreställa dig detta bättre, tänk på Legos. Det finns många olika Lego-block. Vid utvecklingen kan man helt fritt välja vilka Lego-block som ska vara med.

Mognad

Django har funnits i snart 17 år och med så pass stora företag som driver sina webbplatser med Django kan du känna dig trygg med ramverket. Det har genomgått steg av betydande förbättringar där mycket funktionalitet har tagits till perfektion och många nya saker har lagts till.

Snabbhet & SEO

Vill du att din webbplats ska ranka högt i sökresultaten? Eftersom din webbplats enbart innehåller just det du behöver kommer den vara otroligt snabb vilket per automatik leder till en bättre ranking. Med Django har du full kontroll över alla aspekter av din webbplats och därför kan du generera läsbara webbadresser och länkar med de mest relevanta sökorden och bästa metoder för SEO.

Säkerhet

Django tar säkerhet på allvar och hjälper utvecklare att undvika många vanliga säkerhetsfel, till exempel SQL-injektion, skript över flera webbplatser, förfalskning över flera webbplatser och klickjacking. Dess användarverifieringssystem ger ett säkert sätt att hantera användarkonton och lösenord. Utan att konstant behöva oroa dig för om dina “plugins” och applikationer är uppdaterade säkerställer Django enkelt att din applikation alltid är säker.

Python

Django är byggt i programmeringsspråket Python vilket både är ett av de populäraste och snabbast växande språken. När det gäller popularitet gick det från tredje plats förra året till andra plats 2019 enligt Github’s årliga mätning. Python är också känt för att vara lätt att komma igång med vilket har gjort det väldigt populärt bland studerande utvecklare. Detta gör det väldigt enkelt att hitta någon som kan hantera och vidareutveckla din lösning.

Skalbarhet

Django använder en “shared-nothing” arkitektur vilket betyder att du kan lägga på hårdvara i alla led efter behov. Django som ramverk kommer alltså aldrig hindra dig från att kunna hantera dina besökare och användare. Några av de mest trafikerade webbplatserna på planeten använder Djangos förmåga att snabbt och flexibelt skala för att möta de tyngsta trafikkraven. Bra exempel på skalbarheten i Django är att företag som Instagram, Disqus och Mozilla har använt det under många år och har enligt stiftelsen bakom Django hanterat trafik på över 50.000 requests per sekund utan problem.

Oändliga möjligheter

Med Django är du aldrig låst, om du vill ha det, går det att bygga och vidareutveckla. Man kan lätt bli fast i de ursprungliga funktionerna i ett CMS eller “tema”. Med Django kan du bygga vidare åt alla håll, möjligheterna är oändliga att växa tillsammans med ditt företag. Kräver exempelvis er nya säljorganisation plötsligt ett eget CRM eller vill ni kunna rapportera löner och skatter och hantera ett nytt lager kommer ni att kunna utveckla det på er befintliga hemsida. Ni slipper därmed de tunga investeringskostnaderna och den enorma mängd tid som tillkommer vid byte av lösning.

Nackdelar med Django

Inga “Teman”

Det vanligaste argumentet för CMS lösningar som Wordpress och Drupal är deras många “Teman”. Det ger utvevecklare möjligheten att köpa en design och funktionalitet till en låg kostnad och därefter försöka skräddarsy det efter sina egna behov vilket kan korta ner utvecklingstiden.

“No magic”

Med Django får du ingen magi som med många CMS - att saker och ting bara händer utan att du kan ta reda på varför eller hur de fungerar. I Django bygger du själv allting och har full insyn i den underliggande arkitekturen.

Kostnad

Det kan bli dyrare initialt att utveckla en lösning med Django om ett CMS redan existerar som kan erbjuda exakt de funktioner som man söker. Behöver man vidareutveckla eller skräddarsy en CMS-lösning kan det dock ofta ändå bli precis samma kostnad.

Vilka ligger bakom Django?

Django skapades av två programmerare som arbetade för Lawrence Journal-World i Kansas 2003. Tidningen behövde en webbapplikation för att publicera nyheter online. Så småningom insåg skaparna av Django att deras lösning hade utvecklats till ett riktig ramverk och gjorde den tillgänglig för allmänheten.

Idag står stiftelsen “Django Software Foundation” bakom utvecklingen av Django. Stiftelsen är en ideell organisation, precis som många andra rena “Open Source”-projekt och stiftelsen finansieras genom donationer från många företag som t.ex. Instagram, Zapier, 23andMe och Jetbrains.

Stiftelsen mål:
  • Stödja utvecklingen av Django genom att sponsra tävlingar & events.
  • Främja användningen av Django över hela världen för webbutveckling.
  • Skydda immaterialrätten och ramverkets långsiktiga livskraft.
  • Ständigt avancera det senaste inom webbutveckling.

Sammanfattning:

Django är ett fantastiskt ramverk för projekt som behöver hantera stora mängder innehåll, användarinteraktioner, tung trafik, eller ta itu med komplexa funktioner och teknik.

Ändå är det helt perfekt för mindre hemsidor eftersom du endast bygger precis det du behöver. Med Django kan du ständigt utveckla och bygga vidare din hemsida, möjligheterna är oändliga.

Tycker du Django är lika fantastiskt som vi? Om du tog dig igenom hela denna artikel måste vi nästan utgå från det! Vi söker alltid fler utvecklare till våra projekt. Maila info@taylerd.com med en spontanansökan så bjuder vi på kaffe!

Är du nyfiken på en ny hemsida? Kontakta oss då via knappen här nedan så berättar vi mer.