Rich Mobile Applications (RMAs) comprise a budding research area receiving increasingly abundant attention from the academic and industrial communities. RMAs are deemed to be a candidate blueprint of future online smartphone applications aiming to deliver high functionalities and rich immersive experience to mobile users. RMAs are still in early stages and comprehensive survey of the domain is lacking. In this paper, we use structuralism and functionalism paradigms to analyze RMAs' origins, trends, and characteristics. RMAs are distinguished from traditional mobile applications and Rich Internet Applications (RIAs). Comprehending the distinction between delivering Rich User eXperience (RUX) in desktop and mobile computers, and the inward similarities and dissimilarities between RMAs and RIAs will facilitate and accelerate the development of rich, smartphone-centric applications. We analyze several problems inhibiting the adoption of RMAs and review corresponding solutions to devise a taxonomy. Our study advocates that the majority of problems stem from the intrinsic characteristics of mobile devices and the heterogeneity in this environment, especially when cloud computing is employed to enhance mobile computing. Several open issues on RMAs' domination and adoption are presented as future research directions.