Managing Product Lines Variability in Rich Internet Applications

Rich Internet Applications refers to Web applications resembling desktop solutions with sophisticated user interactions, client-side processing, and asynchronous communications. Rich Internet applications have been evolved from traditional multi-page Web applications to single page applications which handle users' interactions without the need of full-refresh at each interaction. Although many techniques, methodologies, and technologies have been proposed in the rich Internet applications literature, the need for managing variability has not yet been conveniently addressed in this domain. According to software product lines research and practice, handling variability and commonality plays an important role in decreasing the development time and improving the quality of nal products. To this end, in this paper, we aim at employing the variability management techniques in the domain of rich Internet applications. We propose a variability modeling technique based on well-known feature modeling approach and provide a method for annotating rich Internet applications with variability and deriving final application based the given con guration. The proposed method is implemented in a tool named Varion which can be used along with existing rich Internet application tools and approaches. We applied the proposed approach on Angular, a well-known Model-View-Controller framework for developing rich Internet applications.