With almost 70% of the population being active internet users and with signs that this number only will increase in the coming years, the value for companies, organisations, and hobbyists to be able to share what is important to them will also increase. One of the most common ways to gain attraction on the internet is with the help of a website. There are multiple ways to create a website, with one popular approach is with the help of content managing systems (CMS). Different CMSs offer a range of functionality and range in complexity. A staple name in the CMS community is Drupal. Drupal can provide the entirety of an application but can also be used in a decoupled mode where it serves as the backend for a frontend developed with other technologies, e.g. a JavaScript library like ReactJS. This thesis aimed to evaluate how the JavaScript library ReactJS interacted with Drupal when used in its decoupled mode. Different methods, such as JSON:API and GraphQL, to export data from the Drupal site were also compared. The thesis also aimed to guide less experienced developers through their journey of decoupled CMSs. Through extensive research about Drupal and ReactJS, as well as the core functionalities, the thesis provides the necessary groundwork for implementing a decoupled application. The concepts are then further expanded with realistic examples to provide a deeper understanding of the subject. By implementing a realist web application containing common functionalities found in modern web applications, it could be concluded that Drupal and ReactJS complemented each other excellently by providing each other with features the other one did not have. Difficulties encountered were related to the unique technologies rather than their collaboration. The comparison between JSON:API and GraphQL elucidated clear benefits and drawbacks for each, providing a guide for developers to choose based on their specific needs. Future research could broaden the scope to other CMSs and JavaScript libraries to enhance the understanding of decoupled architecture. Exploring the implementation of custom APIs is also suggested for further studies.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:umu-217377 |
Date | January 2023 |
Creators | Lundqvist, Linus |
Publisher | Umeå universitet, Institutionen för tillämpad fysik och elektronik |
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.002 seconds