On the screen
Desktop apps
A desktop app is a program people install on a Windows PC, a Mac or a Linux machine, rather than a website in a browser tab. It can work offline, open local files, sit in the system tray, start with the computer and read hardware such as CPU load and temperatures.
Many desktop apps are now built with web technology: Electron and Tauri put an HTML, CSS and JavaScript interface in a native window, with Node.js or Rust underneath for the heavy lifting. Shipping is its own job: an installer for each operating system, code signing so the system trusts the download, and an auto-updater so fixes reach every user.
12 terms · 2 comparisons · prices checked September 2026
12 terms, click any to open
Frameworks
Electron
FrameworkOpen sourceA framework for building desktop apps for Windows, macOS and Linux with web technology, by shipping each app with its own copy of Chromium (the open-source core of Chrome) and Node.js.
An Electron app has two sides. The main process runs Node.js, so it can open files, create windows, show notifications and call native code. Each window is a renderer process, a Chromium page that draws the interface with HTML, CSS and JavaScript. The two talk over IPC (inter-process communication), ideally through a small preload script that exposes only the functions the page needs.
Because every app bundles the same browser engine, it looks and behaves the same on all three systems, and any web framework works for the interface. VS Code, Slack, Discord, Figma's desktop app and Obsidian are built this way. The cost is weight: even a small app ships a full browser, so downloads run to tens of megabytes and each window uses about as much memory as a browser tab.
A new major version arrives every eight weeks to keep pace with Chromium, and only the three newest get fixes, so apps need regular upgrades. Electron Forge and electron-builder handle packaging, installers and auto-updates.
Pros
- Same engine everywhere, so the app looks and behaves the same on every system
- Any web framework and the whole npm ecosystem work
- Full Node.js access to files, processes and native modules
- Mature, with many large apps and years of tooling behind it
Cons
- Large downloads and high memory use, because each app ships Chromium
- Frequent major releases to keep up with for security fixes
- Careless IPC or Node access in a window can turn a web bug into a system-level hole
Pick it when
- A web team wants a desktop app without learning a new language
- The app must render identically on Windows, macOS and Linux
- You rely on Node.js libraries or native Node modules
Skip it when
- Download size and memory use matter a lot (look at Tauri)
- A small utility, where a native or Tauri build would be a fraction of the size
What it costs · Open source
Free (MIT).
Approximate, checked September 2026.
Related
Also called: Electron.js, electronjs
Tauri
FrameworkOpen sourceA framework for building small desktop and mobile apps with a web interface and a Rust core, using the web engine the operating system already has instead of bundling one.
The interface is an ordinary web front end (React, Vue, Svelte or plain HTML) shown in the system WebView: WebView2 (Microsoft Edge's engine) on Windows, WKWebView (Safari's engine) on macOS and iOS, WebKitGTK on Linux and the system WebView on Android. The back end is Rust: the front end calls Rust functions (commands) through invoke, and Rust can send events back.
With no browser bundled, a basic app can be only a few megabytes and uses far less memory than an Electron equivalent. Security is deny-by-default: capability files list exactly which commands and plugins each window may use. Official plugins cover the file system, dialogs, notifications, a SQL database, global shortcuts and a signed auto-updater.
The trade-offs come from the same design. Each system's WebView renders slightly differently, so the interface needs testing on all of them, and native features mean writing or reading Rust. Tauri 2, released in 2024, added iOS and Android support.
Pros
- Small installers and low memory use, because it uses the system WebView
- Rust core is fast and memory-safe, good for heavy or low-level work
- Permissions are locked down by default through capabilities
- One project can target Windows, macOS, Linux, iOS and Android
Cons
- Rendering differs between WebView2, WebKit and WebKitGTK, so test on each system
- Native features mean learning Rust, which takes time
- Younger ecosystem with fewer ready-made plugins than Electron
Pick it when
- Download size, memory use and start-up time matter
- The app does heavy local work (files, hardware, system monitoring) that suits Rust
- You want tight control over what the interface is allowed to call
Skip it when
- The app depends on Chrome-only web features or pixel-identical rendering everywhere
- Nobody on the team can maintain Rust code
What it costs · Open source
Free (MIT or Apache 2.0).
Approximate, checked September 2026.
Related
Also called: Tauri 2, tauri-apps
Rust building blocks
Tokio
LibraryOpen sourceThe standard engine for asynchronous Rust: it lets one program handle thousands of network requests, timers and file operations at once without a thread for each.
Rust's async functions do nothing on their own; they need a runtime to schedule them. Tokio provides one, with a pool of worker threads that run tasks whenever they can make progress, plus async versions of TCP and UDP sockets, timers, file access, channels and locks. A #[tokio::main] attribute on main starts it.
Much of the Rust networking world is built on it: the reqwest HTTP client, the hyper and axum web servers, the sqlx database library and tonic for gRPC. Tauri uses it as its default async runtime. The main rule is never to block a Tokio thread with long CPU work or blocking calls; spawn_blocking moves such work to a separate thread pool.
What it costs · Open source
Free (MIT).
Approximate, checked September 2026.
Related
Also called: tokio-rs, async Rust
reqwest
LibraryOpen sourceA popular HTTP client library for Rust, used to call web APIs, download files and send JSON from Rust programs and Tauri back ends.
reqwest wraps the low-level hyper library in a friendly API: build a Client once, then call get or post, add headers, a JSON body or a form, and await the response. It handles redirects, cookies, compression, proxies, timeouts and HTTPS, with a choice of the system's TLS library or rustls, a TLS stack written in Rust.
It is asynchronous and runs on Tokio, with an optional blocking API for simple scripts and command-line tools. Reusing one Client matters, because it keeps a pool of open connections. With the serde library, JSON responses turn straight into typed Rust structs.
What it costs · Open source
Free (MIT or Apache 2.0).
Approximate, checked September 2026.
Related
sysinfo and hardware sensors
LibraryOpen sourceA Rust library that reads what a computer is doing, such as CPU and memory use, disks, network traffic, running processes and component temperatures, across Windows, macOS and Linux.
sysinfo gives one API over very different system interfaces: /proc files on Linux, system calls on macOS and Windows APIs on Windows. Create one System value, refresh the parts you need, and read CPU load per core, used and total memory, swap, disks, network interfaces, processes and, through Components, temperature sensors where the system exposes them. It also supports Android, iOS and FreeBSD.
Usage figures are measured between two refreshes, so the first CPU reading is not meaningful; keep one System value and refresh it on a timer. Beyond what sysinfo covers, readings such as fan speeds and GPU load depend on the system and its drivers, some need administrator rights, and GPU details often need vendor libraries such as NVIDIA's NVML.
What it costs · Open source
Free (MIT).
Approximate, checked September 2026.
Related
Also called: sysinfo crate, system information, hardware monitoring
Open sysinfo and hardware sensors as a pageOfficial site (opens in a new tab)
Shipping
Installers
ToolOpen sourceThe package a user downloads to put an app on their computer: it copies the files into place, adds shortcuts and knows how to uninstall cleanly.
Each system has its own formats. Windows uses .exe setup programs (built with NSIS or Inno Setup), MSI packages (often built with WiX) and the newer MSIX. On macOS the norm is a .dmg disk image that the user drags into Applications, or a .pkg installer for anything that needs system-level setup. Linux has .deb (Debian, Ubuntu), .rpm (Fedora, Red Hat) and the distribution-neutral AppImage, Flatpak and Snap.
Framework tools produce most of these for you: the Tauri bundler makes MSI, NSIS, DMG, deb, rpm and AppImage files, and electron-builder or Electron Forge cover Electron. Package managers and stores such as winget on Windows, Homebrew on macOS and Flathub on Linux let users install without hunting for a download. Installers for Windows and macOS need code signing, or the system warns users away.
What it costs · Open source
Mostly free: NSIS, electron-builder and the Tauri bundler are open source. Inno Setup asks commercial users to buy a licence, and WiX (from v6) charges companies earning over $10,000 a year a maintenance fee.
Installers pricing (opens in a new tab)Approximate, checked September 2026.
Also called: setup.exe, MSI, MSIX, DMG, AppImage, Flatpak
Code signing
ConceptPaidAdding a digital signature to an app so the operating system can check who published it and that nobody has altered it since, which decides whether users see a warning or a clean install.
A signature is made with a private key that belongs to a certificate, issued after a check of the publisher's identity. When the app is downloaded, Windows or macOS verifies it: a valid signature shows the publisher's name, while an unsigned or altered file triggers a warning or is blocked. Phones go further, as Android and iOS refuse to install unsigned apps at all.
On Windows this is Authenticode, with certificates from a certificate authority (CA) such as DigiCert or Sectigo, or from Microsoft's Azure Artifact Signing service (formerly Trusted Signing). Since 2023 private keys must live on hardware, a USB token or a cloud HSM (hardware security module), and since 2024 pricier EV certificates no longer skip SmartScreen's warnings: reputation builds as a signed app is downloaded. MSIX apps in the Microsoft Store are signed by Microsoft for free.
On macOS, apps distributed outside the Mac App Store are signed with a Developer ID certificate, which needs the Apple Developer Program, then sent to Apple for notarisation, an automated malware check. Gatekeeper blocks apps that skip these steps, and recent macOS versions make opening them deliberately awkward. Linux has no central scheme; package repositories sign their packages instead.
Pros
- Users see a named publisher instead of an 'unknown publisher' warning
- Proves the file was not tampered with between build and download
- Expected by app stores, auto-updaters and many company networks
Cons
- Costs money every year, plus identity checks that can take days
- Keys kept on hardware tokens are awkward to use from CI build servers
- On Windows a new app can still meet SmartScreen warnings until it builds reputation
Pick it when
- Any app you distribute to the public on Windows or macOS
- Software for businesses, whose IT policies often block unsigned programs
Skip it when
- Internal tools on machines where IT installs a trusted certificate itself
- The app ships only as MSIX through the Microsoft Store, which signs it for you
What it costs · Paid
Windows: Artifact Signing about $10 a month (only in some countries) or an OV certificate about $150 to $300 a year. macOS: included in the Apple Developer Program, $99 a year (about ₹9,000).
Code signing pricing (opens in a new tab)Approximate, checked September 2026.
Related
Also called: Authenticode, notarisation, notarization, Developer ID, SmartScreen, Gatekeeper
Auto-updates
ConceptThe part of a desktop app that checks for a new version, downloads it in the background and installs it, so fixes reach users without them visiting a website.
The app asks a server, often a JSON file or a feed on GitHub Releases, whether a newer version exists, downloads the installer or a patch, checks its signature and installs it, usually on the next restart. Electron offers electron-updater (from electron-builder) and a built-in autoUpdater based on Squirrel, plus a free update service for open-source apps on GitHub. Tauri has an updater plugin, and native Mac apps often use the Sparkle framework.
Signing is the part that cannot be skipped: an updater that installs whatever a server sends is a direct route for attackers, so Tauri requires, and Sparkle recommends, updates signed with a key only the developer holds, on top of HTTPS and code signing. Staged rollouts, where a new version reaches a small share of users first, limit the damage of a bad release. Apps from the Microsoft Store and the Mac App Store are updated by the store instead.
Related
Also called: auto-updater, self-update, Squirrel, Sparkle, electron-updater
Operating systems
Operating system
ConceptThe core software that runs a computer or phone: it manages the hardware, memory and files, keeps apps apart from each other and gives them a common way to draw windows, use the network and store data.
At the centre is the kernel, which schedules programs on the processor, hands out memory, talks to hardware through drivers and enforces permissions. Around it sit the file system, networking, the graphical shell (desktop, taskbar, home screen) and the system libraries that apps call, known as APIs. Apps never touch hardware directly; they ask the operating system.
Desktops run Windows, macOS, Linux or ChromeOS; phones run Android or iOS; most servers and cloud machines run Linux. An app built for one system does not run on another without being rebuilt or ported, which is why cross-platform frameworks exist, and why installers, signing and app stores differ on every platform.
Also called: OS, kernel
Windows
PlatformPaidMicrosoft's operating system, which runs most of the world's desktop and laptop PCs and is the first target for most business software and PC games.
Windows runs on PCs from many manufacturers, mostly with Intel and AMD chips and increasingly with ARM chips (Windows on Arm), which run most older x64 apps through emulation. Native apps are written in C#, C++ or other languages with frameworks such as WinUI 3, WPF and WinForms, or with cross-platform tools such as Electron, Tauri and Flutter. WebView2, Microsoft Edge's engine for showing web content inside apps, comes with Windows 11.
Apps reach users as downloadable installers, which should be code-signed or SmartScreen warns people away, through the Microsoft Store, where registration is free for individuals and companies, or through winget, the built-in command-line package manager. Windows 10 reached end of support in October 2025. WSL (Windows Subsystem for Linux) lets developers run Linux tools inside Windows.
What it costs · Paid
Usually included in the price of a new PC. Retail Home and Pro licences are sold separately, and eligible Windows 10 PCs can upgrade to Windows 11 for free.
Windows pricing (opens in a new tab)Approximate, checked September 2026.
Also called: Microsoft Windows, Windows 11, Win32
macOS
PlatformFreeApple's operating system for Mac computers. It runs only on Apple hardware, and it is the only system that can build apps for iPhone and iPad.
macOS is built on a Unix foundation (Darwin), so the terminal, shell scripts and most developer tools behave much as they do on Linux servers. Since 2020 Macs have used Apple's own ARM-based chips (Apple silicon); new macOS releases no longer run on Intel Macs, and Rosetta 2, which translates older Intel apps, is being phased out. Native apps use Swift with SwiftUI or AppKit, and Electron, Tauri and Flutter also build for it.
Apps are sold through the Mac App Store, where they run in a sandbox, or downloaded directly, in which case they must be signed with a Developer ID and notarised by Apple or Gatekeeper blocks them. Xcode, and with it every iPhone and iPad build, runs only on macOS, which is why mobile teams need at least one Mac or a cloud Mac service. A new version arrives every autumn as a free update.
What it costs · Free
Free with every Mac, including yearly upgrades; it is licensed to run only on Apple hardware.
Approximate, checked September 2026.
Related
Also called: Mac OS X, OS X, Mac
Linux
PlatformOpen sourceA free, open-source operating system that runs most of the world's servers and cloud machines, many devices and a smaller share of desktops, in many versions called distributions.
Strictly, Linux is the kernel, started by Linus Torvalds in 1991 and released under the GPL licence. A distribution (distro) packages it with system tools, a package manager and usually a desktop: Ubuntu and Debian use apt and .deb packages, Fedora and Red Hat Enterprise Linux use dnf and .rpm, Arch uses pacman. GNOME and KDE Plasma are the main desktop environments.
Linux dominates servers, containers and the cloud, which is why web back ends and Docker images are almost always Linux. Android and ChromeOS are built on the Linux kernel, and Valve's Steam Deck runs a Linux-based system. On the desktop it is popular with developers, and it runs well on old hardware and small boards such as the Raspberry Pi.
For desktop app makers it is a fragmented target: several package formats (deb, rpm, AppImage, Flatpak, Snap), different desktops, and the move from the X11 display system to Wayland, which changes how screen capture, global shortcuts and window positioning work. Tauri apps use WebKitGTK here. There is no central code-signing scheme; repositories sign packages instead.
Pros
- Free to use, change and redistribute, with no licence fees
- Runs most servers and cloud machines, so development can match production
- Runs well on old or low-powered hardware, from laptops to Raspberry Pi boards
- Strong command-line tools and full control over the system
Cons
- Smaller desktop audience, and many commercial apps have no Linux version
- Many distributions and package formats to support for a desktop app
- Some Wi-Fi, fingerprint and graphics hardware needs extra driver work
- Some games with anti-cheat software do not run
Pick it when
- Servers, containers and cloud hosting
- Developer machines that should match the production environment
- Kiosks, embedded devices and reviving older computers
Skip it when
- You depend on Windows- or Mac-only software such as Microsoft Office or Adobe apps
- Users expect every app and device to work with no setup at all
What it costs · Open source
Free. Paid support exists, such as Red Hat Enterprise Linux or Ubuntu Pro (free for personal use on up to 5 machines, about $25 a year per company workstation).
Linux pricing (opens in a new tab)Approximate, checked September 2026.
Related
Also called: GNU/Linux, Ubuntu, Debian, Fedora, Linux distribution, distro
Side by side
Differences
How the options in this area compare on the questions that usually decide the choice.
Electron vs Tauri
Open as a page: Electron vs TauriBoth put a web interface in a desktop window. The difference is underneath: Electron ships its own Chromium and Node.js with every app, while Tauri uses the system's WebView and a Rust core.
| Compare | Electron | Tauri |
|---|---|---|
| Web engine | Bundled Chromium, identical everywhere | System WebView, differs by OS |
| Back-end language | JavaScript or TypeScript on Node.js | Rust |
| Download size | Tens of megabytes at minimum | Often a few megabytes |
| Memory use | Higher, a browser per app | Lower |
| Security model | Safe defaults, but exposed Node access is risky | Deny by default, with capability files |
| Mobile | Desktop only | iOS and Android since version 2 |
| Ecosystem | Very mature, with the npm ecosystem | Growing, with a smaller plugin set |
| Watch out for | Size, memory and frequent upgrades | WebView rendering differences, Rust learning curve |
| Cost | Free (MIT) | Free (MIT or Apache 2.0) |
How to choose
- Pick Electron when the team knows only JavaScript, needs Node.js libraries, or must render identically on every system.
- Pick Tauri when size, memory and start-up time matter, or when the app does heavy local work that suits Rust.
- Both need code signing, installers and an auto-updater, so the shipping effort is similar.
Windows vs macOS vs Linux
Open as a page: Windows vs macOS vs LinuxThe three desktop platforms an app can target. Each has its own audience, its own installer formats and its own rules for trusting downloaded software.
| Compare | Windows | macOS | Linux |
|---|---|---|---|
| Made by | Microsoft | Apple | Open source, many distributions |
| Runs on | PCs from many makers | Apple hardware only | Almost any hardware |
| Cost to users | A licence, usually bundled with the PC | Free with a Mac | Free |
| Desktop audience | Most desktop users | Large, strong in creative work | Small, strong among developers |
| Native app tools | C#, C++, WinUI, WPF | Swift, SwiftUI, AppKit | C, C++, GTK, Qt |
| Installers | EXE, MSI, MSIX | DMG, PKG | deb, rpm, AppImage, Flatpak |
| Trusting downloads | Code signing plus SmartScreen reputation | Developer ID and notarisation | Signed repositories, no central scheme |
| App store | Microsoft Store, free to join | Mac App Store, via the Apple Developer Program | Flathub, Snap Store |
| On servers | Some, mostly in companies | Rare | Most of the internet |
How to choose
- Target Windows first when the audience is general consumers, offices or PC gamers.
- Add macOS for designers, developers and creative professionals, and whenever the team also ships iPhone apps.
- Support Linux for developer tools and technical audiences, and treat it as the default for servers.
Crafted in the dark. Shipped to the world.
Tell us what you are building. You get a private project space with a proposal and a line-by-line quote within a day.