Open trymeouteh opened 1 month ago
The actual compression is done in libcaesium, which is Rust code that I've been able to compile for Android with a bit of sweat, but seemed to work fine in very simple tests. Making an app that does the same as the desktop version is just a matter of UI, because I'm able to use a native library to perform the compression, so can be written in whatever language/framework is available (Kotlin/Swift, Flutter, React Native, etc...).
Right now I don't really have the time to prototype and build a mobile app, but I don't exclude it could come somewhere in the future. No guarantees tho. Of course if someone is willing to help, I'll gladly accept and cooperate.
Would suggest then using Flutter for the front end which can be used for desktop, mobile and the web. I am glad to hear a mobile app is possible in the future.
I would not make an "unified" app for all platforms. Not because I don't like those technologies like Tauri or Flutter (I like them a lot!), but because I think the UI and the scope for the desktop and mobile is very different.
As an example, take caesium.app, which is the web app for Caesium. It can potentially do the exact same* as the desktop app, but I think it simply should not. Its scope is to have a fast and very simple way to compress without any hassle. For any mobile app, my goal would be to make something more streamlined than the desktop app, because fiddling with advanced options on a small screen could be annoying. So, I'd probably keep two codebases for the desktop and mobile.
* with very small limitations
Thats fair, I always suggest to devs to use Tauri or Flutter for both to reduce the code for both mobile and desktop. However Caesium front end does not seem to be too complex so having two codebases would not be too much to manage long term.
Is your feature request related to a problem? Please describe. An app for Android
Describe the solution you'd like An app for Android that you can install from Google Play and F-Droid
Describe alternatives you've considered None
Additional context Perhaps you could compile the app into a Web Assembly code and then use a framework such as Tauri?