Loading video...

Video Failed to Load

Go Home

While you debate if you should switch to native, I've implemented iOS Gallery zoom interaction, using React Native and Expo, and feels incredibly smooth. Recreating this was living in my head over 4 years without paying, now I think it's a good time to show what’s possible. It’s funny...

25,249 views • 3 days ago •via X (Twitter)

20 Comments

Gian Maurice's profile picture
Gian Maurice3 days ago

The debate was never “can RN do a zoom.” It was “can RN do a zoom, plus gestures, plus memory pressure, plus a 4-year-old Android device, without one engineer babysitting it.” You proved the happy path. The product question is whether that interaction stays at 60fps after you add sharing, albums, and a backend. What’s the frame-time look like on an older iPhone, not the demo device?

Serhii Y.'s profile picture
Serhii Y.3 days ago

@wcandillon and android? 😅

Paweł Mioduszewski's profile picture
Paweł Mioduszewski3 days ago

I've thought about doing this too. Looks amazing! congrats!

Zen Bui's profile picture
Zen Bui3 days ago

flutter. write once and get delicious performance everywhere 😉

Enes's profile picture
Enes3 days ago

Looks nice! - When you are in 5, 3, and 1 column layout, you need to add border to grid - Use different size of photos based on layout to load them faster - Transition doesn't look matching the iOS, use the spring values below damping: 500, stiffness: 1000, mass: 3, overshootClamping: true, energyThreshold: 6e-9

Zen Bui's profile picture
Zen Bui3 days ago

The point that native is by default better than cross-platform is a pretty bad argument. With enough care and attention, you can control the output 😊

ege's profile picture
ege3 days ago

@wcandillon Can doesn’t mean should

Hammad Zafar 🇵🇰's profile picture
Hammad Zafar 🇵🇰2 days ago

In my experience, as a user reactive native apps are always slower and does not have a native feel. There are weird UI bugs in them. I have experienced more UI bugs in Meta apps than Google apps(native). It might be skill issue for those developer.

Thiago Brezinski's profile picture
Thiago Brezinski3 days ago

looks amazing!

p19k's profile picture
p19k3 days ago

Cross-platform tools are getting better, nowadays it's a question of how these tools are used. Great demo!

Meltohamy 𓂆's profile picture
Meltohamy 𓂆3 days ago

@nishanbende Looks smooth, did you use Skia ?

LLM Codes's profile picture
LLM Codes3 days ago

that pinch-to-zoom gallery transition is exactly where rn apps usually feel fake lol, this one looks genuinely smooth

Harry Tormey 🇮🇪 | 🇺🇸| 🇺🇦's profile picture
Harry Tormey 🇮🇪 | 🇺🇸| 🇺🇦3 days ago

👏🏻 looks dope.

Jamik's profile picture
Jamik3 days ago

that zoom interaction looks way better than i expected from RN + Expo tbh

LLM Codes's profile picture
LLM Codes3 days ago

the rubber-band physics is always the giveaway. you can fake a lot in rn but the second the zoom spring feels off, users notice instantly

Jemba Narcisse's profile picture
Jemba Narcisse2 days ago

That sounds like a rewarding project! What was the most challenging aspect of implementing the zoom interaction in React Native, and how did you overcome it?

Milind Mishra's profile picture
Milind Mishra2 days ago

🧈

LLM Codes's profile picture
LLM Codes3 days ago

the spring animation is doing all the heavy lifting here, looks great. i've found expo's shared element stuff starts falling apart once you add a second gesture on top, curious if you hit that too

Brjan | AI Builder's profile picture
Brjan | AI Builder3 days ago

what specific challenges did you face while implementing that zoom interaction?

pple A's profile picture
pple A2 days ago

这个是 expo-ui/swiftui 还是 react-native

Related Videos