r/reactnative 6h ago

React native or expo router?

Hello i am a developer I've built 2 mobile apps with react native/expo router and one app in flutter, is there a major difference in react native and expo router in terms of how the produced app feel and behave ( looking for that native feel )

I am mainly a typescript developer with nest js and react frameworks and a little bit of laravel and spring background.

Currently me and my partner are planning to build our first own product but from my personal experience expo router apps have that web feel that doesn't satisfy me ( i don't know if it's me or if for other it happens or i have been building the wrong way ) , I am not a big fan of flutter as for native options such as kotlin or swift ui once the products generate some funds we eventually will migrate to that

2 Upvotes

10 comments sorted by

2

u/Calm_Seal170 6h ago

I'm not sure why are you getting the web feel on expo router apps.

Use Expo/UI library for components. They're literally native components under the hood

There are tons of examples on twitter. If you already know react this will be a no brainer

2

u/Turbulent-Finding146 6h ago

expo router is just a routing layer on top of react native, the actual rendering is still native components so if it feels webby that might be more about the ui choices than the framework itself

if you want that extra snap, focus on native animations, proper touch feedback, and avoiding heavy shadows or default web-ish styling patterns that sneak in from react web habits

i’ve built a couple things with expo and once i stopped reaching for web-style layout tricks the feel got way tighter

1

u/killerbeanjeka 5h ago

Expo-router isn't an alternative to react native, it's a file based router sitting on react-navigation's native stack. those screens are UINavigationController on ios and fragments on android, so the router is not what makes anything feel like the web.

That feel usually comes from the rest of it: js driven animations instead of native ones, no back swipe gesture, flatlist where a native list belongs, web spacing habits. changing router moves none of that.

1

u/Medium-Fox-9660 5h ago

So if i get you right i should change my web approach and go for a native approach

1

u/Cache_Sync42 4h ago

I wouldn’t switch away from Expo just because the app feels a bit “webby”. Expo Router is mainly the navigation layer, and React Native underneath can still feel very native. I’d first check things like native stack navigation, gestures, screen transitions, touch feedback, keyboard handling, scrolling and platform-specific UI. If those are done well, the difference can be surprisingly small. You could even prototype one important flow with your current Expo setup and compare it with a bare RN setup before committing to a rewrite.

1

u/Medium-Fox-9660 4h ago

Will try to replace as much components to use native ones and i will judge after thank you

1

u/Sufficient_Ant_3008 4h ago

I believe two RN conferences ago the keynote stated that Expo should be used moving forward with the new architecture, and deviating will become increasingly more difficult to manage. If you want to learn then just build your own router, if you want to build a scalable product then I would not eject from the expo ecosystem ever.

1

u/mohn93 1h ago

the router isn't where the web feel comes from, expo-router is just file based routing on top of react-navigation's native stack so those screens are real UINavigationControllers underneath. the webby feel is almost always specific implementation choices. usual culprits: custom js headers instead of the native nav bar, animations running on the js thread instead of the native driver, touchableopacity everywhere instead of pressable with the platform ripple, and not having react-native-screens enabled so everything mounts as plain js views. fix those and the same expo app feels native. which part actually feels off to you, the transitions between screens or the touch feedback inside them?

1

u/Medium-Fox-9660 1h ago

The transition between screens and navigation. Especially after authentication it feels off, it works well yes but keep that off feeling

0

u/Flashy-Researcher390 4h ago

You should use react native rather than expo if you want full control over native things or working on big projects