Migrate to GraphQL - Rethinking application development
Tran, Quang Khoi Nguyen (2022)
Tran, Quang Khoi Nguyen
2022
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202205139165
https://urn.fi/URN:NBN:fi:amk-202205139165
Tiivistelmä
The purpose of this thesis was to explore GraphQL as an option for API design and software development. Another goal for this study was to find out whether GraphQL can fully replace REST which is a flexible and scalable design architecture for API that enables communication with data resources through stateless methods such as GET, POST and DELETE.
As a result of this project, a comparison between two development approaches using REST and GraphQL was carried out. Respectively, two API servers were built to tackle the same set of use cases of a task-organizer project. Based on the comparison results and observations during development process, it was suggested that GraphQL could be the better option in many cases, but it was not perfect and should not be able to replace REST in any time soon. Developers and product managers need to take the specific requirements of their product into considerations to decide which architecture is the most suitable.
As a result of this project, a comparison between two development approaches using REST and GraphQL was carried out. Respectively, two API servers were built to tackle the same set of use cases of a task-organizer project. Based on the comparison results and observations during development process, it was suggested that GraphQL could be the better option in many cases, but it was not perfect and should not be able to replace REST in any time soon. Developers and product managers need to take the specific requirements of their product into considerations to decide which architecture is the most suitable.