31
What framework/tech are official Signal, WhatsApp and Telegram clients for Android using?
(discuss.tchncs.de)
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Follow the wormhole through a path of communities [email protected]
For signal I imagine you'll find the best answers here:
https://github.com/signalapp/Signal-Android/blob/main/CONTRIBUTING.md
https://community.signalusers.org/c/development/android-development/22
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).
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.