One Chat App, Three Delivery Methods: Delta Chat Desktop's Multi-Platform Approach
You've probably been there: you want to build a desktop app, but you're stuck choosing between Electron's maturity and Tauri's efficiency. Or maybe you want a web version too, but maintaining separate codebases sounds like a nightmare. Delta Chat Desktop has decided not to choose—the project ships Electron, Tauri, and browser editions from a single repository, and it's worth a look.
Delta Chat is an open-source messaging app that works over email, and this repository is the desktop client for it. The interesting part isn't just the app itself—it's how the project is structured to support three different front-end targets without fragmenting the codebase.
What It Does
Delta Chat Desktop is the official desktop application for delta.chat. The repo contains three distinct "editions" of the app:
- Electron edition: This is the default and currently deployed version, available in app stores and used by most users. It lives in
packages/target-electron. - Tauri edition: A work-in-progress client that swaps Electron for Tauri. The README describes Tauri as a modern alternative with less disk usage, less RAM usage, and a Rust backend for better performance. It's in
packages/target-tauri. - Browser edition: A highly experimental version with a webserver component and web UI that runs in your browser. The README is explicit that this is only meant for developers and automated testing right now. It's in
packages/target-browser.
The code style is enforced with Prettier, and there's a solid set of documentation covering everything from troubleshooting for users to contribution guidelines and release procedures for developers.
Why It's Cool
The multi-edition approach is the real story here. Most projects pick one framework and commit to it. This repo is trying something more pragmatic:
- You get to compare frameworks side-by-side. Instead of reading blog posts about Electron versus Tauri, you can look at the actual code for both implementations in one place. That's genuinely useful if you're evaluating Tauri for your own projects.
- The browser edition is a testing win. Being able to run the app in a browser means automated testing gets much simpler. You don't need to spin up a full desktop environment to verify core functionality. The README mentions end-to-end testing documentation, and the browser target clearly supports that workflow.
- It's a hedge against framework lock-in. If Tauri matures and becomes the better choice, the project has already done the groundwork. If browser-based usage becomes more important, that path is being explored too. It's a practical way to keep options open.
- The project is transparent about maturity levels. The Tauri edition is labeled WIP, the browser edition is "highly experimental" and "only meant for developers." There's no overpromising here—you know exactly what you're getting with each target.
The documentation structure is also worth noting. There are separate docs for users (troubleshooting, CLI flags, keybindings, themes) and developers (logging, styling guidelines, core updates, e2e testing, releases). That separation suggests a project that takes its contributor experience seriously.
How to Try It
If you want to check it out, the easiest path depends on your platform. The README lists several installation options:
Linux users have a couple of choices:
# Flatpak
flatpak install flathub chat.delta.desktop
# Arch Linux (via AUR)
yay -S deltachat-desktop
Mac OS users can use Homebrew:
brew install --cask deltachat
Or grab the DMG from the releases page. Windows users can download the installer directly.
If you're a developer who wants to dig into the code, you'll want to clone the repository and follow the development docs:
git clone https://github.com/deltachat/deltachat-desktop
cd deltachat-desktop
Then check out the docs/DEVELOPMENT.md file for setup instructions. The repo also has a CONTRIBUTING.md and a RELEASE.md if you're interested in getting more involved. For direct download links for the stable releases, head to get.delta.chat.
If you're curious about the Tauri edition specifically, there's a Fediverse thread and an nlnet project page with more context. The browser edition has a blog post explaining what that experiment is all about.
Final Thoughts
This repository is best for two kinds of people. First, Delta Chat users who want a desktop client—the Electron version is stable and widely deployed, so it's a solid choice. Second, developers who are curious about how a real project handles the Electron-to-Tauri transition. The fact that you can study both implementations side by side, plus a browser-based testing target, makes this a genuinely interesting reference codebase.
The Tauri edition isn't ready for prime time yet, and the browser edition is explicitly experimental. But that's kind of the point—this is a project that's actively exploring its options rather than sitting still. If you're evaluating desktop frameworks or just want to see how a mature messaging app handles multi-target development, this is worth a browse.
Follow @githubprojects for more developer tools and open source projects.