Return to search

Performance, Modularity and Usability, a Comparison of JavaScript Frameworks

JavaScript frameworks have become a rapidly growing and changing industry which led to the process of choosing a suitable framework becoming increasingly difficult. This is what this project address, it takes three of the most popular frameworks and compare them concerning three aspects; performance, modularity and usability to determine the most suitable one for a modern single-page application. The purpose was to be able to give a well-founded recommendation on which framework would be most suited for a given project. To determine which framework is most suitable, three of the most popular frameworks are considered: Angular, React and Vue. These are often referred to as the big three when it comes to JavaScript frameworks and hints at the fact that they are by far the most popular frameworks. By developing and deploying a modern single-page application with a focus on the front-end in each of the frameworks and performing tests in regards to the three aspects performance, modularity and usability test data could be measured and compared. The comparison was performed by evaluating the test results of the three aspects using a method called the analytical hierarchy process. The results show that the most suitable JavaScript framework for developing a frontend heavy single-page application would be React since it performed best in regards to performance and modularity. Vue comes in second with the most notable advantage being performing best when comparing usability since it was the framework considered to be the easiest one to learn. Angular comes in at a third place with the most notable advantage being that it was considered best at DOM-manipulation. All three frameworks are considered suitable to create a single-page application but from the perspective of this project, the most suitable would be React. Further research may be done into additional frameworks to give the study even more width. It would also be interesting to go more into depth in either of the aspects to get a more extensive analyze. / JavaScript-ramverk har blivit en snabbt växande och förändrande bransch som har innebärt att processen att välja lämpliga ramverk har blivit allt svårare. Detta är vad detta projekt försöker utreda, vi kommer att ta tre av de mest populära ramverken och jämföra dem angående tre aspekter, prestanda, modularitet och användarvänlighet för att bestämma det mest lämpliga för en modern single-page application. Syftet var att kunna ge en välgrundad rekommendation om vilket ramverk som skulle vara bäst lämpat för ett visst projekt. För att bestämma vilket ramverk som är bäst lämpat betraktas tre av de mest populära ramverken: Angular, React och Vue. Dessa benämns ofta de stora tre när det gäller JavaScript-ramverk och anknyter på att de överlägset är de mest populära ramverken. Genom att utveckla och sätta i produktion en modern single-page application med fokus på front-end i vart och ett av ramverken och utföra tester med avseende på de tre aspekterna prestanda, modularitet och användarvänlighet kan testdatan mätas och jämföras. Jämförelsen genomfördes genom att utvärdera testresultaten för de tre aspekterna med hjälp av metoden Analytic hierarchy process. Resultaten visar att det mest lämpliga JavaScript-ramverket för att utveckla en front-end tung single-page application skulle vara React eftersom det presterade bäst i aspekterna prestanda och modularitet. Vue kommer på andra plats med den mest anmärkningsvärda fördelen att den presterar bäst när man jämför användarvänlighet eftersom det var det ramverk som ansågs vara den enklaste att lära sig. Angular kommer in på en tredje-plats med den mest anmärkningsvärda fördelen att Angular ansågs bäst vid DOM-manipulation. Alla tre ramverk anses vara lämpliga för att skapa en single-page application men ur projektets perspektiv är React det mest lämpade ramverket. Vidare undersökning kan utföras i yttligare ramverk för att ge studien ytterligare bredd. Det skulle också kunna vara intressant att gå mer på djupet i någon av aspekterna för att få en mer omfattande analys.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-272109
Date January 2020
CreatorsOlsson, Niclas, Ockelberg, Nicklas
PublisherKTH, Skolan för elektroteknik och datavetenskap (EECS)
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageEnglish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess
RelationTRITA-EECS-EX ; 2020:39

Page generated in 0.003 seconds