Haku

Usability and Adaptation of React Hooks

QR-koodi

Usability and Adaptation of React Hooks

In this study, usability and adaptation of a new feature to React framework – hooks – is inspected. The usability inspection is done according to API usability evaluation principles based on earlier research. The analysis of adaptation of hooks is based on the experiences of professional React developers and how their projects have adapted to using hooks.

Web as a software platform has been increasingly popular in recent times. This has been enabled by improvements in browser and computer performance. Web applications are attractive to users due to their lack of need for installation and capability to work on most devices available to users. As the popularity of the web has increased, so has the number of solutions available for developers. This has led to short lifecycles of development tools, constant emergence of new technologies, and rapid shifts in industry standards. Therefore, many developers have felt overwhelmed by the number of solutions. For the regular developer, there is a need for standard, high quality, and high usability solutions. This thesis argues that the solution for this is thoughtful development and usability evaluation of web development software.

One impactful new solution is React hooks. Hooks were introduced to React JavaScript UI framework in 2018 as a part of React moving from less compact class components to seemingly more clear function components. Hooks allow function components to have local state and other procedural features whereas before, only class components could include them. In present time, React development community has largely abandoned class components in favor of function components.

To evaluate the usability and adaptation of hooks as an API, two studies were conducted. Firstly, a case study was done. In the case study, three general purpose components were written as class components and function components. The components were then compared with each other to find usability issues. Secondly, six professional React developers were interviewed in order to find hooks related issues from real experiences of React developers.

It is concluded that the developers have almost entirely replaced class components with function components and hooks their projects. However, while hooks have accomplished their purpose well in most cases, there are still critical cases where they have serious usability issues or do not functionally provide sufficient replacement for class components.

Tallennettuna: