5 ms·
As an Android developer I don’t understand the reason behind mixing Jetpack Compose and Flutter. I’m not an expert on cross platforms, I mostly work on Compose,
by lawgimenez 2y ago
As an Android developer I don’t understand the reason behind mixing Jetpack Compose and Flutter. I’m not an expert on cross platforms, I mostly work on Compose, so if anyone wants to share.
- afavour 2y agoProbably just fast moving startup stuff. Different developers working on different features with different preferred toolsets. Can normalize it all later, right now launch is most important.
- farmerbb 2y agoThey most likely added a dependency that transitively depends on Compose, possibly for some prebuilt UI. EDIT: Another possibility is that they started out with some template app that happened to have the Compose dependencies included in the Gradle build script, and with this being a Flutter app, they had no reason to touch the Gradle script beyond just adding the Flutter dependency. Assuming the app doesn't have R8 enabled, all of Compose would remain in the APK unused.
- sdwr 2y agoWhat does gradle mean? I always thought it was a portmanteau of "cradle to grave"
- christina97 2y agoIt’s a build tool for Java, and Android then too, I guess?
- farmerbb 2y agoCorrect. Gradle is the standard build tool used for Android apps.
- jhanschoo 2y ago> Founder and CEO Hans Dockter has said that he originally wanted to name the project "Cradle". However, to make the name unique and less "diminutive" he instead chose "Gradle", taking the "G" from the use of Groovy. I expected as such, and Wikipedia confirmed it for me.
- farmerbb 2y agoOk, I took a closer look at the analysis page linked to from the main article. There does seem to be a decent amount of Kotlin code written by Rabbit themselves, mostly UI for the settings screens, as well as some networking-related stuff (WebSockets, Wi-Fi, etc), hardware-related things such as the camera, OTA updates, etc. Basically, things that make sense to be handled closer to the operating system itself. Interestingly, as far as I can tell, Compose is only being used for a "hardware test activity". The rest of the Kotlin side of things seems to use the traditional Android UI stack with activities, views and fragments. That makes three distinct UI frameworks in use on the Rabbit R1 - Flutter, Compose and traditional Android.
- lawgimenez 2y agoThanks for the thorough lookup, I have worked with launcher, IoT apps on Android. And, Flutter (or any cross platform) would never be an option for this kind of projects. It’s not just because we need easy access to the hardware (camera, Bluetooth, etc) but also the different protocols (MQTT, RTSP, etc) are very complex.
- nkozyra 2y agoGood chance it started with flutter (for prototyping, lack of direction of product early on) and then when it was decided it was going to run on a fairly normal Android device someone said we should use something a little closer to Android native dev. My guess is the stuff in flutter world is technical debt.