ANALYSIS OF DEVELOPING NATIVE ANDROID APPLICATIONS USING XML AND JETPACK COMPOSE (ETIMA, 2024)
Native mobile applications have been the first choice for companies and independent developers to build software that utilizes device hardware and functionality. For Android development, this means using Java/Kotlin for the program logic and XML files for the user interfaces. Recently, Jetpack Compose has gained significant attention in building user interfaces for Android applications. This paper aims to analyze the benefits and limitations of these two technologies. An intensive literature review is conducted and presented to identify the benefits and limitations of XML and Jetpack Compose. In order to compare their development processes and code complexity, we also developed the same application using both technologies. Analysis of the code used in each technology provides an insight into how they uniquely solve the same problem, helping us to identify which one is better suited from a developer’s perspective. The results of the study indicate that both XML and Jetpack Compose have their respective strengths and weaknesses. XML provides a structured approach to UI development, fully respecting the separation of concerns between the view (what is being displayed on the screen) and the controller (which data is being sent to the view). On the other hand, Jetpack Compose simplifies the UI development process by offering a declarative approach, which leads to more readable and maintainable code. This study identified the advantages and disadvantages of using XML and Jetpack Compose in the development of native Android applications and recommended criteria for choosing one of these tools for new users, as well as switching to a new tool for experienced users.