Nyhetsbrev

Få artiklar, råd och tips om:

Du kan läsa mer om vår policy och vår hantering av persondata här

Vad är ramverk?

Vad är ramverk?

av Frida Nyvall

I takt med att webbtekniken går framåt, har begreppet ramverk (sk. ”frameworks”) blivit allt viktigare när det kommer till att bygga större eller medelstora applikationer.

Ramverk är omfattande plugins eller hjälpbibliotek, som används för att förbättra redan existerande programmeringsspråk. Ramverk används för att lägga till funktionalitet eller för att förenkla hantering och processer. De kan ses som verktyg eller tillägg till ett programmeringsspråk för att göra det enklare för programmerare att utföra vissa operationer.

OBS

!

Ett ramverk är i sig självt inte ett programmeringsspråk.


Exempel

Tänk att du vill göra en jordgubbssmoothie. Du kan använda en kniv för att hacka bären i små små bitar. Men om du använder en mixer får du mycket snabbare ett ännu bättre resultat. Ytterligare en fördel är att du enkelt kan be din kompis fortsätta göra flera smoothies – med exakt samma finmixade resultat eftersom mixerns inställning standardiserat hur bären hackas. I det här exemplet motsvarar mixern ramverket.


Varför använda ett ramverk?

Om ramverk är till för att förenkla och effektivisera programmering, borde de inte användas hela tiden, överallt?

Att använda ett ramverk innebär att förbinda sig till att använda en specifik teknik, och därmed standardisera utvecklingen. Om ramverket är tillräckligt populärt kan det blir lättare att involvera nya utvecklare, eftersom de redan känner till kodstrukturen.

Att lägga till ett ramverk ökar dock även kodens komplexitet och vikt.

Komplexitet handlar om hur svårt det är att integrera ramverket med andra tekniker, och hur svårt det är för utvecklare att lära sig och använda. Ett väldigt komplicerat ramverk kan förmodligen användas till många saker, men till priset av att ramverket blir svårare att hantera. Jämför t.ex. en mixer med bara en knapp för start och stopp, med en mixer som har 20 olika inställningar.

Vikt: Ju längre en kodfil är, desto tyngre är den sett till vikt i GB. Ramverk är extra kod som läggs till en webbapplikation eller webbsida. Tyngre filer påverkar webbsidans laddningstid och hastighet (ofta benämnt ”performance”), vilket innebär att sidan laddas långsammare. Hur snabbt en webbsida laddas kan ha stor påverkan på affärsrelaterade mättal, som försäljningssiffror och omvandlingsfrekvens (conversion rate). Kort sagt: en långsam webbsida leder till mindre vinst.


Använd ett ramverk när…

Använd ett ramverk när den extra funktionaliteten ramverket erbjuder behövs, eller när behovet av dessa funktioner bedöms vara viktigare än att webbsidans komplexitet och vikt ökar.

Använd inte ett ramverk om det egentligen inte behövs – även om det kan vara bekvämt för utvecklarna att använda samma verktyg som de är vana vid.

För att gå tillbaka till smoothie exemplet. Tänk att du ville ha ett glas vatten och inte en smoothie. Det är ingen mening med att ta fram mixern och mixa ett glas vatten.


Hur väljer man rätt ramverk?

I en värld där nya ramverk, byggverktyg och arbetssätt introduceras och överges kontinuerligt och i snabb takt, kan det vara en utmaning att välja ett ramverk som bedöms vara modernt i mer än två år.

Att välja rätt ramverk kan sammanfattas som att välja rätt verktyg för uppgiften. Om du bara behöver ett glas vatten, är det ingen mening att plocka fram hela köksarsenalen. Om du behöver en smoothie är det en god idé att använda en mixer, särskilt om du även planerar att delegera produktionen av smoothies till någon annan.

Licenser och användningsområden

Förutom rena tekniska skillnader, kan det också vara relevant att väga in licenser och hur ramverkets skapare kan komma att påverka ramverket i framtiden. De största och mest populära ramverken är skapade av stora och inflytelserika företag (som Facebook och Google), som självklart har egna ambitioner och planer för ramverkets användningsområden.

Även om ett ramverk är gratis att använda och dess användningsområde stämmer med vad du vill bygga just nu, kan det komma att ändras i framtiden.

För mer information om skillnaderna mellan de tre mest populära (JavaScript) ramverken (för webbutveckling) just nu, se artikeln ”Frameworks: Comparing Angular.js, React.js, and Vue.js”.

Tags

Fler inlägg

img

Bättre SEO – grundläggande tips

img

Ordlista för webbdesign och webbutveckling

img

Trender i webbdesign 2019