Tech News
← Back to articles

So you want to write an “app” (2025)

read original related products more articles

After writing that (no-longer-)recent post on web development, I wanted to get a personal "feel" for what the "new developer experience" is actually like across all of the current platforms if you don't resort to web tech such as Electron.

I've been a computer toucher for decades, but I've never been an "app developer" and have always interacted with computing in an idiosyncratic way. Although I did build GUI programs using WinForms, I haven't been actively keeping up. This is therefore a gap in my skillset! So, let's try to close it!

This project began with a live-toot stream, and this post is a long-form summary and retrospective. If you want to peruse the code, you can find it here.

The "app"

For this experiment, I chose to write a program to generate random numbers in a user-specified range. This simulates rolling different types of dice with different numbers of sides, as would be used for DnD or other TTRPGs, and would be part of the long tradition of using computers to play games.

The idea behind choosing something "simple" like this was to focus my attention on the "tooling setup" and "basic UI building" functionality of each platform rather than the application logic.

In order to increase the difficulty and place some more attention on "platform integration" functionality, I eventually added the following additional requirements to the GUI applications (i.e. not the command-line ones):

persistent settings (the number of sides on the dice is saved and reloaded)

localization support into at least one non-English language

For each platform, I tried to use the tools, technologies, and documentation that were most prominently promoted and/or that I had the easiest time finding. Unfortunately, gone are the days where programmers would invest a lot of time to get to truly know a platform inside and out, but I tried to do my best to simulate a harried (but competent) programmer.

... continue reading