I’ve enjoyed working with Tauri a lot, and I’m excited to check out the mobile release. I’ve been using it for about a year now, paired with Svelte, to build a video editor [0] and it’s been really nice speed-wise. I haven’t felt like Tauri is the bottleneck in probably 99% of cases (usually it ends up being my own code!).<p>One area they could improve, and I think they’re working on for 2.0, is the IPC mechanism between JS and Rust. It’s not as fast as a true function call and bogs down if you try to send large amounts of data over it, so I’ve tried to architect around it. It’s been fine but I’m looking forward to when it’s more efficient.<p>It still lacks some features that Electron has too, and it feels a little bleeding edge sometimes. But I feel a lot better with shipping a lighter app that’s closer to native-size. If the alternative is maintaining 2 codebases in different languages as a solo developer, I’ll gladly take the tradeoff to go with Tauri, whereas Electron felt like a much bigger gap.<p>0: <a href="https://getrecut.com" rel="nofollow">https://getrecut.com</a>
This is a <i>huge</i> reason to go with Tauri over Electron. I don't get why there isn't (or is there) a simple way to package a web app for <i>all</i> platforms. Everyone still makes this weird artificial distinction between Desktop and Mobile despite the technical capabilities and user expectations being close to the same.
I'd love to see a GUI engine that is inspired by web technologies but allows you to write your application in any language/shell scripts and have it construct native UIs.<p>I've been toying with building a GUI-as-a-DB kind of engine where consumers run a server process that listens for commands that tell it to create/update a window & its elements. You would interact with a DOM-like structure that maps to the various native UIs. <i>(there is also a "guidb-lite" for including with your binary)</i><p>The general idea is; you issue nosql-like commands to this service to interact with the non-web DOM you create. e.g.<p><pre><code> // POST localhost:3344
{
action: 'create-window',
settings: { title: "Hello World" },
content: [{ tag: "Text", value: "Hello World" }]
}
// returns 200 { id: "xxx", "auth": "xxx" }
// POST localhost:3344
{
action: 'update-window',
id: "xxx", auth: "xxx",
exec: { content: {
$findOneAndUpdate: { query: { tag: "Text" }, set: { value: "updated"}}}
}
}
</code></pre>
<i>(I tried SQL but dealing with children nodes doesn't work out well)</i><p>This means your application can be written in whatever language you want. "Frameworks" (like React) would be written on top of this as language-specific implementations - allowing the GUI-DB to focus on only mapping the API to the various native GUI UIs.<p>I can imagine there would be limitations I am naive to and I'm generally not smart enough to see this through, but it is the change I would like to see in the world.
I've yet to see a Web UI toolkit/framework that works on all of the desktop (Windows, *Linux* and OSX) and Android and iOS.<p>If they manage to pull this off then bravo to them.
The Tuauri team needs to focus on maturing its primary codebase and documentation before branching out to assign teams to separate projects like this. I've written a few hundred lines of code using Tauri, and I've had to do much more API wrangling and searching the official Discord than I would have liked -- a lot of valuable API details are tucked away in very specific places, especially related to using Tauri's state manager, creating mockup tests, and technical information on the IPC model. In addition, some of those APIs are obtuse and confusing to interpret how to use.<p>Tauri does a few things very well, and its frontend model is much more lightweight and flexible than Electron's. However, the project has a long way to go before it's used in the mainstream and really needs to continue to make testing, debugging, and other DX details much more accessible and clear to gain an edge in the market.
I watch F1 and just learned about this lovely project, so it's surprisingly hard to parse "Tauri Mobile Alpha"... those words are in the wrong order!
Tauri is pretty cool stuff and great for simple single threaded apps. With all the make X model run on Y, I’d caution folks with multithreaded needs to wait until another release.<p>Mac’s multithreaded environment went just fine; and on task completion could be killed off. However the Windows version spun up fine, then hung, then wouldn’t shut down all the threads leaving odd state everywhere.
there are webview libraries from windows/linux/macos so electron.js-without-chromium works.<p>are there similar webview libraries from android and ios that you can link to as the desktop OS does? anyone knows what those libraries are?<p>I wish there is a c++ electron.js alternative, we now have tauri(rust) and wails(go), I'm using webview on github to use c++, just not as polished but it works well though.
From their front page:<p>> Build an optimized, secure, and frontend-independent application for multi-platform deployment.<p>Sounds great. Still no idea what this Tauri is.
Congrats on the release! From the looks of it Capacitor[0] has quite a big lead on in terms of support for native APIs (secure storage, SSL pinning, biometrics, etc) but hopefully they'll catch up quickly and avoid some of the mistakes Capacitor has made.<p>Definitely keeping an eye on this.<p>[0] <a href="https://capacitorjs.com/" rel="nofollow">https://capacitorjs.com/</a>