Today I'm migrating my working but buggy demo from #Tauri v1 to the v2 beta.
So far so good. One area needs work because they've removed the tauri::http crate which I use to build Response structures. I can't see how to do this with tauri::request which is offered as a replacement, so need to find a protocol handler example for #TauriV2.
Wrote a little app launcher for all of my manually installed applications using Tauri in about 2 hours and with less than 100 lines of code. The .deb package it generated is just 2.8 MB in size. I added this to my startup applications using Gnome Tweak Tool.
P.S. One hour was spent fighting the borrow checker. AppImage is 164 MB.
I've been using cargo (#RustLang package manager) for [cough] yrs and it is very nice. But always on my Ubuntu laptop. #Linux
That laptop died so right now I'm using an old Windows 10 (not 11 as stated earlier) laptop with #WSL and I have cargo building in #Windows and Ubuntu 22 (under WSL) and it just works.
Cross platform #development used to be one of the hardest most frustrating things, but tools like #cargo and #Tauri have changed all that.
I'm Thang and I'm a 26-year-old software engineer from Vietnam.
👍 What I'm good at: #Ruby, #Javascript
📝 What I'm learning: #Rust, #AWS, #Terraform
🔜 What I'm planning to learn in the near future: Qt6 with C++ or Python (to overcome my Electron addiction)
So, I'm doing some quick performance tests for my own JS game engine, and it turns out that the WebView used by Tauri is 40% slower than Edge itself.
A bit surprising but I guess Tauri adds some overhead, as the release build is also faster than the dev build - without doing any explicit call to the rust backend during the benchmark.
I've spent my evenings this week on #Tauri, first to see how it was (there's #rustlang and #typescript so it's cool), and then to try and implement a plugins system to load arbitrary JS code at runtime.
It's been a while since I've oscillated so much between "I think this might work" and "nope, it doesn't". In the end it works, though I cheated a bit and exposed the "host" app API through a global object.
Major progress on my first Autonomi demo app today. I'm sooo happy 😄
This proves that all the tricky but essential parts work together, so now I can add features and improve the operation knowing that effort won't be wasted.
It also already shows that we can build cross platform apps (desktop and mobile) with a web front end that use the #Autonomi#Rust APIs using #Tauri and your web framework of choice. Which for me is #Svelte
I haven't worked with #Svelte for a long time and am immediately reminded of how much I like it. 😃
I'm building a cross-platform demo (native) app which will work on Windows, MacOS, Linux and Android out of the box, using #Tauri.
It needs to be native so I can access a #Rust API to talk to a #p2p backend (#autonomi).
If you've not used Svelte I encourage you to give it a try. It is intuitive and the online docs, examples and REPL make learning by doing a breeze. Which is my style. #RustLang
🦀 Servo Browser Engine Making Embedded App Progress With Tauri
ᐅ @phoronix
「 For pursuing their embedding plans, Servo is focusing on Tauri as a framework for building desktop apps with a web front-end and Rust back-end. Tauri is aiming for both desktop and mobile app support and is front-end and engine agnostic. Servo is aiming to be another web engine option for those leveraging Tauri for their apps 」
I've a bit more to do on #vdash which has given me more time to wonder about what next.
As #SafeNetwork is getting pretty exciting r.n. I'm veering towards something to help Devs with #p2p apps, and feeling a buzz around compiling the client API for #WASM, and showing how to build native cross platform mobile and desktop apps using your web framework of choice (eg #SveltKit), #Rust/WASM and #Tauri.
Then an LDP containers API so existing #Solid apps become Safe Apps in this setup. #LinkedData
A common question we get from newcomers in @TauriApps is whether they need to know #Rust or not.
Let's clarify this: 🤓
Tauri doesn't require learning or writing Rust to use it as an app framework. For example, you can write both the frontend and the backend of your app in JavaScript.
The downside to writing your app entirely in #JavaScript is that you lose the speed benefits of Rust.
Tauri doesn't provide a Node.js runtime in a production app but you can use Tauri's API or provide the Node.js runtime yourself with Tauri's sidecar feature which allows you to run external executable apps like Node.js.
Though, browsers are much more than HTML and CSS (they are almost like a full OS, not speaking of the JS JIT VM).
So I think those two things are distinct enough to be looked at separately.
Yes, reusing a browser provided by the system, like #Tauri does. I really like it. Not without disadvantages, though, like different layout results on different OSes.
Compiling HTML/CSS into internal format sounds very interesting! I've never thought about that!🤯 👍