JavaScript-ramverk för webbutveckling: En jämförande studie för utveckling av moderna webbapplikationer
2022 (Swedish)Independent thesis Basic level (university diploma), 5 credits / 7,5 HE credits
Student thesisAlternative title
JavaScript frameworks for web development : A comparative study for developing modern web applications (English)
Abstract [en]
Ever since JavaScript was invented and used for creating interactive user interfaces,developers have had a need to use some sort of framework to enable them to create interactive interfaces in an easier way. Over time the demands have increased for these interfaces and today, modern web development means using aSPA framework to create user interfaces.
Our study seeks to investigate which frameworks are amongst the most popular,to then look at how and why this came to be. The choice of frameworks this studyis focusing on is limited to the three most popular frameworks - React.js, Angularand Vue.js. The popularity of a framework is decided by using collected data fromplatforms such as Github and StackOverflow.
The areas we chose to take a closer look at were performance and the learnabilityof the framework. To investigate further we used previously conducted studies that we have compiled to see if there are any meaningful conclusions to be made from it.
From our study we have concluded that there is no meaningful difference between React.js, Angular and Vue.js with regards to performance. Therefore, the performance of the framework is not relevant to its popularity between these three frameworks.
A common denominator for the three frameworks is how they choose to handle DOM operations - either through a virtual DOM or the shadow DOM API. How a framework handles its operations on the DOM has a significant impact on the performance of the framework. This might be an interesting topic for further studies - to see if there is any correlation between how the framework handles DOM operations and its popularity.
Abstract [sv]
Sedan JavaScript kom till och började användas för att skapa interaktiva gränssnitt för webbplatser så har det funnits ett behov för webbutvecklare att enklare kunna skapa dessa gränssnitt med hjälp av någon form av ramverk. Kraven på gränssnitten har med tiden ökat och modern webbutveckling innebär idag att man använder sig av ett SPA-ramverk för att kunna ta fram dessa gränssnitt.
Vår studie syftar till att utreda vilka ramverk som är de mest populära, för att sedan kolla på varför just dessa ramverk kom att bli populära. Urvalet av ramverk som studien lägger fokus på är avgränsat till de tre mest populära ramverken -React.js, Angular och Vue.js, där populariteten avgörs genom insamlad data från plattformar som Github och StackOverflow.
De områden vi valde att kolla närmare på var prestanda samt hur enkelt det är att lära sig ramverket. För att undersöka dessa områden närmare har vi använt oss av flera olika tidigare studier som vi har gjort en sammanställning av, för att se om det går att göra några meningsfulla slutsatser kring det.
Om man är ute efter ett ramverk som är enklare att lära sig så har de flesta tyckt att Vue.js är enklast av dessa tre och att det är gärna ett ramverk som de använder sig av i framtiden när det kommer till inlärningskurvan, på nästa plats kommer då React.js och slutligen Angular.
I vår slutsats kommer vi fram till att det inte finns någon meningsfull skillnad mellan React.js, Angular och Vue.js med avseende på prestanda. Därför så är prestandan inte viktig för hur populärt ett ramverk är mellan dessa tre.Något som är gemensamt för de tre ramverken är hur dem använder antingen en virtuell DOM eller shadow DOM. Andra ramverk som hanterar detta annorlunda har betydande skillnad i prestanda och det kan vara en intressant utgångspunkt.
Place, publisher, year, edition, pages
2022. , p. 32
Keywords [en]
JavaScript, frameworks, interfaces
National Category
Information Systems, Social aspects
Identifiers
URN: urn:nbn:se:hv:diva-18932Local ID: EXB340OAI: oai:DiVA.org:hv-18932DiVA, id: diva2:1682516
Subject / course
Informatics
Educational program
Webmaster
Supervisors
Examiners
2022-08-242022-07-112022-08-24Bibliographically approved