Analysis of the Provider State Management Pattern for Performance and Maintainability in a Flutter-based Mobile Pharmacy Application - Muhammad Asep Subandri; Fajri Profesio Putra; Agus Tedyyana (SISTEMASI, 2026)
State management in modern mobile applications is a critical aspect that affects both user interface (UI) rendering performance and code maintainability. Previous studies on Flutter state management have generally used simple catalog applications as test objects and focused on performance comparisons between approaches without quantitatively measuring maintainability aspects. This study aims to analyze the effectiveness of implementing the Provider state management pattern in terms of UI rendering performance and code maintainability, using a real-world business application case study—namely, the Apotek Berkah mobile application. The research adopts an applied research methodology with a case study approach. The application consists of 20 Dart files with a total of 5,899 lines of code (LOC), developed using Flutter with a MultiProvider architecture and dependency injection. Performance measurements were conducted using Flutter DevTools, including widget rebuild count, frame rendering time, and memory usage, with comparisons against setState as the baseline. Maintainability was assessed through nine metric aspects, including code distribution across layers, provider class metrics, provider access patterns, screen complexity, architectural patterns, and dependency graph analysis. The results indicate that the Provider pattern reduces widget rebuild count by an average of 52.3% compared to setState, with frame rendering time consistently below 16 ms. In terms of maintainability, the Provider architecture demonstrates low coupling (all providers depend solely on ApiService), zero inter-provider dependency, and well-structured separation of concerns. The novelty of this study lies in the combined evaluation of performance and maintainability of the Provider pattern within the domain of a pharmacy business application, which involves CRUD operations, inventory management, and point-of-sale (POS) transactions—a domain that has not been extensively explored in prior Flutter state management literature. The main contribution is empirical evidence that the Provider pattern offers an optimal balance between performance, maintainability, and implementation complexity for medium-scale mobile applications.