9 ms·
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://
by nim2020 5y ago
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 https://github.com/tauri-apps/tauri
- amelius 5y agoDoes the project contain C++ code?
- cultofmetatron 5y agov8 is c++ and by their own page, they use node whihch embeds c++ so I'd say yes
- nim2020 5y agono, not directly. all primary code is written in rust
- iudqnolq 5y agoThey use whatever is the system WebView on the platform you run the code on. On Windows that's the Edge engine, on MacOS it's Safari's engine, etc. Those are all some combination of C and C++. See https://github.com/tauri-apps/wry https://github.com/tauri-apps/wry Edit: s/IE or Edge/Edge
- wffurr 5y agoThat seems to eliminate one of main advantages of electron, the consistent runtime environment. If your html/css/is has to work correctly in EdgeHTML, Safari Webview, and Blink, you are limited to the lowest common denominator features. Electron with Chromium has the largest feature set out of all of those.
- knubie 5y agoI can’t speak for other developers but my app runs on electron and the web (because why not?), so I need to make sure my app works with those browsers as well. A lot of the big electron apps I’m aware of are the same (slack, notion, discord, etc).
- iudqnolq 5y agoSlack used to use a similar approach but gave up in part because platform webviews are more outdated than browsers on average.
- derefr 5y agoElectron has two "sides" to it — a renderer process, and a NodeJS process, that communicate over IPC (where as far as the renderer is concerned, the NodeJS process is kind of like a very intrusive browser extension.) AFAIK, if you're writing a greenfield Electron app, it's best to do as little as possible in the renderer side, and as much as possible in the Node.js side, because the Node.js side has things like native threads and mmap(2), and everything running within the Node.js process can share that state, but things on the renderer side have to use it through RPC. I would assume that this project is similar, but with arbitrary Rust code in place of Node.js (is that right?) In that case, it doesn't matter how featureful the renderer is, as you're just using it as a GUI framework with a declarative view-model format. Just like a XAML or QML, but it's HTML+CSS. As such, idiomatically, you won't be using fancy browser APIs like threads or WebRTC within the renderer; instead, you'll be using native code on the "app side" and then passing the renderer data. The features of Tauri itself are "whatever native libraries you want to bring into your Rust binary." (Plus whatever conveniences it already builds in, of course.)
- tommoor 5y agoPlease add an example app with bundles for each platform – a calculator, todo list, or something similarly simple?
- nim2020 5y agoyeah, we just plain forgot to put that back on the landing page. mea culpa https://github.com/tauri-apps/tauri/tree/dev/examples/api https://github.com/tauri-apps/tauri/tree/dev/examples/api
- oldgradstudent 5y agoCan I integrate Tauri into an existing Windows application? Specifically: 1. Can I place it into a native window handle (e.g. HWND on Windows)? 2. Can I create a new window, but use the parent application's event loop without modification? Thanks
- juancampa 5y agoInteresting that you guys list "No Rust Skills Required" as a Pro instead of a Con. As a Rust programmer I'd prefer "No JS Required"
- Waterluvian 5y ago? Are you asking for them to make an entirely different product?
- whatshisface 5y agoIt's off-topic, but it would be nice for someone to make a really good GUI toolkit for Rust. Something that integrates with system APIs for copy-paste and stuff like that.
- Waterluvian 5y agoThere's a few decent ones but like a lot of Rust stuff, they're young. I hear you though. It's, IMO, a core tool missing from my Rust toolbelt.
- juancampa 5y agoThe most promising one is makepad.dev IMO. It works on Mac/Windows/WebGL afaik
- juancampa 5y agoI see how the second part of my comment seemed like I'm asking for "Rust in the front-end", that was not my intention. My main point stands though, requiring Rust is not necessarily a "Con", it's in the "Pros" list for many people
- silon42 5y agoI would also expect/like that: HTML/CSS + Rust (no JS/GC). And running out-of-process. Add XUL as a bonus.
- 5y ago
- adambatkin 5y agoWhy Node and not Dino?
- nklayman 5y agoAssuming you meant Deno, we used Node for the CLI because most web devs already have npm installed. We want the getting started process to be as simple as possible. Our Node CLI is just a wrapper really, as nearly all of the commands are actually implemented in Rust. You don't even need Node to build a Tauri app anymore. Node is not including in a shipped Tauri app, although we plan on supporting both Node and Deno as optional replacements for Rust in the future.
- vijaybritto 5y agois it possible to include wasm in Tauri apps?
- nklayman 5y agoYeah, you can use wasm on all platforms.
- vijaybritto 5y agoDoes it try to achieve feature parity with Electron?
- bmn__ 5y agoNo question, just a small commendation. It pleases me that you acted appropriately to the criticism about Tauri not being native and removed this previously advertised claim.