Git Product home page Git Product logo

documentation's Introduction

๐Ÿ‘‹ Introduction to Avalonia

Welcome

Welcome to Avalonia - the best open source, easy to learn .NET C# multiplatform package for desktop (Windows, Mac and Linux) development.

If you're familiar with WPF or UWP then you should feel right at home with Avalonia. Although Avalonia is not API compatible with either of these frameworks (and so controls can't be used without porting), there's a lot of similarity. If you're a WPF user we have a page which describes the main differences between WPF and Avalonia.

Why Avalonia is a Hit

  • Avalonia allows creating applications that look and behave the same on most popular Desktop platforms (Windows, Mac, various flavors of Linux) while also allowing the platform specific customizations.

  • Avalonia is supported by the following companies:

    and many other smaller companies.

  • Avalonia (just like WPF and Silverlight) is fully compositional: you can create a button out of Avalonia primitives in a fashion similar to creating a complex page, while its competitors (Web, Xamarin and Java) packages are not compositional to the same degree.

  • Avalonia UI, unlike JavaScript has full advantage of a strongly typed language. Also Avalonia has full advantage of a compiled-to-binary code language.

  • Avalonia is an open source multiplatform descendant of great Microsoft packages - WPF and Silverlight which brought the UI development on a completely new level creating a set of new concepts and which allow to create a full blown UI application in fraction of time and effort in comparison to other technologies. Here is the list of some of the concepts:

    • Visual and Logical Trees
    • Attached or Dependency Properties which can be defined outside of the object on which they are used and do not take any extra memory unless they are assigned a non-default value and have a special event to fire when their values change.
    • Attached Routed Events that can be defined outside of the objects that fire them and can propagate and be handled up and down on the trees.
    • Bindings and the related MVVM pattern
    • Control Templates
    • Data Templates
    • Styles
    • Behaviors provide way to modify and augment the behavior of a C# class without modifying the class itself by using the events.

    All these paradigms have been implemented for multiple platforms in Avalonia.

Supported .NET Version

Avalonia is supported on all platforms that support .NET Standard 2.0

Supported Platforms

Avalonia is supported on the following platforms:

  • Windows 8 and higher
    • Note: Avalonia works correctly on Windows 7 also,but not supported officially
  • MaxOS High Sierra 10.13 and higher
  • for Linux:
    • Debian 9 (Stretch) and higher
    • Ubuntu 16.5 and higher
    • Fedora 30 and higher

Supported Development Environments

The following environments support Avalonia XAML with IntelliSense:

  • Visual Studio 2017 and higher (with or without Resharper 2020.3). Avalonia Visual Designer is also supported.
  • JetBrains Rider 2020.3 and higher.

Installing Avalonia Extension for Visual Studio

JetBrains Rider Setup

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.