
Hey,
Now with ai coding assistants, we becomes not specific enginners, but product engineers where we jump from mobile to web, to backend, and even infrastructure.
I saw a lot of people struggle with the switch from Web to Mobile, and this is my intakes
YEs, JSX is JSX, hooks are hooks, how different can it be.
Different enough that I spent three weeks shipping something that should've taken three days. The second app I rushed and paid for it later. The third was fine, but only because I'd already made all the mistakes.
The ones that got me most:
The DOM thing is bigger than it sounds. It's not just <View> instead of <div>. A string directly in a <View> crashes the app at *runtime*, not build time. And lazy-loaded screens with one JSX error will take down your whole deployment because the pipeline is just different.
The keyboard is a whole engineering problem. I didn't think about keyboard handling coming from web. On mobile it's manual: focus, dismissal, avoidance, autocorrect config, all of it.
API keys in your .env ship in the bundle. Anyone with a decompiler gets them in minutes. Caught me on my first AI feature. You need a backend proxy even for small projects.
Streaming LLM tokens directly into setState drops frames. On web you push to a div and the browser handles it. On mobile the JS thread and UI thread are separate. Re-render on every chunk and you'll see it. Buffer + flush at 60fps is the pattern.
I wrote the full thing up. Not a tutorial in the "follow these steps" sense. More of a "here's what surprised me" format. Also touches on the generative UI gap on mobile (it exists, the web tooling doesn't port over, I'm building one).
Happy to answer questions about any specific parts.