We live in an app-centric world, not just on smartphones but also on desktops and even on TVs. We have, in other words, become dependent on these apps, as well as the services that power then remotely, and, in the final analysis, on the developers that create these experiences. Although statistically the mobile platform, Android apps haven’t exactly been the most enjoyable to develop, something that Google’s new Jetpack Compose toolkit is aiming to fix once and for all.
Google betted on Java when it started out with Android, partly because that’s what original creator Andy Rubin used and partly because it was the lingua franca on mobile back in those days. Java’s mindshare was huge, counting enterprise, web, and even desktop software but few would deny that it’s not a particularly fun programming language and ecosystem to use. Not to mention causing Google financial and legal headaches thanks to Oracle’s lawsuits.
Google eventually developed its own Kotlin language to make the code side of Android development easier and to eventually distance itself from Java. Unfortunately, that changed nothing for developing what users see the most, the graphical user interface. Developers still had to use Android’s original UI system which is based on XML, pretty much a more complex but powerful cousin of the HTML that makes up web pages.
Last year, Google announced a ground-breaking change that would be coming to Android development. Called Jetpack Compose (not to be confused with myriad unrelated uses of the name “Jetpack” in software), the toolkit ditches the dependence on XML and lets developers and designers express their UIs directly in code, preferably with some help from the Android Studio development tool.
Google has now pushed Jetpack Compose into alpha testing, which means the ball has started rolling for the next generation of Android UI tools for developers. It’s going to take some time before it becomes stable, but it should be something that Android fans hope would take off successfully. Developing Android apps, especially good apps, is not as easy they make out to be, and every bit that helps make developers’ lives easier will go a long way in improving the state of apps on the platform.