Port to Apple - updates

Hello all,

Sorry for the lack of progress reporting.

We did hire an iOS developer and worked for about 4 months on iFlowx. It was a bit of a tough process because the Android code was bad and I had to rewrite it so the developer didn’t copy the bad code. This took a bit of time. I also took the chance to fix some shortcomings of the current Android code. For example, to allow accumulated precipitation and anything to be plotted on the graph.

For the iOS development we got up to a basic UI and plotting graphs. The next step was the map code - this was going to be a big task.

Anyway, the iOS development stalled because I couldn’t keep up with rewriting Android and had about 4-5 months of urgent contract work come up. That finished bout a week ago and I’ve just come to the end of two weeks working on porting again. Here is the progress report.

I’ve decided to rewrite the Android backend using KMM (Kotlin Multiplatform Mobile). This will allow the use of the same backend code in both the Android and iOS app. Only the presentation code (UI) will have to be written for each platform. This is going well.

Fortunately, we can use a bit of the iOS code developed above.

The advantage of KMM is that we don’t have to write, test and debug code on both platforms. This was a major headache with the iOS development above. The Android code was quite complex for the iOS developer to port and understandably, many bugs crept in and debugging took a lot of time. We don’t have this problem with KMM.

The other advantage of KMM is that when I add a new feature, it can happen in both Android and iOS immediately. In other words, it will be easier to keep feature parity.

Now, the best advantage - it looks like there is work to get Jetpack Compose (the new Android UI framework) working on the desktop and web. This means there is a chance for a desktop and possibly the web in the nearer future.

What’s next? Well, I hope to have the graphs going (to the level we had in the iOS development above) in a week or two. Then start on the map code - this will be hard.

Prod me in 3 or 4 weeks and I’ll hopefully have some screenshots.

I’m quite excited with the KMM development and the possibility of a desktop app.

7 Likes