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.
rlustin 9 hours ago [-]
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.
cauterize 23 hours ago [-]
Love this given my favorite record store is in a basement with bad cell service!
rlustin 23 hours ago [-]
I love it!
hu3 1 days ago [-]
Blog title lacks iOS: "Building Digs, an offline Discogs companion"
And it's a RN app:
> It’s a React Native app built with Expo and TypeScript. Data lives in SQLite.
rlustin 23 hours ago [-]
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.
ZeWaka 1 days ago [-]
What's wrong with React Native? I don't quite get your point there.
Insanity 1 days ago [-]
Speculating - but an iOS app that's build on React Native is not really a 'native iOS app'. Which might have some performance implications etc.
Just speculating, I've not done mobile development since before RN was even a thing.
rlustin 23 hours ago [-]
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.
coffeecantcode 22 hours ago [-]
God I feel you here, that first review is always brutal.
skydhash 1 days ago [-]
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.
Insanity 24 hours ago [-]
Ah, I did not know that. I thought it was more Electron-like.
davidhariri 19 hours ago [-]
It’s a fair assumption. The React part is more about copying JSX and other React concepts (declarative UI etc) but it all boils down to native binaries. The toolchain is also pretty nice. It does hot reloading so you don’t have to recompile the app while building locally. The downside is you get less for free compared to SwiftUI. But SwiftUI also has many footguns and bugs. No free lunch!
monster_truck 24 hours ago [-]
Quite a lot. Enough that it isn't realistic to ask this in good faith
davidhariri 19 hours ago [-]
Lovely! Thank you
rlustin 11 hours ago [-]
Cheers!
trvz 19 hours ago [-]
This could’ve been a nice native lickable app, as befitting for what it does.
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.
rlustin 11 hours ago [-]
The AI wrote the code, but the design decisions are 100% mine, I’m going through a monospaced phase.
Cover Flow would look cool but I’m not sure it solves a real problem for this use case. When you’re digging through crates you want to search and filter fast, not swipe through covers. Appreciate the feedback though!
dnlzro 23 hours ago [-]
How'd you design the icon/logo for it?
rlustin 22 hours ago [-]
Not a designer at all, I used recraft.ai and iterated until I got something I liked.
23 hours ago [-]
ebuyan 21 hours ago [-]
What do you recommend beyond React Native?
rlustin 11 hours ago [-]
This was my first mobile app so I can’t really compare, but Expo was a great way to get started with zero mobile experience. That said, I did feel a bit locked into their ecosystem. Everything is designed to push you toward their cloud build service (EAS), and I just wanted to build locally.
imagetic 1 days ago [-]
That’s fun!
rlustin 23 hours ago [-]
Thanks!
Rendered at 19:44:25 GMT+0000 (Coordinated Universal Time) with Vercel.
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.
Cover Flow would look cool but I’m not sure it solves a real problem for this use case. When you’re digging through crates you want to search and filter fast, not swipe through covers. Appreciate the feedback though!