Building Better Desktop Apps with Tauri: Q&A with Daniel Thompson-Yvetot

Building Better Desktop Apps with Tauri: Q&A with Daniel Thompson-Yvetot

Explore Tauri's approach to building performant desktop apps with web tech & delve into the future of human-centric web development in this interview.

Ana Marija Majkić

Ana Marija Majkić

May 10, 2024

We recently caught up with Daniel Thompson-Yvetot , co-founder of Tauri Apps and CEO of CrabNebula. He is a passionate developer on a mission to empower people through technology. Daniel’s focus extends beyond just code; he's dedicated to building communities that help us all create amazing things.

Watch the full interview here:

We learned a lot from Daniel. Read on to see the highlights.

Q&A with Daniel Thompson-Yvetot

Ana Marija Majkić (AMM): Tell us a bit about your background and what led you to create Tauri.

Daniel Thompson-Yvetot (DTY): My background, looking back at the web's evolution over the past 30 years, has always involved community building. From the early days of AOL and dial-up BBSes to the rise of Google, I've witnessed the ongoing challenge of integrating human needs into technological advancements.

Throughout my career, I've donated over 20,000 hours to public service and various organizations. A common thread in this work is empowering people through community to build resilience. Open source communities, for instance, can struggle with accountability, and fostering human connections is key to creating a more robust ecosystem.

On a personal level, I've always been passionate about the human element of technology, the way we interact with our physical, digital, and virtual worlds. This is evident in everything I do, from explaining concepts on streams to crafting product descriptions or even building a staircase.

AMM: What's the story behind Tauri apps?

DTY: The story of Tauri began with frustration, along with a friend of mine, Lucas, the co-creator. We were tired of the free-for-all approach WebTech was taking with frameworks like Adam Shell and Electron. We wanted a more efficient way to build desktop apps.

Every device has a web view, a stripped-down web browser. It's available on all platforms. We thought, "Why ship a whole browser with every app?" This coincided with the limitations of pre-ES2020 JavaScript and the difficulty of achieving performant single-threaded apps in 2019.

Lucas and I experimented with different languages to create the first Tauri versions. We tried C++, Go, and even libraries in Objective-C and C++. Ultimately, we landed on Rust, which had a steeper learning curve but fundamentally changed our approach.

Unlike JavaScript, where "done" is often a nebulous concept, Rust enforces completion at every stage. The compiler won't allow broken code, fostering a sense of accomplishment each day with successful builds and tests. This mentality is core to Tauri's philosophy.

The good news is that you don't necessarily need to be a Rust expert to build Tauri apps. Basic Node.js and command-line familiarity are enough to get started. You can build Tauri apps without writing a single line of Rust! As you progress, the Rust compiler acts as a safety net, and a fantastic community is there to support you. Even the Rust community recognizes Tauri's role in easing people into Rust development.

AMM: How do Tauri apps work with different frameworks?

DTY: Tauri is framework-agnostic. Whether you prefer Angular, React, Svelte, or no framework at all, Tauri integrates seamlessly with your front-end development choices. We prioritize user experience, and framework wars have no place in the Tauri community.

A major trend in front-end development is type safety, ensuring consistency across UI, server, and app. Tauri integrates with projects like Yew and Dominator, reactive UI frameworks written entirely in Rust. These tools enforce type safety within Rust files, eliminating the risks of crossing boundaries and maintaining complete control.

The new generation of front-end development is exciting. We see developers using frameworks like H2M, building custom web components, and interacting with server-side rendered content. Some are even creating games with WebGL and HTML web view overlays using the Bevy ecosystem.

This versatility extends to mobile platforms as well. With Tauri apps potentially appearing on Xbox and other game consoles, our definition of "front-end" is the user experience layer, be it on a phone, desktop, or even Apple's Vision Pro Kit. Our goal as framework engineers is to empower you to create these experiences without limitations. Whether your backend is written in PHP, Perl, or the latest Next.js, Tauri works for you.

AMM: What can we expect from Tauri apps in 2024?

DTY: 2024 brings the release of Tauri 2.0 with significant improvements. Here are some highlights:

  • Enhanced performance with a more efficient inter-process communication (IPC) system.
  • A revamped multi-window permission system for granular control over window permissions.
  • A comprehensive security audit to ensure the platform's robustness.
  • Support for a wider range of devices, including iOS and Android.

We're also committed to improving Tauri's ease of use. One example is a feature originally requested by a customer and implemented by an open-source developer.

AMM: What is your largest passion as a developer?

DTY: I guess when I think about my largest passion as a developer, I like to put myself in other people's shoes. I try to think about the core user need, the job to be done, rather than just focusing on a cool interface. It's about understanding how people use tools to accomplish their goals.

Think about it this way: nobody buys a drill because they enjoy drilling. They buy a drill to hang a picture on the wall. The real goal is to display that picture, to remember a cherished memory. This kind of product thinking allows me, as a developer, to focus on the human element - the user. Sure, AI agents might become optimal users for some tasks in the future. But I still believe that understanding what people want to achieve is key to reducing complexity and solving real problems.

AMM: How do you envision the future of web development?

DTY: The future of web development is intriguing. There's definitely concern about developers losing jobs due to AI. Let me tell you, I'm tired of seeing mindless AI-generated images on LinkedIn. These images often have a huge environmental footprint, with hundreds of liters of water wasted for a single, uninspired creation.

This points to a future where human craftsmanship regains value. AI isn't going to replace humans in design. While AI like AGI and LLMs become more sophisticated, they'll have their own biases. Ultimately, designing for humans requires a human touch. Building for humans will always be relevant.

Tools like Copilot and Kodai are helpful, similar to a type checker in Rust. They help with memory, understanding how things fit together, and reducing busywork. Generated code is often boring, but it can be spec-compliant.

The future of web development will likely see a rise in both craftsmanship and spec-driven development. We'll focus on what we want to accomplish and how to achieve it efficiently. The busywork will be automated, just like how nobody transpiles TypeScript by hand anymore. AI is simply another tool in our belt, not a replacement for human creativity in shaping the world we want to live in.

Inspired to take your desktop app development up a notch?

Don't miss Daniel's talk at Frontend Nation 2024 (June 4th-7th)! In his session, "Tauri 2.0: Defining Done," Daniel will delve into the latest version of Tauri, showcasing its new features and functionalities. He'll also share practical tips on how to build production-ready Tauri apps in minutes. This is a fantastic opportunity to learn from an industry leader and gain the skills to build the future of desktop apps. Secure your free spot today and join a global community of passionate frontend devs.

Follow Frontend Nation on social media to stay up-to-date and spread the frontend love! Frontend Nation also offers sponsorship opportunities for brands and the chance to feature your developer community.

© All rights reserved. Made with 💛 by BitterBrains, Inc.