5

"Tauri is a framework for building highly performant and secure desktop app...

 1 year ago
source link: https://devm.io/javascript/tauri-framework-interview
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Interview with Daniel Thompson-Yvetot, co-creator of Tauri, a unique JavaScript framework

"Tauri is a framework for building highly performant and secure desktop applications using web technologies"


We had the opportunity to speak with Daniel Thompson-Yvetot, co-creator of Tauri, a unique JavaScript framework. The core of Tauri is built with Rust, while the CLI leverages Node.js, which allows for a flexible way of creating and maintaining high-quality apps.

devmio: Could you please introduce yourself to our readers? Can you also tell us about your role in the team and how you became a part of it?

Daniel Thompson-Yvetot: My name is Daniel aka Denjell aka nothingismagick, and I have been working at the crossroads of technology, creativity, and community for over 2 decades. I am one of the two co-founders of Tauri, and today I also serve as Chairperson of the Board of Directors of the Tauri Programme within the Commons Conservancy. I ended up here because it seemed appropriate to double down on open-source and find ways to empower software engineers to make safer and smaller applications.

devmio: Can you tell us a little bit about Tauri? What is it exactly?

Daniel Thompson-Yvetot: Tauri is a framework that allows any JS/WASM type frontend to be injected into a system webview. Tauri applications are generally available for the major desktop (in a stable form) and mobile platforms (in alpha form). The framework provides a tree-shakeable API that can be used in the webview to call into lower-level systems on an opt-in basis. This API can be extended with plugins that hook into Rust functionality from other libraries and provisioned to the front end with similar hooks. Finally, apps can also ship with "sidecars" that include code bases from other languages, like Python or even Node.js or Deno.

devmio: You describe a Tauri app as a "Rust binary" on your website. What does that mean? How does it work?

Daniel Thompson-Yvetot: Binaries is another word for applications, and we use the Rust toolchain and language to create these application bundles and then prepare them for the respective platforms.

devmio: Why Rust? What advantages does it have?

Daniel Thompson-Yvetot: Rust is a systems-level language (like C) that has a number of advantages including multithreaded bare-metal performance, type-safety, built-in memory deallocation instead of garbage collection, code obfuscation through compilation, and an amazing community of Rustaceans. A strange advantage is also that Rust is very strongly typed, and this forces engineers to exercise more care in the planning and execution of their code. That all said, you don't have to even write a single line of Rust to build a Tauri app.

devmio: Is it possible to include Wasm in Tauri apps?

Daniel Thompson-Yvetot: Wasm can be included in Tauri apps, yes. In fact, there are a number of Rust UI frameworks that transpile down to Wasm, such as Yew and Dominator.

devmio: Tauri supports almost every frontend stack. Are you going to add more frontend frameworks, for example, Astro?

Daniel Thompson-Yvetot: Tauri already supports Astro and almost every other framework with manual configuration, but what you are asking is whether it is possible for us to extend the functionality of create-tauri-app with Astro, and the short answer is yes. The longer answer is that Astro is a matrix of itself + another UI framework, and each needs to be supported individually. This is a lengthy process and will happen sooner with support from external contributors.

..when you build something that ships a 3 MB binary as opposed to 100 MB baseline binaries, it really gives a sense of satisfaction.

devmio: Tauri currently supports development on Windows, macOS, and Linux. Are iOS and Android following soon?

Daniel Thompson-Yvetot: Developing on iOS and Android can be done using something like Rustdesk or GitPod, but what I think you mean is can final binaries be shipped that run on iOS and Android. Yes, these are currently available in an alpha version and will be released generally this year as a part of Tauri 2.0, after they have been audited for fitness and security. You can read more about that on our website.

devmio: Since Tauri is open source, how can developers contribute to the project?

Daniel Thompson-Yvetot: Scratch an itch! But seriously, we welcome drive-by PRs — and also are very welcoming into our open working group for those who want to stick with us a bit longer.

devmio: Tauri ranks as the second most popular project in the JavaScript Rising Stars. Why do you think it gained so much traction over the last year?

Daniel Thompson-Yvetot: We released the 1.0 last summer and have worked really hard at making a comfortable system for developers to ease into the strictness of Rust-based development. Also, when you build something that ships a 3 MB binary as opposed to 100 MB baseline binaries, it really gives a sense of satisfaction.

devmio: There are a lot of JavaScript frameworks out there, with more and more coming out regularly. What makes Tauri different from the rest?

Daniel Thompson-Yvetot: Tauri is a framework for building highly performant and secure desktop applications using web technologies, such as JavaScript and HTML. What sets Tauri apart from other frameworks is its ability to create native executables for various platforms, such as Windows, macOS, and Linux, while still providing access to system-level features and APIs that are not typically available to web-based applications. Additionally, Tauri applications are built with security in mind, as they do not rely on a multipurpose browser engine, which can be vulnerable to many attacks. Tauri also allows for the easy distribution of applications and easy integration with other native libraries and tools.

devmio: What can our readers expect from Tauri in 2023? What’s on the roadmap, where is Tauri heading?

Daniel Thompson-Yvetot: Mobile, WebRTC everywhere, and more window types along the lines of egui.

Daniel Thompson-Yvetot
Daniel Thompson-Yvetot

Daniel Thompson-Yvetot, aka Denjell, aka nothingismagick, has been working at the crossroads of technology, creativity, and community for over 2 decades. He is one of the two co-founders of Tauri, and he also serves as Chairperson of the Board of Directors of the Tauri Programme within the Commons Conservancy. He is also the CEO of CrabNebula.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK