TENTA.DEV v5.0
--:--:-- CET
001 2025.12.18 5 min

How I split SvelteKit + Capacitor and React Native

People keep asking which mobile stack I prefer, as if I picked one. I did not. I use both, and the line between them is mechanical — not aesthetic, not ideological.

If the app also needs a web UI, I build it in SvelteKit and wrap it with Capacitor. Tsukime is the obvious example: there is a real reason to open it in a browser, so the web build is not a nice-to-have, it is a first-class surface. Once that is true, putting the same codebase on mobile through Capacitor costs me almost nothing, and I keep one design system, one router, one set of components.

If the app is mobile only — no browser, no marketing site that doubles as the product — I reach for React Native. The webview tax is not worth paying for an app that will never run in a browser. Native components, native gestures, native modules when I need them. No translation layer pretending to be a phone.

That is the whole rule. Web UI in scope: SvelteKit and Capacitor. No web UI in scope: React Native. Everything else — TypeScript, the design system, the way I structure state — stays the same on both sides.

END OF POST — T