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?

  • @[email protected]
    link
    fedilink
    4
    edit-2
    4 months ago

    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.

    • @UndercoverUlrikHDOP
      link
      24 months ago

      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]
        link
        fedilink
        4
        edit-2
        4 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.