The best frameworks for desktop and mobile apps
A cross-platform framework builds apps for Windows, macOS, Linux, Android and iOS from one codebase. Its tooling and SDKs end up in every app built with it, so telemetry in the framework can become telemetry in your app. Every framework below is rated on the same public criteria: open source, trackers and telemetry, funding and independent audits.
Our recommended stack is Tauri with Svelte and TypeScript. The Forward Email apps are an open example: one Tauri, Svelte and TypeScript codebase ships the webmail and the desktop and mobile apps.
1. Tauri Grade B Our pick
Framework for building desktop and mobile applications with a web frontend and a Rust backend, using the operating system's webview.
Why it is our pick: Small, fast apps for desktop and mobile from one web codebase, using the system web view instead of a bundled browser. A Rust core with a permission system, no telemetry, and a public independent audit. Pairs well with Svelte and TypeScript, as in the Forward Email apps (github.com/forwardemail/mail.forwardemail.net), which ship to Windows, macOS, Linux, Android and iOS from one Tauri, Svelte and TypeScript codebase.
Based in the Netherlands (Nine Eyes). Score 85/100.
2. Apache Cordova Grade B
Apache Software Foundation framework for building mobile apps with HTML, CSS and JavaScript, packaged in a native webview with plugins for device APIs.
Based in the United States (Five Eyes). Score 80/100.
3. BeeWare Grade B
Collection of Python tools for building native apps, including the Toga GUI toolkit that uses each platform's native widgets and the Briefcase packaging tool.
Score 80/100.
4. GTK Grade B
Toolkit for building graphical user interfaces, written in C with bindings for many languages. It is developed by the GNOME project.
Based in the United States (Five Eyes). Score 80/100.
5. Iced Grade B
Cross-platform GUI library for Rust based on the Elm architecture, focused on simplicity and type safety.
Score 80/100.
6. Kivy Grade B
Python framework for cross-platform apps with multi-touch support, drawing its own GPU-accelerated widgets and using the KV design language.
Score 80/100.
7. NativeScript Grade B
Framework for building native Android and iOS apps with JavaScript or TypeScript, giving direct access to native platform APIs, usable with Angular, Vue, React, Svelte or Solid.
Based in the United States (Five Eyes). Score 80/100.
8. Wails Grade B
Framework for building desktop apps with Go and web technologies, using the operating system's native webview for the frontend.
Score 80/100.
9. Slint Grade C
UI toolkit for building native user interfaces with a declarative markup language, with APIs for Rust, C++, JavaScript and Python, for desktop, mobile and embedded devices.
Based in Germany (Fourteen Eyes). Score 65/100.
10. .NET MAUI Grade D
Microsoft's cross-platform UI framework for building native Android, iOS, macOS and Windows apps from a single C# and XAML codebase.
Based in the United States (Five Eyes). Score 50/100.
11. Avalonia UI Grade D
Cross-platform UI framework for .NET that draws its own controls with XAML and C#, targeting Windows, macOS, Linux, Android, iOS and WebAssembly.
Based in Estonia. Score 50/100.
12. Capacitor Grade D
Cross-platform native runtime for running web apps on Android and iOS and as progressive web apps, with a plugin API for native device features.
Based in the United States (Five Eyes). Score 50/100.
13. Electrobun Grade D
Framework for building desktop apps in TypeScript, with a native layer written in Zig, Objective-C and C++, compact bundles and built-in differential updates.
Score 50/100.
14. Electron Grade D
Framework for building cross-platform desktop applications with JavaScript, HTML and CSS by bundling Chromium and Node.js.
Based in the United States (Five Eyes). Score 50/100.
15. Expo Grade D
Framework and tooling built on React Native for building Android, iOS and web apps, with a CLI, SDK modules, file-based routing and optional cloud build services.
Based in the United States (Five Eyes). Score 50/100.
16. Flutter Grade D
Google's UI toolkit for building natively compiled mobile, web and desktop apps from one Dart codebase, drawing its own widgets with its rendering engine.
Based in the United States (Five Eyes). Score 50/100.
17. Framework7 Grade D
HTML and JavaScript framework for building mobile, desktop and web apps with an iOS and Material Design look, usable with Vue, React or Svelte.
Score 50/100.
18. Fyne Grade D
GUI toolkit for Go that builds desktop, mobile and web apps from a single codebase.
Score 50/100.
19. Ionic Grade D
UI toolkit of web components for building mobile, desktop and progressive web apps with HTML, CSS and JavaScript, usable with Angular, React or Vue.
Based in the United States (Five Eyes). Score 50/100.
20. Jetpack Compose Grade D
Google's declarative UI toolkit for Android apps, written in Kotlin, where interfaces are built from composable functions.
Based in the United States (Five Eyes). Score 50/100.
21. Kotlin Multiplatform Grade D
JetBrains technology for sharing Kotlin code across Android, iOS, desktop, web and server, with Compose Multiplatform for shared user interfaces.
Based in Czechia. Score 50/100.
22. Lynx Grade D
Cross-platform framework for building native mobile and web interfaces with web technologies such as CSS and React, using a multi-threaded rendering engine.
Score 50/100.
23. NW.js Grade D
Runtime that combines Chromium and Node.js for building desktop apps with HTML and JavaScript, with Node.js modules callable from the DOM.
Score 50/100.
24. Quasar Grade D
Vue.js-based framework for building web, mobile and desktop apps from one codebase, with a Material component library and a CLI.
Score 50/100.
25. React Native Grade D
Framework from Meta for building native Android and iOS apps with React and JavaScript or TypeScript, rendering platform-native UI components.
Based in the United States (Five Eyes). Score 50/100.
How this list is made
Entries are ranked with our picks first, then by score against public criteria. Every answer links to evidence, and hosted services are tested automatically. The list updates when ratings change.
Compare all: cross-platform app frameworks. Criteria and scoring.
Questions
What is the best framework for cross-platform apps?
Tauri, used with Svelte and TypeScript, builds small desktop and mobile apps from one web codebase, uses the system web view instead of a bundled browser, has no telemetry and has a public independent audit. React Native and Flutter are the most common choices for mobile, but their tooling sends usage data by default in some setups.
Is Tauri better than Electron?
Tauri apps are usually much smaller because they use the system web view instead of bundling Chromium, and Tauri also targets Android and iOS. Electron gives the same browser engine on every platform. See both ratings for the evidence.
Do Flutter and Expo collect telemetry?
The Flutter and Expo command-line tools send usage data by default until it is turned off. Each rating links to the documentation that explains how to turn it off.