Abstract:As the Internet has rapidly grown, rich Internet application (RIA) has become the mainstream application since it uses local storage and computes resources more effectively and therefore has better user experience. The client-side of RIA, i.e. rich client, can be thought of a sub-application which adopts “model-view-controller” architecture style and runs on the client-side runtime. Along with the development of mobile device and web browser, there are large differences among different client-side runtimes. However, rich client cannot predict the characteristics of its runtime due to the open nature of the Internet, and therefore suffers from the heterogeneous runtimes. This paper proposes a rich client middleware for runtime self-adaption. The middleware provides a MVC component model and decompose the problem of heterogeneous runtimes into three sub-problems: The problem of heterogeneous storage runtimes, the problem of heterogeneous computation runtimes and the problem of heterogeneous display runtimes. The middleware encapsulates a series of common self-adaption services which solve the problems correspondingly.