Capacitor app significantly slower than PWA equivalent on Safari

I’m considering adding mobile support to my application, LegendKeeper, using Capacitor. To test this, I’ve created a NextJS project with our UI shell.

I’ve made a next export and built an iOS demo build, running on my iPhone 11 Pro Max. I’m finding that navigation, rendering, etc, is all suspiciously slow. 1-5 seconds per action for navigations, button clicks, dialogs, transitions, etc. The whole experience feels very broken; I know Capacitor apps in general are quite good so it feels like I’ve done something wrong.

Meanwhile, the exact same web bundle served through Safari on the same device is running super smoothly; what feels like full FPS.

I feel like I’m missing something; is there some special setting or configuration that the starter guide does not include that needs to be enabled? I also confirmed that the NextJS demo app for capacitor runs fine, as well.

for safari is ok for me. However it is much slower in the android webview but ok for the PWA… which is lame… Joshua Morony’s guide has helped me a lot with performance

Thanks, I will check out Josh Morony’s guide.

As an experiment, I redeployed my app shell using Vite and a simple memory router, instead of NextJS + the next JS router, in case nextjs’s link component was causing issues. Same performance issues after building the app using Vite. Performance still great in plain Safari.

I think it is more of an issue with the android’s webview than with capacitor itself.