Remix.run Logo
tcoff91 4 days ago

Calling Expo a paid tool with metered usage is just flat out misinformation. You can promote your preferred tech without lying about alternatives.

Expo is a free open source framework that costs absolutely no money to use. You do not need to pay expo any money ever.

Expo Application Services is a set of cloud services that you do not have to use to use Expo. You can set up your own on-prem build infrastructure with fastlane and never use EAS Build. You can self-host your own EAS Updates server. You don't have to use EAS Hosting for web apps. Expo is far less coupled to EAS than Next.js is to Vercel.

Flutter for the web is terrible compared to React Native Web. It's a great way to get your company sued for violating the Americans with Disabilities Act. It literally renders to a canvas almost like the Macromedia Flash apps of old. There's also React Strict Dom now which absolutely blows flutter's web support out of the water while still supporting react native: https://facebook.github.io/react-strict-dom/

I just looked up an example flutter web app and it's completely invisible to the screen reader when I enable VoiceOver: https://flokk.app/#/ . The screen reader literally announces 'web content is empty'. You can't even select text to copy it!

Also, as far as integrations with game engines:

https://github.com/calico-games/react-native-godot

If you want complex 2D graphics like you can do with flutter, react native can also use the Skia rendering engine just like flutter with react-native-skia.

Qiu_Zhanxuan 4 days ago | parent | next [-]

Flutter for the web is lacking but for iOS/Android/Windows it's ideal.

tcoff91 3 days ago | parent [-]

The DX may be ideal but they are not very ideal for your iOS users. Painting pixels vs composing native views is not great.

I’d rather put up with the more painful DX of react native because I care more about the quality of the app vs the DX

3 days ago | parent [-]
[deleted]
agentifysh 3 days ago | parent | prev [-]

saying Expo is "free" is disingenuous. sure, you can self-hosts and duct-tapep pipelines together on-prem, but at that point you're just paying in devops hours (https://github.com/expo/expo/issues?q=is%3Aissue%20state%3Ao...) instead, something which is not part of flutter DX

your comparison for web is a lazy trope. If a Flutter app is invisible to VoiceOver, thats on the developer for ignoring the semantics tree, not the framework

ironically, your point on React Strict DOM actually shows how much of a mess RN web approach is. Flutter solved cross-platform consistency at the engine level years ago while React is still trying to force the DOM to behave.

I much prefer a compiled language than the runtime uncertainty of RN. composing native views sounds ideal until an iOS update changes and breaks your layout, or JS bridge chokes during a complex animation edge case that will get you digging through github issues. Flutter is rendering natively on the GPU without the overhead. I prefer shipping a consistent app over debugging why some react-native-* is dropping frames on a budget phone because of JS thread

Overall, I find your blatant marketing advertisement of Expo, very suspicious, digging through your past comments I see similar promotion of Expo and RN. You can see Expo's pricing (https://expo.dev/pricing#plan-features) which clearly shows its a classic open-core funnel scheme to get developers to build dependence and end up paying for build credits

tcoff91 3 days ago | parent [-]

Those github build issues you've linked have nothing to do with funneling people to EAS Build. EAS build doesn't make your builds more reliable than just using fastlane and building on your own infra. Most build issues are due to react-native itself and when you have those issues it fails in EAS build as well. Giving Expo money doesn't save you from any of the build issues that plague React Native.

I have years of experience building react-native apps that use Expo in CircleCI and making them available to developers in our company with Diawi without paying Expo a dime.

Saying that I'm 'suspicious' because I have a good opinion of the technology I use in my day job at a SaaS company is ridiculous.

Is it great that Flutter probably has 10x less build issues than React Native? Yeah it is. A lot of things about Flutter's DX are better than React Native. But the fact is that you can produce a way better web app with React Native Web than you can with Flutter unless complex game-esque 2d graphics are the focus of your experience.

If you rebuilt twitter's website with Flutter (it's currently react-native-web) it would 100% be a worse experience.

It's not fair to blame accessibility issues on devs and just say it's a skill issue when other frameworks give you a baseline level of accessibility for free.