[Open Source] One Codebase for All Platforms: Supporting Mobile Devices, Desktop Computers, Mini Programs, and Browser Extensions
![[Open Source] One Codebase for All Platforms: Supporting Mobile Devices, Desktop Computers, Mini Programs, and Browser Extensions](https://yy123.ink/api/img/1782607854586-zbhf6i.jpg)
1. Project Overview
uapp is a convenient CLI tool for uni-app development. By integrating Electron and Tauri, it also extends development capabilities to desktop applications. Developers only need to maintain a single codebase to target all platforms. It supports all mobile platforms (Android, iOS), desktop platforms (Windows, macOS, Linux), mini programs, browser extensions, and more. It empowers Web developers to do more with their skills. Knowing H5 is all you need.
2. Open Source License
Licensed under Apache-2.0
3. Screenshots

4. Feature Overview
What Can uapp Do?
uapp is based on best practices in cross-platform development. By integrating uni-app, Electron, and Tauri, it allows developers to maintain a single codebase while targeting all platforms.
uapp supports all mobile platforms (Android, iOS), desktop platforms (Windows, macOS, Linux), mini programs, browser extensions, and more.
uapp empowers Web developers to do more. With H5 skills, you can rebuild virtually any software without platform limitations.
-
When developing WeChat Mini Programs, simply run uapp run dev:mp-weixin --open to generate the mini program code and automatically open WeChat DevTools to load it.
-
To build an offline APP base, simply run uapp run build:dev to generate a custom base installation package, which is automatically published under the hbx project directory for immediate use.
-
uapp info lets you view various development-related details, including the package name, signature md5, dcloudkey, and jwt.
Each additional platform means another traffic channel and another reason for users to choose your product. All of this requires maintaining only one codebase. Even if you develop for just one platform, the coding effort remains the same, so why not choose an approach with greater code reuse value?
5. Tech Stack
1. Install uappsdk First
1. Install the uapp CLI
2. Download the uni-app offline packaging SDK
Note: Do not confuse this with .uappsdk. The uniapp offline SDK mentioned here refers to the official SDK released by DCloud.
2. WebApp Project (Important)
Compile Mini Programs and H5 directly under the WebApp project.
3. Offline Packaging Project
1. Create a New Android Project
2. Create a New iOS Project
3. Common Commands for Offline Projects
4. manifest.json Related Configuration
5. Other References
iOS Sign in with Apple
6. Desktop Application Development for Windows / Mac / Linux
Desktop applications can compile uniapp into H5 and then integrate it into Electron or Tauri.
How to Extend Electron
Electron integrates Node.js and can be extended using node-gyp. Its built-in APIs provide a rich set of system capabilities that can meet the needs of the vast majority of applications.
How to Extend Tauri
Tauri is developed with Rust and can be extended using the Rust ecosystem. Version 2 is still in the alpha stage and introduces support for mobile platforms.
For details, please refer to the README.md documentation.