Publication Date



Technical Report: UTEP-CS-18-53


It is challenging to develop a cross-platform application, that is, an application that runs on multiple platforms. It requires not only code reuse but also an individual building or compilation for each platform, possibly with different development tools. In this paper, we show a simple approach for creating a cross-platform application using Maven, a build tool. We configure a cross-platform development environment by composing a set of platform-specific tools or integrated development environments (IDE's). The key idea of our approach is to use Maven to immediately propagate changes made using one platform tool, or IDE, to other platforms. For this, we decompose an application into platform-independent and platform-dependent parts and make the individual tools and IDE's share the platform-independent part in the form of a reusable component or library. We explain our approach in detail by creating a sample application that runs on the Java platform and the Android platform. The development environment consists of IntelliJ IDEA (for Java) and Android Studio. Our approach provides a way to set up a custom, cross-platform development environment by letting software developers pick platform-specific tools of their choices. This helps maximize code reuse in a multi-platform application and creates a continuous integration environment.