electron 🤮
Tauri 😍
Native apps 🤯
I don't think anybody argues against the advantages of native apps, it's just that it's generally a financial and developmental pain in the ass to write platform-specific code for a cross-platform app, frameworks like Electron and Tauri have their problems but also solve some.
how well along is tauri?
Hit 2.0 recently and is gaining steam! The main thing that keeps some from adopting it is it's main selling feature: it's the OS native web view.
That means if you're a lazy web developer who uses non-standard APIs in Chromium, your web app is going to break.
But if you actually respect the web as a platform and write code that works in all environments, Tauri is the way to go at this point.
Did they fix webview issues on tauri 2.0? Last time i try use it i had all sorts of issues, global menu didn't work, the app didn't know the system theme (defaulted to light theme), clicking links didn't open they on the native browser, neither did they app if it tried to, making logins that redirect to the native browser unusable, it has like the app couldn't do any interaction with the system at all.
And my system isn't exotic, i have firefox and chromium installed, i'm using kde plasma, i have tons of libraries of all sorts installed because of many "dense" native apps, electron apps worked fine, native apps worked fine, tauri apps didn't.
So, if they fixed the incompatibility issues it would be awesome to have a new tool available for desktop development.
NeutralinoJS.
Tho honestly any WebView based solution
It's gonna be THE FUTURE!
who cares about everything else , have you seen slack? Make your own slack!
Javascript, lightweight and performant in the same sentence ??????
Only one of those three is a real word according to Merriam Webster
as someone who mostly uses C and doesn't do much web stuff, 25 MB being "lightweight" is crazy
One time, someone was angry I didn't approve their PR with a library choice which was an extra 5mb bloat on build, which provided basically nothing useful for a frontend, and they called their manager on me. The 5mb wasn't even the main reason why I said no...
Do a progressive web app…
Then ios/safari breaks everything :(
I don't understand why electron started to require Windows 10 but also doesn't use WebView2.
These 2 things in combination just don't make sense to me. Just use Tauri if you're building something new
Because it bundles Chromium which doesnt support old versions of Windows anymore either.
Devs shouldn't be bending over backwards to support dead operating systems. Its like <1% of most user bases and generates a lot more than that in support tickets. Not worth the time and effort for 99% of us.
But why does it ship with Chromium when Windows 10 already comes with Chromium?
No reason to bundle over 700mb of dead weight imo
Windows ships with Edge. Edge is not Chromium.
Linux installs often have Firefox as their default browser and no Chromium implementation whatsoever.
The whole point of an Electron app is to be self-contained without needing dependencies.
Microsoft could update the version of Chromium that underpins their Edge install at any time (and they do.) If Electron is using the version built into Windows and there's a breaking change, congrats, now all your Electron apps are dead and won't function.
Enterprises are not fond of critical apps failing because of an overnight update. Bundling a specific version with the app guarantees ongoing compatibility.
Windows ships with WebView2, which is what Tauri uses. Apple and Linux have similar APIs. You might want to look into it, it's actually a pretty cool feature
While the concern about breaking changes is legit, the same could be said about any critical web app
No. It can't be said about one with baked-in dependencies. Which is Electron.
But is electron a web app?
Web apps run in the browser and will always depend on the browser the user has installed. Electron builds desktop apps that use web technologies but they don't run in a browser and have no connection to the web unless explicitly built in
Thats all Electron is. It wraps web apps so they can run as desktop apps.
I would rather define it as an app that uses web technologies. Web apps always depend on the browser of the user
But at this point this argument is just about terminology, I don't care
So self contained apps use Electron and Steam uses Proton?
You're comparing a toaster to a lawn mower. Not the same concept.
I was trying for a pun but ah well
It would be great if you could target a specific webview version, which has to be installed like a .net framework redistributable. At least then every app using edge 139 can share the same install, and presumably the os could share identical files between versions.
Dynamic linking to save a couple MBs in shared libraries is why spending GB dockerizing to ensure a consistent runtime environment sounds reasonable and sane. When 99% of hard drive space is consumed by 4k 60FPS video, "oh you can share a couple library files between programs to save space!" Is a red herring.
The nice thing with shared libraries is rather user freedom. You can swap a shared library with another one with the same API. Of course that's the opposite of having a reproducible environment, but it can be very useful for end users.
Why install five full copies of edge if they only differ by a handful of files? The problem with shared libraries traditionally is you get different versions depending on the system, but that's the exact problem we're avoiding in this hypothetical scenario, so I don't really see an issue with the OS managing the webview installs efficiently. The alternative you're describing, where each app includes a copy of the library, is literally just Electron.
Because those handful of files can be ludicrously important and a full copy of edge is like a nickel of hard drive space. Why fuck around and make dependency hell to save a nickel of disk space?
The alternative im describing is one I fully approve of. Electron good and the circle jerk against it is bad.
How long until 10 is dead..
End of this year for base support, extended support lasts a few more years. And even after that, it always takes time to truly phase stuff out.
The further out of support something is, the less work should be put into maintaining apps for it.
Windows 7 has been EOL for 5 whole years now and it had an exceptionally long shelf-life because of the poor reception to 8. But people have had plenty of time to transition off. Windows 8 has been EOL for 2 years now, and there's not many good excuses not to move to at least 10.
11 is a different beast with all the TPM controversy, I have a feeling 10 is gonna hang around a lot longer than most of us would like.
I’m still on 10 and don’t wanna switch. More spyware. I’m sick of it.
A TPM is not "spyware" it's a secure enclave to make sure your encryption keys don't leak.
If you wanna complain about 11, the ads are where you should direct your energy. I can absolutely guarantee that the data collection systems are identical between the two OS's.
I didn’t say the tpm is spyware.
It has the advantage of enforcing the exact same chromium version on all platforms. If your thing works fine on every browser by default (as it should) you're probably fine for using webviews
I think something like a compiler option that either ensures complete comparability or ditches the 700mb of chromium would be very welcome