Curious why you didn't go native when it's undoubtedly reaper than the stack you chose. The default blank navigation view project would get you 80% of the way with its couple dozen lines of code. And you would get system font, SwiftUI predictable layout, easy database access, and a smaller Binary by a factor of 10x most likely.
Fair question. I know TypeScript, I don’t know Swift. This was my first mobile app and Expo lowered the barrier enough for me to actually ship it. I’m sure native would have been leaner, but I’d probably still be reading SwiftUI docs instead of having an app on the App Store.
Fair enough on the iOS mention. The tech stack (React Native, Expo, TypeScript, SQLite) is detailed in the blog post, I wasn't trying to hide it.
As others pointed out in the thread, RN renders actual native views, not a webview. For this use case: browsing a local SQLite database offline, it works really well.
Funny enough this was my first mobile app ever, I figured it out doing it. Expo helped a lot. The Apple review process on the other hand… that was a whole learning experience on its own.
RN does use a lot of native code. It’s not based on a webview like Electron is. Most of the builtin components are native views and there’s no CSS. The JS engine is also simpler. It’s more akin to the lua runtime in Neovim.
Now if someone could find a way to read the scrawled engineer's names etched on the inner part of the vinyl so I could figure out what edition I have in under an hour, I'd be really happy.
26 comments
And it's a RN app:
> It’s a React Native app built with Expo and TypeScript. Data lives in SQLite.
As others pointed out in the thread, RN renders actual native views, not a webview. For this use case: browsing a local SQLite database offline, it works really well.
Just speculating, I've not done mobile development since before RN was even a thing.
Instead, and I’m not against AI, AI slop that isn’t native, has awful design and awful font decisions.
Someone should take the idea but implement it properly.
And a Cover Flow view is a must.