← Back to context

Comment by jonathanstrange

15 days ago

Quite honestly, developing for Android and iOS is no longer worth it. I was planning a set of cross-platform native products using Flutter and other tools, but after a careful analysis came to the conclusion that it makes no sense. You have to distribute 5 different apps (Linux, macOS, Windows, iOS, Android) with 5 different packaging, signing, and distribution requirements and have to fight with all kinds of garbage, from Gatekeeper over expensive certificates for Windows to avoid being flagged by antivirus, to anti-competitive app store requirements by Apple and Google.

Web apps have become unavoidable. Native is beating a dead horse.

Let me unpack something: I've been building a commercial product with flutter for the past 2 years. I think after this project is "done" I will never touch cross-platform frameworks ever again - only native. Cross-platform frameworks (like xamarin, flutter, react=-native) - its all lies all the way down. The benefit of having the "one" codebase is so tiny you might as well skip it. The moment you build something more complex than a todo app, when you need reliable background services etc.. guess what, the only reliable way is to revert to kotlin/swift and call it from the framework anyway, as the community packages are truly half-baked messes, abandoned messes, anonymous messes (who is the maintainer?). So never again. Huge waste of time and effort. Then during the release build, you need multiple signing keys, multiple build servers, often multiple pipelines, so what exactly is the point?