Comment by gunian
1 day ago
why Expo over Flutter? do React Native and Expo provide better abstractions over the Java/ObjC native APIs? again I've never done native dev just curious sorry if this isnt HN worthy comment
1 day ago
why Expo over Flutter? do React Native and Expo provide better abstractions over the Java/ObjC native APIs? again I've never done native dev just curious sorry if this isnt HN worthy comment
The tooling for Flutter is better, but Expo brings React Native much closer.
I fend that React Native app "feel" more native because they're actually using native components, but controlled via a JS runtime. Flutter on the other hand mostly renders to a canvas and re-implements native controls (although it can also wrap native components like RN does).
This leads to there being less of an "uncanny valley" in React Native apps compared to flutter. It also means that all the little details from the system (the text selecting and editing interactions in text inputs being a major one) are idential to native apps when using React Native, because it IS the native component.
The downside to this is that you need to consider platform differences more with React Native, which is one of the things which leads to developers without mobile experience having issues with it.
As the article says, you get the most out of React Native if you're a mobile developer, or at least have someone on the team who is. You can't abstract away all the details of a mobile platform without some tradeoffs.
Not apples comparison imho. Flutter requires using a new fringe language and while it might be a very nice language it's a heavy lift in most businesses contexts to march off into a new language just to use a mobile framework.
So, the main reason for Expo (there are others) is: get to write in the language most developers already know.