18 ms·
Tauri 1.0 – Electron Alternative Powered by Rust
- bennyp101 4y agoAwesome, I've been waiting for a 1.0 release to start playing around (I know its been fairly stable anyway, but still)
- SeasonalEnnui 4y agoDoes anyone else find that the text-to-speech on the "Tauri in 100 Seconds" video sounds very unnatural? Tauri seems like a step in the right direction so will be giving it a go.
- j0ma 4y agoIt's not text-to-speech, it's the video (and voice) of a Youtuber (Fireship) that makes a lot of "in 100 Seconds" videos about all kinds of frameworks/programming languages/etc.
- kristiandupont 4y agoI guess it's been processed to remove gaps which makes it sound unnatural and to me as well as GP I guess, antagonizing.
- drcongo 4y agoSurely that's not a human voice?!
- bil7 4y agolol, Jeff (the video creator and narrator) will probably take this as a compliment.
- krageon 4y agoLike a lot of newer video content creators, this author has perfected their ability to speak exactly like a speech to text synth does: The same inflection over sentences, no human variability between lines, a lot of post-processing.
- jamincan 4y agoWhat would drive this? I've noticed more videos like this recently and it has an uncanny valley effect that makes me shut if off almost immediately.
- krageon 4y agoI am the same way, but I've noticed folks 10-15 years younger than me don't mind it at all. Perhaps it's just some weird internet culture thing that I'm too crusty to understand :)
- stjohnswarts 4y agoMaybe tiktok TTS is now the standard for vocal communication :( . If I ever hear "the young people" talking like this to each other when I'm out shopping I think I will retire and just move off the grid.
- sitkack 4y agoThat should be a sub genre of popping and locking dance competition, also sound like a TTS. The AGIs should be concerned about us, not the other way around.
- drcongo 4y agoI literally closed the tab after about 8 seconds of it. It's unbearable.
- chrismorgan 4y agoI find it surprisingly hard to judge, because the edit style is so obnoxious and poorly executed. I think it’s done by a human, but the speech and editing are both sufficiently lousy that I’m not confident from this video alone—though another couple of videos I tried were definitely somewhat better. The aggressive cutting style is just bad editing, and the speaker has spoken each phrase independently with no attempt to bridge them (which a competent speaker would do). The first ten seconds are particularly grating, with thoroughly unnatural emphasis on the start of most syllables, almost as though each word or even syllable had been spoken independently and then glued together (e.g. And, A, Light, Weight, Rust, Back, End). The prosody is also regularly quite a bit off, and it’s hard to determine if that’s related to the bad editing and speech segmentation, or an independent issue. There’s enough that feels natural in things like intonation that I don’t think it’s TTS, but it’s also making a lot of the sorts of errors that even the best TTS engines habitually make. I get the impression that it’s a human who doesn’t know how to speak or edit particularly well but normally gets away with it not being too bad (as I say, other videos seem to be better, though they still suffer from the aggressive cut style), but compromised harshly on quality in this case in order to squish more into the hundred seconds… and still ended up 50% over time. I very strongly dislike the general style.
- syzygyhack 4y agoDifferent strokes. I love Jeff's style and video pacing, though I don't think this is one of his best.
- jeffhuys 4y agoI guess that happens when you try to fit everything in 100 seconds. Also, it will become almost literally impossible to hear the difference in the near future, so I personally wouldn't keep assuming it's one or the other. Also also, did you give this feedback to Jeff?
- chrismorgan 4y ago> I guess that happens when you try to fit everything in 100 seconds. What, you overshoot by 50%? :-) But more seriously, the job that has been done is simply low-quality, even disregarding the choppy edit style—probably a mixture of shoddy work (from comparing it with some of the others), and the creator not being capable of better as regards the speech—most aren’t particularly aware of how to improve. Much better is readily possible. > Also, it will become almost literally impossible to hear the difference in the near future I am an excellent reader, highly regarded for my diction and prosody and for conveying the sense of a matter. So far, I haven’t heard a TTS demo, hand-picked or otherwise, that would stand a chance against a skilled reader: the veriest dunce would savvy which was which within a couple of sentences. (And at least a couple of the demos were deliberately trying to address these sorts of shortcomings in inflection and such.) Certainly they’ve reached the stage where you often can’t reliably identify the computer versus the mediocre reader (and there are an awful lot of them), but I don’t think we’ll see computers beating skilled readers and speakers any time soon, when I consider how poor a job AI is still doing on coherent longform writing, and then add the degrees of nuance and information conveyed in speech. (Supplant them? Sure. But you don’t have to be better than something to supplant it, just cheaper, or some such thing. My favourite example of this is book binding where hot melt glue is vastly inferior to cold glue, but it’s much faster and thus cheaper to produce with, and it’s good enough that you’ll struggle to find cold glue ever used in production now.)
- zeta0134 4y agoThe introduction being a video, and only a video, is already a major annoyance. I don't suppose the text is available for reading somewhere?
- akmarinov 4y agoShal'kek nem'ron
- linkdd 4y agoJaffa kree!
- moffkalast 4y agoIndeed
- vanilla_nut 4y agoTwo “L”s!
- Octoth0rpe 4y agoIn the middle of my backswing!
- andrew_ 4y agomy pond has no fish
- sva_ 4y agoSadly mobile support is still far off on the horizon it seems.
- capableweb 4y agoIt doesn't seem at all "far off on the horizon", it used to seem far off, but seems they have people dedicated to it right now.
- capableweb 4y agoTauri is such a breath of fresh air for a web developer like me! I picked up Rust because of it, and was easier than I thought (I've read lots of "Rust is hard" articles). The application I wrote is a Hacker News client with focus on offline reading and listing comments in threads sorted by time and flat, instead of trees sorted by score (which incidentally, also works as a web application which is deployed here: https://ditzes.com/ https://ditzes.com/). I found it helpful when I'm traveling but still want to read discussions, useful for following along threads that are actively being discussed (this submission can be seen at https://ditzes.com/item/31764015 https://ditzes.com/item/31764015 for example) and also useful when using HN comments as reference to something I'm building. Guess I'm also pretty proud that the client is VERY fast, loading 1000 comments in something like 1s (because of the caching). Like this thread for the Coinbase layoffs: https://ditzes.com/item/31742590 https://ditzes.com/item/31742590 (1001 comments) The Tauri application currently works with 99% of the features of Ditzes, but the mouse "back" button doesn't actually navigate the internal browser back in history with Tauri yet, so I haven't done a "Show HN" yet as I consider that a essential feature of Ditzes (for following along threads via the "View" link) before "launching" it. The Tauri-part of the source can be found here: https://codeberg.org/ditzes/ditzes/src/branch/master/src-tauri https://codeberg.org/ditzes/ditzes/src/branch/master/src-tau... Overall, besides the extremely long compile times, Tauri has a been a pleasure to develop with, and I'd definitively use it over Electron in the future. Really looking forward to mobile support as well, as then I'll finally have a comfortable and offline-capable HN client for my cellphone.
- microtonal 4y agoOverall, besides the extremely long compile times Out of curiosity: fresh builds or also incremental builds? If the latter, how much of it is linking?
- capableweb 4y agoBoth :) But what bothers me most, is the slow incremental debug builds. But that's a general Rust problem, although seems extra bad with Tauri. My project has ~1700 lines of Rust, ends up pulling in ~700 dependencies and changing one line in main.rs takes about ~20 seconds for the debug compile to finish (on a 5950X CPU). Fresh build takes about 1m30s but that only happens on CI, so not really a problem day-to-day for me. Full CI build on Codeberg/Woodpecker takes around 5 minutes from push to release created, but that's including other things too.
- Linda703 4y ago[dead]
- nachtigall 4y agoIt still uses node.js, right? Since it is new and for the future, why not choosing deno?
- capableweb 4y agoIf it's for the future, why not use something even newer than Deno, because clearly newer === better? But on a more serious note, what could they possibly stand to gain to use Deno instead of NodeJS at this point? The languages are mostly the same, the tooling slightly different. Sounds like it'd add a lot of changes just for the sake of changing things. Not to mention newer stuff usually are less tested and higher chance of not working. Speaking about newer, has Deno received any sort of security audits? Tauri is pretty focused on security, so one could assume that'd be a requirement before even considering Deno.
- mattlondon 4y agoDeno does not use NPM, so there are huge gains to be made in that regard.
- capableweb 4y agoThat seems like a huge loss in terms of productivity. In what way is that a gain?
- SahAssar 4y agoNo, doesn't seem like it. You can optionally bundle nodejs, but it's not required.
- m12k 4y agoAccording to https://github.com/tauri-apps/tauri https://github.com/tauri-apps/tauri they are using "Node.js for running the CLI (deno and pure rust are on the roadmap)"
- capableweb 4y ago
- productceo 4y agoIs this a substitute for Flutter? (After mobile support ships)
- k__ 4y agoIf I get this correctly, Tauri is neither about performance nor size, but about security?
- capableweb 4y agoNot sure. To me, they seem to nail all three of them. - The desktop application I build end up being 16M which seems small enough to me. - The performance is generally good enough, even though I haven't spent any time optimizing things (here is loading 1000 comments from a HN thread https://ditzes.com/item/31742590 https://ditzes.com/item/31742590, even faster if you use the local version [obviously])
- stjohnswarts 4y agoSure but when it's loaded how much memory does it use?
- capableweb 4y agoJust as a reference, the application I'm building features a lot things inside the final binary, that might affect ram usage, so this is not a "hello-world" example but a real application, with a SPA built-into the binary and loaded into RAM, together with a HTTP API and more (fuller list here: https://news.ycombinator.com/item?id=31765186 https://news.ycombinator.com/item?id=31765186). With that said, `ps_mem` (https://github.com/pixelb/ps_mem https://github.com/pixelb/ps_mem) reports that the memory usage is 58.7 MiB after starting the Tauri application. If I run just the HTTP API, memory usage ends up being 19.4 MiB. So I guess in that sense, the overhead of Tauri is about ~39.3 MiB. For my use case, that's pretty acceptable. Edit: full data in case it interests people: Desktop application: Private + Shared = RAM used Program 47.0 MiB + 11.7 MiB = 58.7 MiB ditzes Just the API: Private + Shared = RAM used Program 19.0 MiB + 345.5 KiB = 19.4 MiB api
- rahen 4y agoPer their introduction video they advertise it as lightweight as the runtime "only" uses 180MB of memory at startup. This makes GTK and QT look lightweight in comparison, not to mention FLTK, a 3D enabled, platform independent toolkit, which fits in a statically linkable 300kB library. Of course, these require C++, and the point of those frameworks is to enable web developers to become application developers. One can't expect resource efficiency when everything has to run on top of a web browser.
- hdjjhhvvhga 4y agoThe other lightweight alternative to Electron is Neutralino.js: https://neutralino.js.org/ https://neutralino.js.org/
- Octoth0rpe 4y agoLike Tauri, this is only lightweight in terms of download size as it doesn't download chrome. The 'bloat' of electron is really at runtime due to loading a full browser engine. Both neutralino and Tauri will use roughly as much ram as an electron app, give or take. You're only saving on download size.
- tmikaeld 4y agoThis is false, with every electron app, you're loading ~200MB into RAM to handle the main browser process. With neutralino you're using the system main process, so you're only spawning a new browser thread.
- wener 4y agoYes, but the the new browser thread is about 180MB witch depends on platform, on windows, I think the webview2 is the same as electron.
- FractalHQ 4y agoThis is only the case for Tauri on Windows because the native website is just Chromium. On MacOS it’s much leaner. I can’t find the thread where the Tauri devs mentioned a plan to fix this, but iirc they do have one.
- petercooper 4y agoCoincidentally I enjoyed this article yesterday about using Tauri and React to quickly build a desktop app: https://betterprogramming.pub/how-i-created-the-focus-app-using-react-and-rust-fd8fd072d1a7 https://betterprogramming.pub/how-i-created-the-focus-app-us...
- crabbygrabby 4y agoBeen using tauri since it was in alpha for hobby project. Experience overall is pretty good. You really can call backend rust from js, in a lightweight browser window. It is probably the most approachable technology for me for making desktop apps these days. Much leaner than electron, like it says on the tin.
- flohofwoe 4y agoNot to rain on the parade, but: - What's the point of mentioning Rust when the heavylifting is done by the system's webview widget, and applications are written in HTML/CSS/JS, just as in Electron? - Isn't the whole point of Electron to have version/feature stability for the browser APIs by bundling a specific Chromium runtime? Without this requirement, it was also trivial before Electron showed up to write a small native wrapper application around the system-provided webview widget.
- Humphrey 4y agoI think it depends on your use case. Yes, a huge selling point Electron is being able to control the Chromium version. But, I can imagine a lot of less complicated apps don't need this. Also, the Chromium renderer is only half of an Electron app. There is also a background thread running in node, which can pass messages to the renderer. So, I can imagine that for apps that are more background thread heavy, swapping out node for rust could work quite well.
- javajosh 4y ago>I can imagine a lot of less complicated apps don't need this Also, more complicated apps don't need this, the ones that want to control every aspect of the render, with SVG or Canvas.
- Octoth0rpe 4y ago> What's the point of mentioning Rust when the heavylifting is done by the system's webview widget, and applications are written in HTML/CSS/JS, just as in Electron? You're assuming the 'heavylifting' part of the application is in the UI itself. Imagine some data processing app where the heavylifting part would benefit from a backend running in Rust. Say, an image enhancer of some kind. > Without this requirement, it was also trivial before Electron showed up to write a small native wrapper application around the system-provided webview widget. Electron also made the packaging of such an app dramatically easier when building on macos/linux/windows.
- deleted 4y ago
- api 4y agoI wonder if they've gotten around the horror of Windows distribution for native webview based apps? The usual problem is that you have to either use an antiquated IE based webview on Windows or install the Microsoft Edge runtime. The latter is painful to bundle and some people don't like it, especially enterprisey IT departments who consider it "another thing" they have to approve instead of just a part of the app since it's a separate OS component.
- Octoth0rpe 4y ago> The usual problem is that you have to either use an antiquated IE based webview on Windows or install the Microsoft Edge runtime. Windows 10/11 both ship with Edge by default, so however big of a problem that is _now_ (probably depends a lot on your target market), it certainly will progressively be a smaller problem over time. Windows 10 was released almost 7 years ago, so while there are undoubtably some corps stuck with windows 8 as their standard, most of the world should've moved on at this point I'd think.
- api 4y agoIt depends on your target market then. If it's for business/enterprise use you have to ship the entire universe and try to support Windows as far back as possible because companies don't upgrade.
- rathboma 4y agoIt is these types of platform questions that make Electron so powerful from the developer perspective. In building Beekeeper Studio I already have a lot of OS-specific problems to debug, having to also debug the webview just makes it 100x harder.
- api 4y agoElectron is one of those things that's both terrible and awesome at the same time. It's great for developers but it's a RAM hog, a CPU hog, a bandwidth hog (in downloads), and a disk hog. But don't blame Electron. Blame OS vendors and their refusal to standardize anything when it comes to app distribution.
- j1elo 4y agoThis seems a very interesting addition to the Rust ecosystem. I wonder how much traction it will get, though. Some days ago there was an HN thread about Rust, conversing about the steep learning curve of Rust. The conclusion frequently is that maybe Rust is great for financial systems, kernels, rendering engines, media processors, etc... but just not necessarily the best tool for the job when there is no pressing need to avoid GC, and/or to squeeze the maximum performance while at the same time maintaining memory correctness. Which, on the other hand, tends to be the immense majority of application development out there... So Tauri seems to me has a similar issue than the Qt Framework (built on and for C++): its adoption as an Electron alternative might not be as much as it deserves, because of the difficult to learn programming language that is behind it. Thoughts? EDIT: I know Tauri is just a WebView component, but programming in Rust still seems to be an important part of developing apps with it (it is even prominently featured in the 100 seconds video of the entry)
- flohofwoe 4y agoTauri is "just" a system webview wrapper. It's an interesting alternative to Electron for some applications because the installer is much smaller, but it also has downsides compared to Electron (the system web view will be updated independently and may unexpectedly break the application). As far as I understand, applications are not written in Rust but in HTML/CSS/JS.
- brabel 4y agoThere's a communication channel between the Rust code and the JS running in the browser. It's possible to move as much functionality to Rust as you want... It's even possible to compile Rust to WASM to use that in the "frontend" though that from my experience is very cumbersome due to the Rust bindings for the Web API being pretty terrible.
- Humphrey 4y ago> As far as I understand, applications are not written in Rust but in HTML/CSS/JS. Frontend UI yes. But enables you to use rust for your background worker (Electron apps use node for the background worker)
- newbieuser 4y agoIt would be really nice if they had their own app store or package manager.
- capableweb 4y agoHow so? What could they potentially gain by having their own app store or package manager that they don't gain by just leveraging the existing ones?
- sitkack 4y agoBeing Rust means that OSS desktop apps can just use Cargo to install, potentially making every app user also a Rust developer.
- newbieuser 4y agoThank you for your silly comment, which I remember again why I don't like this place. I hope you get out of puberty as soon as possible.
- capableweb 4y agoExcuse me? If you're unable to clarify your thoughts enough so others can understand what you mean and why you say what you say, you need to take a step back. I do really want to understand the "why", I'm not being sarcastic or anything.
- aitchnyu 4y agoWhy does Tauri say "faster" or "blazing fast"? I think it has same limitations as Electron, or did I miss something?
- infinitezest 4y agoAs it is written in rust, I believe this is a legal requirement.
- gorjusborg 4y agoalso, don't forget: it is safe.
- no-reply 4y agoMore like a required dependency.
- born-jre 4y agoelectron ships with own browser so each app is like running a separate chrome* instance but this a wrapper around systems webview. i think thats where claim comes from. edit: embedded lib-chromium thing
- wener 4y agoIt's faster to start, faster to build, but not faster for pure web, most of time is slower than electron except for windows, because webview2 and electron using the same core. But if you replace some of your app function by bridging to rust, it's blazing fast.
- mrits 4y ago
- sourabhv 4y agoI would honestly prefer flutter instead of relying on system web view and all of its inconsistencies
- wener 4y agoThis is totally different use case, you may prefer GTK or Qt if you know it, tauri is about giving the power to web devs to compete with Qt devs.
- encryptluks2 4y agoWhat has been stopping them? PWAs have been around for quite some time.
- wener 4y agoIt's just take time and browser feature complete, like photoshop is one web now.
- nu11ptr 4y agoI looked at it, but there is very little ecosystem support for other UIs beyond Material. There are partial Macos/Windows (fluent) libs but everything still seems quite immature. I do think it gets better rapidly though.
- wener 4y agoHere is another one https://github.com/wailsapp/wails https://github.com/wailsapp/wails powered by Golang, but both of tauri and wails do not support BrowserView like feature in Electron, which means you can not build a brave browser on top of them. Depends on your skill set, wails maybe better, think building a UI based tailscale app, just make the embed web part display directly instead behind a http.Server with extra 3-5 MB
- olah_1 4y agoWails doesn’t seem to have a plan for supporting Mobile OS’s. Tauri has that on its roadmap
- wener 4y agoIf I'm trying to bring app to mobile, ionic is my first choose. Like fluter is not the first choice to build a web app. For tauri case, most tauri app shared part is web based, you can just put it into ionic, and deploy for mobile now.
- remram 4y agoIt's been submitted today too: https://news.ycombinator.com/item?id=31764773 https://news.ycombinator.com/item?id=31764773
- onionisafruit 4y agoBy the same person you are replying to :-)
- mattlondon 4y agoAre there any good HTML ui component libraries that people are aware of? Not just styling buttons with CSS, but actual components like e.g. tab-strips?
- wener 4y agoWhat you mean tab-strips ? There are toooooooo many good HTML ui components, good I mean beauty, good code quality, maintained by a team, but maybe not good enough for your use case. UI is verrrrrry subjective. Some link to share - MacOS & Windows https://github.com/gabrielbull/react-desktop https://github.com/gabrielbull/react-desktop - Ubuntu https://github.com/vivek9patel/vivek9patel.github.io https://github.com/vivek9patel/vivek9patel.github.io - XP https://botoxparty.github.io/XP.css/ https://botoxparty.github.io/XP.css/ There is no such thing like desktop native components, you have to choose the desktop first, every desktop is different, but there are always someone simulate the ui.
- tpetry 4y agoAll these components/frameworks are build for websites, but a desktop application looks different. I haven‘t seen a maintained desktop application ui framework in years.
- mattlondon 4y agoCare to share some links? I have been unable to find any "desktop-like" components. There are many many things that just use some CSS styling on native radio buttons or whatever, but very few that offer higher-level functionality like tab-strips where I can pull of a tab and reorder it etc. I.e. more than just styling some divs.
- wener 4y agoYes, there is no fully desktop like components, looks like desktop but no desktop. Just like recently the app is not that native look, only flutter give you almost pixel perfect native looking, native is hard, build for the base os needs, not for every one to use. The good side of using native is less learning more intuitive, but everyone doing there own design system now, users already trained to use newer design pattern.
- lewisjoe 4y agoIn my curious search for lighter Electron alternatives to implement Zoho Writer's (https://writer.zoho.com https://writer.zoho.com) desktop app: I found Sciter[1] It supports multiplatform app development with HTML/JS/CSS and the entire engine's runtime is just about 5MB which is unbelievably small! I further analysed how this was possible, what I found was beyond fascinating. 1. The author has wrote a compiler that supports JS with useful extensions like classes and fancy stuff, even before ES6 came into existence. 2. He had built his own layouting engine that understands HTML and CSS 3.0 Basically he's built a custom browser engine, but custom tailored for writing multi-platform apps. So it's super-fast without as much memory taxes. It's not backed by a BigCo or a huge community (I guess) and I'm not sure whether I'll pick it for a business critical app. But the way it's architected seems far superior than the shortcut approaches that Electron or most other alternatives take. The project is not even new. It's more than a decade old which itself is amazing. [1] https://sciter.com https://sciter.com
- wener 4y agosciter looks good, but just don't think about the recent modern web feature, current web feature is impossible to make it right/full by a small team, even ms can not catch up, so they just choose the chromium. sciter is good if you are looking for make an app based biz which not depends too much on web spec. EDIT: small app -> app biz
- tommyage 4y ago> sciter looks good, but just don't think about the recent modern web feature, current web feature is impossible to make it right/full by a small team, even ms can not catch up, so they just choose the chromium. Not every feature needs to be supported, which feature are you referring to? Also, given the use case: what is required in your opinion? How does the shift in microsofts scope translate to the efforts to sciter? What did the shift imply? > sciter is good if you looking for make a small app which not depends too much on web spec. Since when is it a feature to comply to "web spec"? Why should anyone continue to comply with all new requirements? And why do you feel it is required for portable desktop applications? Why not settle on some proven essentials? And why I am talking about browser now? Hopefully you elaborate your thoughts: I am sincerly curious about your opinion.
- vegai_ 4y agoWhat is the system webview on Linux, where such a thing doesn't exactly universally exist?
- gilrain 4y agowebkitgtk
- encryptluks2 4y agoWebkitGTK is broken in many ways. The only suitable option for Linux is QtWebEngine.
- gilrain 4y agoNonetheless, my answer is correct: Tauri uses webkitgtk on Linux.
- showmeademo 4y agoI had a look at the tauri site a few weeks ago but could not find a single screenshot or demo app to see what it looked like. It would be good to see what it actually looks like before investing in time to build something.
- crabbygrabby 4y agoAgree screenshots are good, but it looks like a normal desktop window with js running inside.
- capableweb 4y agoYou write your own JS/HTML/CSS to style it, however you want. I'm currently using ClojureScript to write my Tauri applications, but that has less to do with styling.
- Uninen 4y agoI find it fresh and positive that Tauri developers take security very seriously. Before this 1.0 release they ordered a full security audit for the codebase and published the report ( https://github.com/tauri-apps/tauri/blob/next/audits/Radically_Open_Security-v1-report.pdf https://github.com/tauri-apps/tauri/blob/next/audits/Radical... ). The project encouraged me to better my own workflows too, as even the awesome-tauri repo requires signed commits in the PR template :) ( https://github.com/tauri-apps/awesome-tauri/blob/dev/.github/pull_request_template.md https://github.com/tauri-apps/awesome-tauri/blob/dev/.github... )
- smdyc1 4y agoName inspired by Stargate?
- japanuspus 4y agoFor anyone coming from the rust side and just looking for a cross-platform rust frontend framework: although not covered in any details by the docs, you can cut out all the web stuff and run everything from cargo. I have a small `hello-world` example of a rust-only Tauri application at https://github.com/Japanuspus/tauri-from-rust https://github.com/Japanuspus/tauri-from-rust
- jeremychone 4y agoTauri is very well designed, from an app model to its component parts (wry, tao). In short, it’s a platform that allows writing Rust as the backend and use of the OS webview. So light and fast. I think and hope that many new desktop apps, even from the new big player, will be done in Tauri. I plan to use it for some of our future apps. I know mobile is a whole other beast, but I hope Tauri can also crack this one up. That would be amazing. Tauri rocks!
- encryptluks2 4y agoDoesn't native messaging API already do this? Why redevelop an API that has existed for some time.
- jeremychone 4y agoWhat do you mean "native messaging API?" Tauri offers a very elegant, secure, and effective way for the WebView JS environment to communicate with the Rust backend. It's not a trivial task to do this effectively and securely, let alone with something ergonomically pleasing. Anyway, what "native messaging API" are you referring to? Perhaps they missed something obvious, but I found that unlikely.
- encryptluks2 4y agoI was thinking of the extension API but realized after that doesn't cover web apps. It's unfortunate the Web App Manifest hasn't created a permissioned way to communicate with a native app. If they had, it would solve most of these challenges since the standard seems pretty much supported on all platforms. I guess a local app could always run a local web server and potentially communicate that way
- jeremychone 4y agoYes, and as you can see, things are not that trivial. At the high level, you can approach it in two ways. - WebView to localhost would be the first solution but is inherently not secure (or needs lot of work to make it so, and still) - Another way is that the app container that bootstrap the webview have a scheme to serialize/deserialize JSON message between the JS environment and the app container (in rust in this case). And that is what Tauri nailed down. In fact, Tauri also supports localhost, in prod and dev. And where it becomes insanely good is that for dev, you can use localhost and use something like servor to have hot reload when you can UI code, and when its time to pack your app for distribution, it bundles those html assets part of the binary. Anyway, some Rust marvels are out there, and this is one of them. (btw, this is for desktop applications, not browser extensions)
- encryptluks2 4y agoDoesn't the browser native messaging feature already provide the ability to call native applications and create a backend language API? I guess I don't understand the need for every app to basically have its own browser engine, no matter how "lite", when I can already develop apps with Chromium that use native messaging. I'd rather see a unified solution which pretty much exists then to have a bunch of alternatives that provide no greater benefits overall from what I can tell.
- AndrianV 4y agoI've always felt Tauri was too early to be a viable electron competitor, but now that I've seen it used in a huge project (Spacedrive), I think I might reconsider.
- mritchie712 4y ago> Spacedrive woah! this looks awesome, thanks for mentioning it.
- lucasyvas 4y agoFor anyone not on board because of how the WebViews work, or that it uses WebViews at all, the roadmap has other renderers to be explored. I believe the majority of the Tauri framework is decoupled from "web" and it's merely supported first - likely through popularity. When WebView2 goes multiplatform, you might even be able to use it on every platform (if you like web, but want a consistent browser engine on each platform) I'm more interested in where Tauri will go next in terms of support - not where it is on day 1.
- jamesgeck0 4y agoWhat browser engines do you even have to support with WebViews? I assumed it would be Blink on modern Windows and WebKit on macOS.
- inside_out_life 4y agoThey should adopt servo or help revive geckoview, to have an independent default.
- torginus 4y agoThis is 'powered by Rust' the same way my gas car with electric windows is 'powered by electricity'
- nu11ptr 4y agoNot exactly - Rust is a first class supported language. Iow, you can write your app in Rust and just use HTML/JS/CSS for the view.
- rathboma 4y agoThis looks fantastic, and Electron needs some competition. That said, here's my set of hesitations as an Electron app developer (Beekeeper Studio - beekeeperstudio.io). 1. With Electron it's nice to be able to lock the browser implementation across OSs. I'd have some pause about having to support arbitrary Webview implementations. It makes testing so much harder. 2. It's really really nice to be able to code-share between UI code and app backend code. In Electron everything is JS, so you can use the same codebase for both components. With Tauri it requires two languages and two sets of packages. - One example of this is an ORM for a SQLite database. I need to load some settings before the UI renders, in Electron this is the same ORM code. 3. The only Linux build is a DEB. 4. Smaller community - desktop apps are a total PITA to debug, it helps that Electron builds have been tested at length by companies like Microsoft.
- klabb3 4y ago> 1. With Electron it's nice to be able to lock the browser implementation across OSs. I'd have some pause about having to support arbitrary Webview implementations. It makes testing so much harder. Isn't this the same as you have for web, but with a much smaller set of browsers to support? Ie if you're doing a web app anyway, you need to solve that problem.
- rathboma 4y agoMost quality electron apps are NOT web apps. Beekeeper Studio included. It's a full desktop app in all terms, everything is local, no remote asset loading or anything like that. For folks turning web apps into desktop apps, sure it doesn't matter as much, but a real desktop app is way more integrated and feature-full.
- klabb3 4y agoYeah. Totally respect the approach. But what I mean is that the practice of making browser compatible web apps is well established so it isn't necessarily a deal breaker to have a couple of different rendering engines. I can count on one hand the few discrepancies I've found when using Tauri.
- tensor 4y agoA similar project that I'm using is https://wails.io https://wails.io. It uses the native system webview and the backend is in Go. You can cross compile to Windows, Linux, and Mac.
- lynndotpy 4y agoThat 100 second video was really very well done and convincing. I shouldn't have watched it on break because now I want to do go home and do something with Tauri :)
- digitthedog 4y agoThe 100 second video length is 2:39, far in excess of 100 seconds. Once I saw that I lost total confidence in the project.
- lynndotpy 4y agoI can't believe I was so bamboozled. Worst blunder in open source history, perhaps? Jokes aside, it was still a good video!
- jbverschoor 4y ago5 clocks later too check if it’s also webviews. It is, so I stopped reading
- galaxyLogic 4y agoAn alternative to Electron I like is Vercel Pkg https://github.com/vercel/pkg https://github.com/vercel/pkg . You write a server in Node.js, compile it to an exe with Vercel Pkg and users run the exe on their local machine and use it with their browser. Instead of running an app "in the cloud" they run it on the server on their machine. But the server could easily also be moved to the cloud as well. Using a browser to connect to an app running on your local machine has the nice feature that you can open any number of browser-views on it, looking at the app and your data and tools from multiple viewpoints. Since it is local they are the only user and don't need to login or "keep a session" and can thus interact with the app in multiple ways in parallel. I don't need to design in a feature that allows users to "open a new window". That is handled by the browser. Open a new tab to the same or different (bookmarked) url. Plus there is a benefit to coding both the server and the client in the same language.
- __ryan__ 4y agoThis is neat, but it's only an alternative to Electron in the sense that it's an alternative to building a desktop app.
- galaxyLogic 4y agoIt could be a server running on the local machine serving only requests that come from 127.0.0.1. Then from a user's point of view it is not much different from a "desktop application". You start it up locally and connect to it with a browser running locally.
- MuffinFlavored 4y agohttps://github.com/tauri-apps/wry https://github.com/tauri-apps/wry This rocks, especially with some IPC between the "native" things like filesystem + TCP sockets -> JavaScript "bridge".
- IceHegel 4y agoI tried to use Tauri for a personal project back in January and it was missing some basic features like windows without a topbar. Have things matured meaningfully since then?
- UmbertoNoEco 4y agoI like it,but even a trivial app becomes a huge +5GB folder in development. The dependencies folder alone will make a node project blush + all the stuff generated when compiling/building. I love to have several apps to work on them concurrently but I wont reserve 50 Gb of my already small SSD for this stuff.
- billfruit 4y agoIs there something similar for C++.
- zeandcode 4y agoWhatever their opinions on this project. I'm pretty much like it when start to create a small project, it's very light in terms of memory usage, also the size of the compiled binary is way smaller than electron.
- CMCDragonkai 4y agoIt's possible to embed nodejs (or V8 or demo) in a Rust binary. So perhaps we could embed nodejs into the rust backend and just run a nodejs app.
- synergy20 4y agoIn an ideal world, the browser could add a desktop or smartphone mode running in a separate process with web surfing(and others like cookies etc) optionally turned off, then it becomes a true universal GUI platform.
- dang 4y agoTauri – Electron alternative written in Rust - https://news.ycombinator.com/item?id=29807022 https://news.ycombinator.com/item?id=29807022 - Jan 2022 (419 comments) (The cutoff for dupes is a year or so: https://news.ycombinator.com/newsfaq.html https://news.ycombinator.com/newsfaq.html)
- password4321 4y agoThat's tough to shutdown their 1.0 release announcement because of a general discussion a few months earlier.
- dang 4y agoRelease milestones don't tend to make much difference in HN threads. Instead, what we get each time is a discussion of the project as a whole (as you can clearly see in the current thread.) Nothing wrong with that!—it's natural—it just means that different releases of the same product aren't really different stories from an HN thread perspective. From the perspective of the project developers, of course it's a major thing. I wrote a longer explanation about this if anyone wants more: https://news.ycombinator.com/item?id=23071428 https://news.ycombinator.com/item?id=23071428
- mkishi 4y agoI don't think 1.0 releases deserve the same treatment as 1.3.2 Beta 1. The SNI here is that Tauri has hit stable, an information that does change how a lot of people would approach it. I might need an even longer explanation, though, because I don't get it still. There are projects like Blender which were allowed to the front page like 5+ times in the past year, exclusively with posts about new releases. The discussions always hit the same notes. Why is that any different?
- pvg 4y agoIt's not different, those posts get downweighted too when mods catch them. You can email them in if you notice something getting repetitive.
- password4321 4y agoCmd+F accessibility: 0/0 - both this discussion and their site search. :( One issue from 2019: "Tracking : accessibility (a11y)" https://github.com/tauri-apps/tauri/issues/207 https://github.com/tauri-apps/tauri/issues/207
- knowsuchagency 4y agoLooks great but I can't find any references to how to implement a sidecar with the new documentation
- knowsuchagency 4y ago* found it https://tauri.app/v1/guides/building/sidecar/ https://tauri.app/v1/guides/building/sidecar/
- deleted 4y ago[deleted]