this post was submitted on 12 Mar 2024
25 points (100.0% liked)

Programming

17392 readers
153 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 [email protected]



founded 1 year ago
MODERATORS
 

cross-posted from: https://programming.dev/post/11357795

I've been thinking about writing my own workout logger that better fits my use and I'd like to hear some recommendations on what language or framework to use.

I don't have any prior experience with mobile development nor with Java or Kotlin, and C++ I suspect would be needlessly low level for the features I'd like to include.

Features is like to include in the app is capability of recording video, playing video/audio, creating graphs and opening up in-app tabs. Fancy ui and animations is not of much importance.

Any recommendations on what languages to use and what libraries might be of interest to get going?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 4 points 8 months ago* (last edited 8 months ago) (1 children)

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.

[–] [email protected] 2 points 8 months ago (1 children)

Kotlin throws lots of new stuff and rules at you in the beginning.

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.

[–] [email protected] 4 points 8 months ago* (last edited 8 months ago)

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.