this post was submitted on 12 Mar 2024
25 points (100.0% liked)
Programming
16971 readers
261 users here now
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
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I'd personally go for a native App in Java with the older android.view and android.widget UI library which I not only find more intuitive for beginners but which also have a neat drag and drop UI designer built into Android Studio. Also once you are comfortable in Java you can easily add Kotlin into your existing project but for the start I'd start with Java since Kotlin throws lots of new stuff and rules at you in the beginning.
These are just my opinions but I'd generally stay away from multiplatform frameworks like flutter, react native, maui, ... if you don't need the multiplatform aspect. They generally make it more difficult to work with lots of low level APIs (like the step counter, fitness data, ...). Also all of them suffer from my experience from being harder to debug and "cryptic error messages syndrome" (especially Maui).
Also the new Jetpack and Compose stuff in Android I personally find quite hard to get going with. But thats maybe just me being more used to the old stuff.
Out of curiosity, what sort of new stuff are we talking about? I'd assume it's a more robust language than java based on its origin.
for me the biggest thing was the whole strict enforment of nullability - doesn't always play nice with existing java code, builders (essentiay abusing the anonymous function syntax) and delegations.
Its just very odd when you see some code from someone else who really goes to town with these things.
Also just in general its very different approach from Java where you have to do everything with very basic but easy to understand tools while Kotlin gives you a giant toolbox to play with, but where many tools have a certain learning curve.
But in that toolbox there are some gems. My favorites being extension methods null safe calls and pattern matching with when.