Treffer: On the Usability of Reactive Programming APIs: A Mixed Evaluation.
Weitere Informationen
Context: Reactive Programming (RP) provides powerful abstractions for managing asynchronous and event‐driven behaviors, but its APIs are often perceived as complex and difficult to use, particularly due to their reliance on functional programming concepts. Objective: This study investigates the usability of two prominent JavaScript RP libraries, RxJS and Bacon.js, to identify common usability issues and suggest improvements. Method: A mixed‐method evaluation was conducted. First, objective structural metrics were applied to assess the libraries' design. Then, a user‐centered study was performed involving programming tasks, a post‐task questionnaire based on the Cognitive Dimensions of Notation (CDN) framework, and follow‐up interviews. Results: Both libraries exhibited moderate usability. Metrics revealed strengths in reusability and parameter design, while user studies highlighted challenges in learnability, error handling, and documentation. RxJS generally performed better in metrics, while Bacon.js had stronger task completion rates. Conclusion: The findings suggest that despite their popularity, RP APIs can still hinder adoption due to usability issues. Improvements such as enhanced documentation, guided error‐handling strategies, and reduced operator complexity can significantly improve developer experience. [ABSTRACT FROM AUTHOR]
Copyright of Software: Practice & Experience is the property of Wiley-Blackwell and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)