What accounts for companies like Facebook, Amazon, and Microsoft leaning into RN? Cost cutting and enshittification?

I agree with you that it seems like the only way to get a full-native UX would be to use the platform... but you also probably need to memorize the platform's design guidelines in order to not undermine the framework you're working with. Coupled with the need to maintain 2 codebases (3 if you want web or desktop) seems like enough complexity to warrant specialist developers, making high-quality multi-platform apps categorically impossible for a solo dev or small team.

Reply to this note

Please Login to reply.

Discussion

That's why Primal has at least one dev for each OS. It's a lot of money just to get 3 codebases out.

Your best bet for serious RN use is to create a UI that is so different to the base OS that it breaks the user's expectations that things should match the OS.

Basically, the design needs to be better than the OS's design. Which only big tech has the money to do.

Sheesh. Maybe I'll go back to web and forget I ever looked into this tarpit.

One other question though — would KMP be a better option than Flutter/RN for cross-platform core logic? You could then limit your separate codebases to UI

1. KMP isn't ready (iOS is slow, web build is abysmal, desktop is ugly as fuck).

2. They might become just another RN or Flutter. They are trying to avoid it, but this is not easy.

3. They are an Android-based framework being applied to iOS and Desktop. And it carries most of the Android style of doing things to the other OSs.

But if Google keeps throwing money at them, they do have a better chance of working.

I will make Quartz (our lib that Amethyst uses) a KMP ready. But I don't expect a lot of production KMP apps anytime soon.

Thanks, I appreciate the expert insights. What a mess, no wonder you haven't done Amethyst iOS

Or ask me instead 😉

Give me your most contrarian takes

Vitor is right when he says you don't want an iOS-looking app on Android and viceversa.

Flutter goes a long way to give you base themes for Android (Material) and Cupertino (iOS) both of which are very customizable. I do not know whether RN has an equivalent but he put both in the same basket so I'm clarifying.

As long as you respect basic HIG for each you are fine, navigation and inputs in particular. The latest iOS glass effect? Who cares. We got bigger fish to fry.

The world is going to the shitter and we need more apps out there faster.

There's also purplestack (early days but pretty decent). I'm not sure if you like AI-assisted coding though

Not really, but I'll use whatever tool works. Maybe I'll give purplestack a try. It would require abandoning my state management library

I get it. It's probably better than purplebase which doesn't support outbox right now.

You could try other tools to vibe some React Native app. It might just be good enough.

I received hundreds of complaints, requests and bug reports for Zapstore over the last 18 months. Not a single one had to do with Flutter not looking native.

Zapstore does look nice. I feel like iOS has a more distinctive look though

Looking through the massive amount of HIG documentation I can't help but feel that a lot of this stuff is busywork which only hurts UX long-term by diverting effort away from stability and small projects, and toward fashion and large, well-funded projects. But that's nothing new.

You can use Flutter and be creative enough to avoid the platform specific idioms, with better UX/UI solutions.

The whole ◀️ back button thing is a great example.

In Zaplab Design I have :zeroPercent: back buttons. And, since everything is swipe down, that's not an issue on iOS.

just pick one?