Which framework do I choose in 2024 to build web apps with? I’ve used Ionic on multiple previous projects, and found it to work alright. It’s a good way to get an app of the ground quickly, as long as you don’t need too much in the way of integration with the mobile operating system itself, and you don’t have particularly high performance requirements.
However, other options are available. From various conversations I have had with other developers, either React Native, or Flutter seem to be the popular choices. Looking at the Stack overflow 2023 Framework popularity list backs this up. The question is – how do I know when it’s the right time to try something new?
I know Ionic has it’s problems, but they are known problems for me now, and I can solve them. Performance isn’t going to be that important to me for the project I’m considering. The trouble is – the only way to know all of the pitfalls of a new framework is to try it, and at the end of building a significant project, I will then know for sure. But in the meantime – what do I do?
This brings me to The Paradox of Choice, by Barry Schwarz. The central tenet of this great book is that more choice makes us less happy. I’ve always kind of found this with frameworks. If one works, it actually annoys me when somebody comes up with a competitor that might be slightly better in some key ways.
The alternative frameworks represent to me opportunities to maximise the product that I can create. It could be faster, have better OS integration, and be more future proof. But I don’t know until I try, and inevitably, it will take longer to build the product I want to build with a new framework. I don’t want to absorb that cost. My client doesn’t care which framework I use, as long as the product does what is needed of it. And actually they would prefer to keep costs down.
The alternative to maximizing is to be a satisficer. To satisfice is to settle for something that is good enough and not worry about the possibility that there might be something better.
The Paradox of Choice, by Barry Schwarz
For me the decision ends up making itself. Because there is an additional consideration here that is only relevant to me. I have already built infrastructure to build and publish an ionic app on check-in. I have already got at least one functioning app in both stores. That app ticks all of the boxes I need to for the upcoming project. I will choose to be a ‘satisficer‘, and continue with Ionic.
Future projects may take me elsewhere!
