  The increased mobile connectivity, the range and number of services available
in various computing environments in the network, demand mobile applications to
be highly dynamic to be able to efficiently incorporate those services into
applications, along with other local capabilities on mobile devices. However,
the monolithic structure and mostly static configuration of mobile application
components today limit application's ability to dynamically manage internal
components, to be able to adapt to the user and the environment, and utilize
various services in the network for improving the application experience.
  In this paper, we present REACT, a new Android-based framework that enables
apps to be developed as a collection of loosely coupled microservices (MS). It
allows individual distribution, dynamic management and offloading of MS to be
executed by services in the network, based on contextual changes. REACT aims to
provide i) a framework as an Android Library for creating MS-based apps that
adapt to contextual changes ii) a unified HTTP-based communication mechanism,
using Android Inter-Process Communication (IPC) for transporting requests
between locally running MS, while allowing flexible and transparent switching
between network and IPC requests, when offloading. We evaluate REACT by
implementing a video streaming app that dynamically offloads MS to web services
in the network, adapting to contextual changes. The evaluation shows the
adaptability to contextual changes and reductions in power consumption when
offloading, while our communication mechanism overcomes performance limitations
of Android IPC by enabling efficient transferring of large payloads between
mobile MS.
