3 ms·
They most likely added a dependency that transitively depends on Compose, possibly for some prebuilt UI. EDIT: Another possibility is that they started out wit
by farmerbb 2y ago
They 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.