HNHacker News
TopNewBestAskShowJobs

nim2020

65 karma · joined July 8, 2020

submissionscomments
nim2020··on Tauri – Electron alternative written in Rust
Hi Schickling.

Denjell here from the founding team of Tauri. Thanks for reaching out directly, and I just wanted to state for the HN record, that we are going to be having a board discussion surrounding the unpleasant event raised here, and will make a public statement very soon.

That said, on a personal note, I am quite sorry this happened. We do support and uphold our Code of Conduct, and this is not an appropriate response and the community tone we want to nurture.

nim2020··on Tauri: Rust-based Electron alternative releases beta
We are going to put our demo app (that showcases the API) front and center on the landing page. Thanks for the input

https://github.com/tauri-apps/tauri/tree/dev/examples/api

nim2020··on Tauri: Rust-based Electron alternative releases beta
yeah, we just plain forgot to put that back on the landing page. mea culpa

https://github.com/tauri-apps/tauri/tree/dev/examples/api

nim2020··on Tauri: Rust-based Electron alternative releases beta
We actually had this at an earlier stage during the alpha, but got so caught up in the alpha that we just plain forgot to put the apps for mac, win and linux back up there. We'll try to get that done this weekend. We have a full "API Explorer" app that we built...

https://github.com/tauri-apps/tauri/tree/dev/examples/api

nim2020··on Tauri: Rust-based Electron alternative releases beta
Like I wrote in another response, we are due for a landing page revamp, and we'll be sure to make a "nothing but the facts" hero for people like yourself who are concerned that their time is being wasted.
nim2020··on Tauri: Rust-based Electron alternative releases beta
Maybe we need to be more clear about how nodejs CAN be used in the construction of a Tauri app, and that it is neither a requirement to make a Tauri app nor a component that is shipped with a Tauri app.
nim2020··on Tauri: Rust-based Electron alternative releases beta
you can write your frontend in whatever you want, for example using yew...
nim2020··on Tauri: Rust-based Electron alternative releases beta
That's a great idea! We do have a revamp of the landing page ahead of us, now that our roadmap is almost completed.
nim2020··on Tauri: Rust-based Electron alternative releases beta
that's a great idea.
nim2020··on Tauri: Rust-based Electron alternative releases beta
We don't bundle with node. We bundle with rust.
nim2020··on Tauri: Rust-based Electron alternative releases beta
If you want to read more about what is new in the Beta release, we also published an article over at dev.to

https://dev.to/tauri/announcing-tauri-beta-more-efficient-cr...

nim2020··on Tauri: Rust-based Electron alternative releases beta
Tauri distributables are still 10 times smaller than Ultralight. Regarding performance will have to do some reviews.
nim2020··on Tauri: Rust-based Electron alternative releases beta
we do not embed node in the final binary, although you can use either the nodejs based cli or the rust cargo one.
nim2020··on Tauri: Rust-based Electron alternative releases beta
no, not directly. all primary code is written in rust
nim2020··on Tauri: Rust-based Electron alternative releases beta
no, that is electron. not tauri
nim2020··on Tauri: Rust-based Electron alternative releases beta
Hey - I am nothingismagick aka Denjell, one of the founders of Tauri, and will do my best to answer your questions about the project, rust, wasm, etc.

https://github.com/tauri-apps/tauri

nim2020··on Show HN: We made a CLI and API to automate inbound email
Been really interesting to watch you grow. Can't wait to see what you innovate next!
nim2020··on Tauri – toolchain for building secure native apps that have tiny binaries
I just filed one: https://github.com/tauri-apps/tauri/issues/814
nim2020··on Tauri – toolchain for building secure native apps that have tiny binaries
I find it interesting that many people hold so tightly onto the "it is not native unless it is written entirely in %my_favorite_language%". I think a little controversy is good, but what the heck does native mean anymore? Wasn't it really invented as a kind of "shaming" because front-end developers were never considered "real programmers" and when hybrid apps came out some folks felt the need to line their pockets with this differentiation?

Don't get me wrong, I am very well acquainted with the tragedies of JS - and the propensity of amateurs to just "do it all" in a single-threaded webrenderer. In fact, I think that this is why most of the first and second generation "web-apps" built on cordova and electron were such poor performers.

But nevertheless, what we are trying to do with Tauri is to open up the boundaries between development communities and leverage the particular strengths of each of them. So if you don't feel Tauri is "native" enough, then maybe you are missing the point.

nim2020··on Tauri – toolchain for building secure native apps that have tiny binaries
The big two that I see are:

- neutralino uses cpp, so there are likely to be many more memory safety issues here than with tauri (because rust).

- tauri does not force you to ship a localhost server

nim2020··on Tauri – toolchain for building secure native apps that have tiny binaries
A local tauri binary that is optimally secured:

- all assets are baked into the binary, not an ASAR or some kind of sidecar

- uses minimal javascript obfuscation

- disables console availability in the webview

- detects if it has been invoked from command line and exits

- uses a minimal CSP to prevent the webview from reaching out to unknown resources

- uses an API acceptlist, to treeshake out any unneeded functionality

- injects the code directly into the webview from rust, circumventing the need for a localhost server

- communicates with the event API, which uses randomized handles for all events to prevent static attacks from knowing in advance what a function call will be

- never relies on external resources like remote servers / CDNs

- removes all println! macros from consumer side rust

- uses the forthcoming signed updater system

- has been audited with frida-trace on delegate platforms

- probably a couple more I am forgetting

nim2020··on Tauri – toolchain for building secure native apps that have tiny binaries
Tauri builds the entire backend for you, all APIs are available out of the box without composing a single line of rust. If you do know rust, however, you can extend at your leisure.

The team is currently working on a very slim solution that will build your entire project using a deno-based binary and if you stick to the APIs and can stomach the security risk of JS sidecars, you won't even need to have rust installed. That is probably a month or two away...

nim2020··on Tauri – toolchain for building secure native apps that have tiny binaries
Hi - core dev from Tauri here.

A new rendering engine is indeed one of the areas of the research at tauri. For now (and until 1.0 at least) we are sticking with the webview, because we want to have an alternative to electron that is safer and is well-known enough to be stable across platforms for the foreseeable future.

Regarding what an a new engine would have to provide, as a matter of fact, Tauri does offer cross-platform APIs for the filesystem, notifications, CLI, etc. These are all rust based, and available from JS.

I do have to disagree though, in one point, and that is that your single threading comment is only true in the webview. Technically, you have the entire strength of the underlying OS available to you from rust, and that is indeed where I recommend devs do all their heavy lifting. This is one of the benefits of using a polyglot system and an inherent security benefit.