What framework/tech are official Signal, WhatsApp and Telegram clients for Android using?

smileyhead@discuss.tchncs.de to Programming@programming.dev – 30 points –
8

The Contributing Guide isn't very helpful, but after skimming over the dependencies.gradle file and the repo's Languages section, I can say that it's a native Android app written with Jetpack Compose in Java and Kotlin (I assume they are progressively rewriting the app in Kotlin).

Based on looking at the apps apk a can confirm it is jetpack compose

Wonder why they didn't just use something like Qt that works pretty seamlessly across all platforms.

looks like work on the android client started in 2011 (or at least, that's when it seemingly started using version control)

the app was released in 2014

so it has likely inherited decisions from ~14 years ago, I'd guess there is a several year gap where having a native desktop app was not even a concern

Also the smartphone landscape was totally different back then, QT's android support back then was in alpha (or totally nonexistent if the signal project is a bit older than the github repository makes it seem), and the average smartphone had extremely weak processing power and a tiny screen resolution by today's standards. Making the same gui function on both desktop and mobile was probably a pretty ridiculous proposition.

Still shame they didn't pick it for desktop and we had to wait years for a quality alternative client like Flare.

WhatsApp also seems to be jetpack compose based on its apk

I would have guessed React Native since Meta is pushing it so hard, now I know.