Live data from Hacker News

Show HN: I rewrote my Mac Electron app in Rust

desktopdocs.com

131–140 of 465 posts

Re: Show HN: I rewrote my Mac Electron app in Rust

#131
post #94

At a previous company we maintained a desktop electron app for Windows and macOS. It was super bloated though and updates with Squirrel were a pain. We kept the GUI as a web spa app (using Inferno) and wrote two small native apps with C# and Swift that would load a webview and other duties. App download size and memory consumption was reduced by like 90%. We also moved distribution and updates to the app stores of ea…

This is the first time I see someone praising distribution and updates through native app stores. The time to get update to users and the uncertainty, that it gets through the approval process are just some of the reasons. I know nothing about Squirrel, but what were the things that improved moving to native?

Re: Show HN: I rewrote my Mac Electron app in Rust

#132

Why embed Redis ? What feature do you need from Redis so bad that you need to embed it? Maybe you could just use Rust and have something performant without adding complexity?

Their vector search modules are the reason I embedded it. I tried sqlite and wasn't getting good search results with the vss extension. Maybe I wasn't configuring it correctly. Redis was just better than the alternatives (qdrant, sqlite, duckdb with vector search).

Re: Show HN: I rewrote my Mac Electron app in Rust

#133
post #14

I recently went the other way (started a project in Tauri, moved to Electron) because of frustration with rendering differences between the web views employed on different platforms. Have you run into any cross platform UI bugs since you switched? It looks like your UI needs are pretty simple while computation is complex so the extra QA tradeoff would still be worth it for you. I'm just wondering if my experience was…

You’re post honeymoon. “We moved from X to Y and were so in love.” posts are often postcards from the honeymoon.

We love it here. We're staying together forever

Re: Show HN: I rewrote my Mac Electron app in Rust

#134

Earlier quoted context omitted.

Came here to post this. So curious about the choice to NOT use sqlite.

Would have loved to use sqlite if I could get good results. Maybe I botched the implementation.

Creator of sqlite-vec here, happy to help debug anything if you do attempt to try out SQLite vector search again.

You mentioned "VSS" in another comment, which if that was my sqlite-vss extension, I more-or-less abandoned that extension for sqlite-vec last year. The VSS extension was more unstable and bloated (based on Faiss), but the new VEC extension is much more lightweight and easy to use (custom C vector functions). The new metadata column support is also pretty nice, and can be used for push-down filtering.

That being said, sqlite-vec still doesn't have ANN yet (but can brute-force ~10k's-100k of vectors quick enough), and I've fallen behind on updates and new releases. Hoping to push out a desperately-needed update this week

link: https://alexgarcia.xyz/sqlite-vec/

And there are a few other SQLite-based vector search extensions/tools out there, so the ecosystem is general might be worth another look.

Re: Show HN: I rewrote my Mac Electron app in Rust

#135
post #58

Earlier quoted context omitted.

With Electron, it will bundle chrome into the app so you only have to handle that single rendering engine. Tauri uses whatever is the default browser on the system the app is installed on

I know. I'm saying that Tauri doesn't make things more difficult than any normal web app development, it's not like making web apps which work across browsers is a new and scary thing

Tauri does not do this in all cases, as WebkitGTK on Linux has performance issues and is often the ugly duckling of everything.

I also feel like I will have to, yet again, trot out the comment from a Slack dev that explains why they moved _from_ per-platform webviews to Chromium. This isn't new ground being charted, plenty of companies and teams have been down this path and Electron exists for a reason.

(I am not saying Electron is _good_, I am saying that Tauri isn't the holy grail people make it out to be)

Re: Show HN: I rewrote my Mac Electron app in Rust

#136
post #60

Earlier quoted context omitted.

Is WebKitGTK as used by Tauri worse than WebKitGTK used by a web app user's web browser?

No. But also, nobody(first order approximation) uses Gnome web. I would wager most javascript web apps don't work on that browser anyways due to webkitgtk. The most popular gnome distros all come with firefox installed so even the "just use the default" folks won't be using gnome web.

But the thing is, if you're using Tauri, you control the web app. So you need to test it on WebkitGTK, I guess that's the extra burden?

Re: Show HN: I rewrote my Mac Electron app in Rust

#137
post #117
post #105

It's sad to witness how much suffering developers are ready to endure (and make their users suffer) just not to part ways with HTML/CSS/JS stack. The stack that was never designed properly, let alone for modern UI apps. Flutter would be much better choice for such a desktop app, for example.

you still can't have multiple windows with flutter, which disqualifies it for building desktop apps.

There is an unfortunate increasing trend to build desktop apps that only live in one window, so it's not really a "disqualification" - perhaps more a "complication".

Re: Show HN: I rewrote my Mac Electron app in Rust

#138

Earlier quoted context omitted.

Would have loved to use sqlite if I could get good results. Maybe I botched the implementation.

Creator of sqlite-vec here, happy to help debug anything if you do attempt to try out SQLite vector search again. You mentioned "VSS" in another comment, which if that was my sqlite-vss extension, I more-or-less abandoned that extension for sqlite-vec last year. The VSS extension was more unstable and bloated (based on Faiss), but the new VEC extension is much more lightweight and easy to use (custom C vector functio…

Hey Alex - thanks for commenting. I'd be interested in giving this all another look. Like we mentioned in the post + comments, We went with redis because that's what got us the results we wanted. I'm open to revisiting our vector storage if it spares us needing to manage a separate db process.

Re: Show HN: I rewrote my Mac Electron app in Rust

#139

Earlier quoted context omitted.

As a rust developer, I do too! Those are not representative of rust GUI/3D etc desktop applications. I've made some pretty complicated stuff with 2D and 3D graphics, lots of functionality; expected size is 5-15Mb on Windows, and 10-25Mb on Linux. Less if you don't need 3D.

is there a UI framework production ready yet in rust??? because for Tauri at least you can use JS which is fine

EGUI

Re: Show HN: I rewrote my Mac Electron app in Rust

#140

Why did you bundle Redis and not use one of the many key value libraries available for Rust (or even sqlite)?

For vector search we couldn't get my results to return meaningful entries. My preference would have been to use sqlite. Any others you recommend besides sqlite with the vss extension?

How are you searching with redis?

Aren't vector searches usuaully just like nearest values with some distance calculation? Are they not all implemented the same way?

Post reply on HN