3D JavaScript frameworks are used for creating interactive 3D in web applications. There are two prominent frameworks: Babylon.js and Three.js. They are often compared to one another where performance and ease of use are mentioned as important factors. A web developer could face choosing a 3D framework. This thesis aims to aid in that process. It investigates how Babylon.js compares to Three.js when it comes to performance such as memory use and frames per second for the end-user consuming a web app. It also investigates how they compare when it comes to ease of use for the developer in terms of initial learnability. For the performance part, a web app with a minimalistic one box animation was created with each framework and deployed on Netlify. The web app was accessed with a browser’s developer tools to record memory and frames per second. For the ease of use part, observation sessions were made with nine developers who were tasked with getting a basic 3D model up and running locally with each framework with the official documentation as a starting point, one hour limit respectively. Results showed that both frameworks performed equally when it came to frames per second, and Babylon.js used 2,2 MB, 46 %, more memory. Only five out of eight or 63 % of the participants managed to implement a 3D model in Babylon.js and five out of nine or 56 % in Three.js. Three.js scored slightly higher on ease of use than Babylon.js, but neither framework scored high on the overall scale. Participants favoured Babylon.js when asked to choose. However, almost all had a frustrating experience with both during the sessions. Performance is similar except for memory use when it comes to lightweight implementations in these frameworks. Initial learnability could be a gatekeeper. If users do not get past the first hurdle fast with quick feedback that a framework works in the most basic sense, a conceivable risk is they could give up and never use it.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:bth-20977 |
Date | January 2021 |
Creators | Johansson, Julia |
Publisher | Blekinge Tekniska Högskola, Institutionen för programvaruteknik |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0024 seconds