JavaScript has become the dominant programming language for web application development during the last few decades, being used by 98.5% of the websites worldwide. This prominence has led to the emergence of several frameworks for this language, with React and Vue being among the popular choices. However, there is no research specifically comparing these frameworks from a beginner’s perspective when creating simple web applications. The purpose of this thesis is to map out similarities and differences between React and Vue in terms of performance and ease of use for beginners. To accomplish this, two identical web applications were developed using React and Vue, respectively. These applications were designed to require only a general understanding of programming concepts and no prior experience with the mentioned frameworks, while having a target build size ranging from 40-60 KB. The development process for each framework was documented, capturing the time invested and challenges encountered. A qualitative approach was adopted to assess performance, leveraging quantifiable data gathered from the developed applications, while ease of use was evaluated through the lens of a beginner. The findings indicate that while React exhibited 12% faster overall execution time and 4% faster memory allocation, the performance gap was narrower than previous research suggested due to the smaller size of the applications. On the other hand, Vue was found to be more beginner-friendly, requiring 21.3% less development time to achieve the same application functionality. These findings aid beginners in selecting the most suitable framework based on their priorities and contribute to the understanding of React and Vue in the context of simple web application development. / JavaScript har under de senaste decennierna vuxit till att bli det dominerande programmeringsspråket för webbutveckling och används idag av 98,5% av webbplatserna världen över. Denna utveckling har lett till skapandet av flera ramverk för JavaScript, där React och Vue är bland de populära valen. Det finns dock ingen forskning som specifikt jämför dessa ramverk från ett nybörjarperspektiv när det kommer till att skapa enkla webbapplikationer. Syftet med denna studie är att kartlägga likheter och skillnader mellan React och Vue när det gäller prestanda och användarvänlighet för nybörjare. För att åstadkomma detta utvecklades två identiska webbapplikationer med hjälp av React respektive Vue. Dessa applikationer designades för att endast kräva en allmän förståelse av programmeringskoncept och ingen tidigare erfarenhet av de nämnda ramverken, samtidigt som de hade en storlek som sträcker sig från 40-60 KB. Utvecklingsprocessen för varje ramverk dokumenterades, bland annat med fokus på tid som investerats och de utmaningar som stöttes på. Ett kvalitativt tillvägagångssätt antogs för att bedöma prestanda, med hjälp av kvantifierbar data som samlats in från de utvecklade applikationerna, medan användarvänligheten utvärderades genom att analyseras ur en nybörjares perspektiv. Resultaten indikerade att trots att React överlag uppvisade 12% snabbare exekveringstid och 4% snabbare minnesallokering, var prestandagapet mindre än tidigare forskning har visat främst på grund av den mindre storleken på applikationerna. Å andra sidan visade sig Vue vara mer nybörjarvänlig och krävde 21.3% mindre tid för att skapa samma funktionalitet. Dessa resultat kan hjälpa nybörjare att välja det mest lämpliga ramverket baserat på deras prioriteringar och bidrar till förståelsen av React och Vue när det kommer till att skapa enkla webbapplikationer.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-334276 |
Date | January 2023 |
Creators | Schuster, Daniel |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2023:424 |
Page generated in 0.0028 seconds