Skip to content

Commit b8a9d67

Browse files
authored
Merge pull request #21630 from unoplatform/dev/agzi/AdjustPublishingDocs
docs(publishing): Expand overview content with platform matrices and CI clarification
2 parents 97718e2 + 0859bed commit b8a9d67

File tree

1 file changed

+68
-7
lines changed

1 file changed

+68
-7
lines changed

doc/articles/uno-publishing-overview.md

Lines changed: 68 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,81 @@ uid: uno.publishing.overview
44

55
# Publishing Your App (App Packaging)
66

7+
Uno Platform provides **integrated, automated packaging** for every supported platform, covering desktop, mobile, web, and embedded, with no third-party tools or extra setup required.
8+
Packaging is part of the standard `.NET publish` workflow, so you can go from code to distributable packages in a single command.
9+
10+
## Why It Matters
11+
12+
App packaging is the bridge between a working build and an installable application.
13+
Each OS has unique signing, metadata, and distribution requirements, which can make deployment complex for cross-platform projects.
14+
15+
Typical tasks include:
16+
17+
- Building and publishing binaries
18+
- Generating assets and manifests
19+
- Applying code signing and notarization
20+
- Assembling installable formats (MSIX, .app, APK, IPA, etc.)
21+
- Preparing for distribution or app store submission
22+
23+
Traditionally, .NET developers rely on custom scripts or third-party tools to manage this complexity.
24+
Uno Platform automates it out of the box.
25+
26+
## The Broader Platform Packaging Ecosystem
27+
28+
| Platform | Formats | Signing | Distribution | Complexity |
29+
|-----------|----------|----------|---------------|-------------|
30+
| **Windows** | MSIX, MSI, ClickOnce | Certificates | Microsoft Store, Direct | Multiple formats; Store validation |
31+
| **macOS** | .app, .pkg, .dmg | Apple certs + notarization | App Store, Direct | Mandatory notarization; complex signing |
32+
| **Linux** | Snap, AppImage, DEB, RPM | Optional | Snap Store, Direct | Multiple package managers |
33+
| **Android** | APK, AAB | Keystore | Google Play, Direct | AAB for Play; Keystore management |
34+
| **iOS** | IPA | Provisioning profiles | App Store, TestFlight | Strict signing; Profile management |
35+
| **WebAssembly** | Static files, PWA | HTTPS / CSP | Web hosting | Service workers; PWA manifest |
36+
37+
## What Uno Platform Provides Out of the Box
38+
39+
Uno Platform simplifies all of this with a unified, automated approach:
40+
41+
| Platform | Package Formats | Code Signing | Store Ready | Status |
42+
|-----------|----------------|---------------|-------------|---------|
43+
| **Windows** | MSIX, ClickOnce || ✅ Microsoft Store | ✅ Available |
44+
| **macOS** | .app, .pkg, .dmg || ✅ App Store | ✅ Available |
45+
| **Linux** | Snap || ✅ Snap Store | ✅ Available |
46+
| **Android** | APK, AAB || ✅ Google Play | ✅ Available |
47+
| **iOS** | IPA || ✅ App Store | ✅ Available |
48+
| **WebAssembly** | Static files, PWA || ✅ Web hosting | ✅ Available |
49+
50+
## Key Features
51+
52+
- **Native `dotnet publish` Integration** – No separate tools required. Works with your CI/CD pipelines.
53+
- **Cross-Platform Build Support** – Build Windows packages from Linux or macOS, and vice versa.
54+
- **Advanced Publishing Options** – Self-contained deployments, single-file packaging, Native AOT (where supported).
55+
- **Automated Everything** – Manifest generation, asset resizing, signing, and platform-specific optimization.
56+
57+
Example command for Android AAB:
58+
59+
```bash
60+
dotnet publish -f net9.0-android -p:AndroidPackageFormat=aab
61+
```
62+
63+
The same command pattern applies to Windows, macOS, Linux, iOS, and WebAssembly.
64+
765
## Preparing
866

67+
Before publishing, make sure your app is optimized:
68+
969
- [Configure the IL Linker](xref:uno.articles.features.illinker)
1070
- [Enable XAML and Resource Trimming](xref:Uno.Features.ResourcesTrimming)
1171
- [Improve Performance](xref:Uno.Development.Performance)
1272

13-
## Packaging
73+
## Platform-Specific Guides
1474

15-
- [Packaging for Desktop](xref:uno.publishing.desktop) (using `netX.0-desktop`)
16-
- [Packaging for WebAssembly](xref:uno.publishing.webassembly) (using `netX.0-browserwasm`)
17-
- [Packaging for iOS](xref:uno.publishing.ios) (using `netX.0-ios`)
18-
- [Packaging for Android](xref:uno.publishing.android) (using `netX.0-android`)
19-
- [Packaging for Windows App SDK](xref:uno.publishing.windows) (using `netX.0-windows10.yyy`)
75+
- [Packaging for Desktop](xref:uno.publishing.desktop) (`netX.0-desktop`)
76+
- [Packaging for WebAssembly](xref:uno.publishing.webassembly) (`netX.0-browserwasm`)
77+
- [Packaging for iOS](xref:uno.publishing.ios) (`netX.0-ios`)
78+
- [Packaging for Android](xref:uno.publishing.android) (`netX.0-android`)
79+
- [Packaging for Windows App SDK](xref:uno.publishing.windows) (`netX.0-windows10.yyy`)
2080

2181
## Continuous Integration
2282

23-
Uno Platform provides a set of [CI integrations](xref:Uno.GettingStarted.UsingWizard#11-ci-pipeline) for Azure Devops and GitHub actions as part of the Uno Platform template.
83+
Uno Platform provides built-in [CI integrations](xref:Uno.GettingStarted.UsingWizard#11-ci-pipeline) for Azure DevOps and GitHub Actions, included as part of the Uno Platform project templates.
84+
These pipelines include ready-to-use packaging steps for all supported platforms.

0 commit comments

Comments
 (0)