<a id="explanation"></a>

# Explanation

These explanatory articles offer context for using and configuring Ubuntu Desktop for development.

## Ubuntu installation for development

Considerations to take into account when installing Ubuntu Desktop to serve as a developer platform.

* [Installing Ubuntu Desktop for developers](https://documentation.ubuntu.com/ubuntu-for-developers/explanation/install-ubuntu.md)

## Git for development on Ubuntu

Context and advice for configuring Git, the standard system for version control and source-code management, on Ubuntu.

* [Using Git version control on Ubuntu](https://documentation.ubuntu.com/ubuntu-for-developers/explanation/use-vcs.md)

## Packaging on Ubuntu

Information on packaging your application from an Ubuntu system, to distribute it to users.

* [Packaging software](https://documentation.ubuntu.com/ubuntu-for-developers/explanation/packaging.md)

## .NET basics

The history of .NET, its impact on the toolchain in Ubuntu, and key concepts in debugging with .NET.

* [Introduction to the .NET toolchain](https://documentation.ubuntu.com/ubuntu-for-developers/explanation/dotnet-introduction.md)
* [Debugging with .NET](https://documentation.ubuntu.com/ubuntu-for-developers/explanation/debugging-with-dotnet.md)

## GraalVM native image

An introduction to GraalVM and native-image technology, its advantages and limitations.

* [GraalVM native compilation](https://documentation.ubuntu.com/ubuntu-for-developers/explanation/graalvm-introduction.md)

## Devpacks

What devpacks are and how they work.

* [Devpacks](https://documentation.ubuntu.com/ubuntu-for-developers/explanation/devpacks.md)
