Live data from Hacker News

Tauri: An Electron alternative written in Rust

tauri.studio

191–200 of 438 posts

Re: Tauri: An Electron alternative written in Rust

#191
post #83

Earlier quoted context omitted.

It's weird to want all the benefits of web development without it's unfortunate quirks in my opinion. If desktop developers don't want to deal with them, which I think is reasonable, they have loads of other tools they can use to build desktop apps (and give the users a better experience most likely).

It's not weird - every developer wants to 'just code' their features/business logic without having to deal with the pain points of the tech. They choose web tech for their app because the opportunity cost of learning a desktop-native language is the time that could be spent bootstrapping an electron app and getting the product out the door earlier.

It seems like it would be pretty easy to get rolling a feature request for automatic polyfills. I'm not sure if Tauri pre-compiles the js it's handed, but if it does it can very easily check for what needs to be polyfilled.

Re: Tauri: An Electron alternative written in Rust

#192

Can we just stop using browsers as a framework for desktop applications? That's not what they are meant for. Electron and everything like it is the ultimate expression of developer laziness.

There's a reason why no one wants to build a desktop app using Qt and it's not laziness.

Re: Tauri: An Electron alternative written in Rust

#193
post #168

Why doesn't Electron debundle itself into the Runtime vs Application? Much like .Net Runtime. Electron can then be installed in a single spot in the system and all Electron apps pick it up from that spot. You can install bundle the Electron Runtime in the installer (200mb installer is no biggie for a desktop app) but you get all the benefits of consolidating RAM usage across.

Well, the .Net runtime isn't exactly the most successful story from an end user perspective, where you occasionally run into weird problems with mismatched runtimes or missing runtimes or similar.

Granted, it's not that often, but it feels like a lot of apps relying on it just ship their own copies of the runtime. Still saves resources if multiple apps use the same runtime version, but...

Re: Tauri: An Electron alternative written in Rust

#195

Earlier quoted context omitted.

It isn't your fault that you have to do this, it is that our industry hasn't created enough quality, easy to use, cross platform gui libraries for popular languages, such that the only viable place to turn is to use a whole web browser.

We've had about 60 years and multiple huge attempts at it, and IMHO HTML & CSS _are_ the easy to use cross-platform GUI platform. Nothing else stuck--flash, java swing, qt, etc. were all super capable and promising but failed to gain mass usage. HTML & CSS is the way. Nothing in existence has as much capability, developer usage and talent pool, accessibility and internationalization features, etc. A good GUI system i…

I don't think HTML+CSS is the way because of innate goodness of them, but because the web led to so many people being expert at it, and so many tools being built around it, including a cross platform browser or too that are top notch to render it all.

At the very least a proper gui library could precompile all of that stuff so you aren't literally parsing HTML and CSS to render things, and HTML And CSS parsers don't need to be part of your running code. Nor a Javascript JIT, and runtime, etc.

Re: Tauri: An Electron alternative written in Rust

#197

Earlier quoted context omitted.

I use Chrome, Safari and Firefox on a Mac. In my experience, unfortunately it isn't true that apps work with very high reliability. This is why I use multiple browsers. I don't want to use Chrome, and I encounter new websites with functionality that don't work properly in Safari or Firefox quite regularly. Some of this is even quite basic functionality. From things like shopping carts where the final payment button d…

I think this is more a problem with developers working in Chrome and using Blink-specific features. I stopped having compatibility issues with my apps when I moved to Firefox years ago.

Some of it is Blink-specific, but some of it is silly Javascript stuff. How else do you explain a shopping cart final payment button not working.

I like development in Firefox too. When I was doing it intensively (just ~2 years ago), I found some of the CSS I was using behaved differently between Gecko, WebKit and Blink, though (and differently again in Android's pre-chrome browser), so I reconfirmed that I do need to test some things across all browsers. By differently, I don't mean prefixed browser-specific CSS (although there is that), I mean standardish things like table row height calculations showed up significantly differently, certain border highlights, and a number of WebKit rendering bugs that Gecko did not have. Key-event based text editing and wheel events are also significantly different, even more so when you include the common mobile browsers.

Re: Tauri: An Electron alternative written in Rust

#198
post #168

Why doesn't Electron debundle itself into the Runtime vs Application? Much like .Net Runtime. Electron can then be installed in a single spot in the system and all Electron apps pick it up from that spot. You can install bundle the Electron Runtime in the installer (200mb installer is no biggie for a desktop app) but you get all the benefits of consolidating RAM usage across.

It already is. For example, on Arch Linux, Electron is packaged as a separate binary and the eg. VS Code binary is just a shell script that points electron to the right entrypoint

  #!/bin/bash
  ELECTRON_RUN_AS_NODE=1 exec electron9 /usr/lib/code/out/cli.js /usr/lib/code/code.js "$@"
But most Electron apps prefer to bundle the whole runtime with their app.

Re: Tauri: An Electron alternative written in Rust

#199
If someone paid me to do something similar, I would probably be building on top of this: https://github.com/Const-me/Vrmac

There’re two hard problems there.

One is how to render vector graphics and fonts. So far, only web browsers do that in a cross-platform way. Windows has it’s Direct2D and DirectWrite, while Linux has nothing comparable, unfortunately.

Another higher level one is how to build easy to use GUI library on top of that. Have not approached that one. I have a few ideas but did nothing so far to address them, lately I’m too busy with other projects.

Re: Tauri: An Electron alternative written in Rust

#200
post #90

Earlier quoted context omitted.

Make no mistake, it's still a dumpster fire. Just maybe less raging.

I worked on a highly complex web app for ~3 years, and we made a point to support Firefox, so whenever somebody had a Firefox-specific bug we wouldn't tell them to just use Chrome, we'd fix it. We only had 2-3 Firefox-specific issues in that entire time. I have heard that mobile safari can be a bit more unruly than the rest, though it isn't really relevant to the question at hand

Similar. Built a very complex app officially aimed at oldIE but made a point of ensuring it worked on other browsers too, largely on a skunkworks basis. A few years later (when we're no longer actively working on the app) everyone switched to Chrome and it Just Worked. Someone tried it on an iPad and it Just Worked (modulo some fat-finger challenges with small UI affordances).

At the time, jQuery was a big help in this, especially in hiding the event model mess. Things are a lot better now. Although I do wish we had a strict compatibility-checking layer that'd warn you if you used any feature of the web platform that wasn't supported by everything you wanted to support.

Post reply on HN