1. Project Overview & Quickstart (dotnet/maui)
File: README.md
.NET Multi-platform App UI (.NET MAUI)
.NET Multi-platform App UI (.NET MAUI) is a cross-platform framework for creating mobile and desktop apps with C# and XAML. Using .NET MAUI, you can develop apps that can run on Android, iOS, iPadOS, macOS, and Windows from a single shared codebase.
Getting Started
Create a new app with dotnet new maui -n NewApp or a sample app with dotnet new maui -n NewApp -sc that includes the open-source Syncfusion Toolkit for .NET MAUI with over 30 additional controls, the .NET MAUI Community Toolkit with tons of helpers and views, and MVVM Toolkit.
Note: If the maui template is not available, first install the .NET MAUI workload with dotnet workload install maui.
Overview
.NET Multi-platform App UI (.NET MAUI) is the evolution of Xamarin.Forms that expand capabilities beyond mobile Android and iOS into desktop apps for Windows and macOS. With .NET MAUI, you can build apps that perform great on any device that runs Windows, macOS, Android, & iOS from a single codebase. Coupled with Visual Studio productivity tools and emulators, .NET and Visual Studio significantly speed up the development process for building apps that target the widest possible set of devices. Use a single development stack that supports the best-of-breed solutions for all modern workloads with a unified SDK, base class libraries, and a toolchain.
Current News
- 2025 - What's new in .NET MAUI for .NET 10
- November 13, 2024 - What's new in .NET MAUI for .NET 9
- November 12, 2024 - Announcing .NET 9
- October 22, 2024 - .NET MAUI Welcomes Syncfusion Open-source Contributions
Follow the .NET MAUI Blog and visit the News wiki page for more news and updates.
FAQs
Do you have questions? Do not worry; we have prepared a complete FAQ answering the most common questions.
How to Engage, Contribute, and Give Feedback
Some of the best ways to contribute are to try things out, file issues, join in design conversations,
and make pull-requests. Proposals for changes specific to MAUI can be found here for discussion.
See CONTRIBUTING, CODE-OF-CONDUCT and the Development Guide.
File: docs/README.md
Contributor documentation
The primary audience for documentation in this folder is contributors to .NET MAUI.
If you are looking for documentation on how to use .NET MAUI, go to https://docs.microsoft.com/dotnet/maui/.
The table below outlines the different docs in this folder and what they are helpful for.
| Documentation | What is it about? | Who is it for? |
|---|---|---|
| CG Manifest | Guide to Component Governance manifest generation and management | Contributors who need to manage third-party dependencies or include CG manifest in packages |
| Code Documentation Guidelines | Overview of the guidelines for the inline code documentation | Community members and collaborators looking to understand how to add good inline code comments that fuel our IntelliSense and online API docs |
| Development Tips | Development tips including debugging, building, and device testing on Helix | Contributors who need guidance on development workflows, including running device tests on cloud infrastructure |
| Issue management | Overview of policies in place to manage issues | Community members and collaborators looking to understand how we handle closed issues, issues that need author feedback, etc. |
| Release Planning | Link to the .NET MAUI roadmap | Anyone interested in the project roadmap and future plans |
| Release Process | Describes the release process using the Arcade SDK for building, signing, and publishing packages | Contributors and maintainers involved in releasing .NET MAUI |
| Release Schedule | Overview of .NET MAUI version releases | Anyone who is interested in .NET MAUI versions and release dates |
| Triage process | Overview of the issue triage process used in the repo | Anyone looking to understand the triage process on the repo |
| UI Testing Guide | Comprehensive guidance for creating automated UI tests using Appium and NUnit | Contributors writing UI tests for .NET MAUI controls |
2. Official Technical Reference & Guides (dotnet/docs)
.NET Docs
This repository contains the conceptual documentation for .NET. The .NET documentation site is built from multiple repositories:
- .NET docs
- ASP.NET Core docs
- .NET Desktop workloads docs
- .NET MAUI docs
- Entity Framework docs
- Community toolkit
API reference documentation is published from the following repositories:
- .NET API reference
- .NET MAUI API reference
- Android API reference
- Entity Framework 6/Core API reference
- Roslyn API reference
- Community toolkit API reference
These API reference doc repositories are public. Only some accept issues and pull requests. Others are pass-through repositories because API reference is generated directly from the /// in the product source. Some folders in dotnet-api-docs use the product repository as the source of truth.
The C# language specification documentation comes from the following two repositories:
Our team's tasks are tracked in our project boards. You'll see monthly sprint projects, along with long-running projects for major documentation updates. The projects contain documentation issues across the repositories that build .NET docs. Issues are tracked in the relevant repositories. We have a large community using these resources. We make our best effort to respond to issues in a timely fashion. To create a new issue, click the "Open a documentation issue" button at the bottom of any of our published docs, or choose one of the available templates. The control at the bottom of each article automatically routes you to the correct repo and fills in some relevant information based on the article.
:purple_heart: Contribute
We welcome contributions to help us improve and complete the .NET docs. This is a very large repo, covering a large area. If this is your first visit, see the Contributor guide for information on working with us. Look for issues labeled help wanted :label: for ideas to get started.
Before submitting a PR with 3rd party dependencies, see our policy on 3rd party dependencies.
We work to merge or close PRs in a timely fashion. We regularly review and approve PRs. We encourage contributors to respond to comments in a similar timely fashion. Many times, reviews identify small changes such as spelling or grammar issues, or word choice. Maintainers can accept those suggestions and merge the PR. In other situations, maintainers ask for more significant changes before a PR is ready to merge. We expect contributors to make those changes. Maintainers will help by answering questions or pointing to other resources, if needed.
We consider PRs to be abandoned when they've had no activity (either commits or discussion) in the past 30 days. Team members will close PRs that have been abandoned. Contributors can reopen and continue to work.
:bookmark_tabs: Code of conduct
This project has adopted the code of conduct defined by the Contributor Covenant
to clarify expected behavior in our community. For more information, see the .NET Foundation: Code of Conduct.
:octocat: GitHub Action workflows
- : Adds a comment to PRs that were not automated, but rather manually created that target the
livebranch. - : Automatically approves and auto-merges PRs originating from the
dependabbot[bot]. - : Creates a PR to generate the "What's new" article on the first of every month.
- : The current status for the entire repositories Markdown linter status.
- : Runs various Markdown verifications, beyond the linter, such as ensuring links and redirects are valid.
- : Builds the site for the PR in context, and verifies the build reporting either,
success,warnings, orerror. - : Custom .NET build validation, locates code impacted by a PR, and builds.
- : Runs monthly, creating issues on projects that target .NET versions that are out of support.
- : Automatically updates the
dependabotconfiguration weekly, but only if required. - : Automatically synchronizes issues with Quest (Azure DevOps).
- : Manual bulk import of issues into Quest (Azure DevOps).