Создание кроссплатформенных приложений
Данное руководство познакомит вас с проектированием кроссплатформенных приложений на Avalonia, для максимизации переиспользования кода и обеспечения согласованности UI между всеми основными платформами: Windows, Linux, macOS, iOS, Android и WebAssembly.
При создании приложений, использование подхода Xamarin.Forms и MAUI, как правило приводит к небольшому количеству общего функционала, а также к универсальному пользовательскому интерфейсу. В отличии от них, Avalonia UI подталкивает к созданию собственного UI.
Ниже, в краткой форме указаны ключевые моменты при создании кроссплатформенных приложений на Avalonia:
- Используйте .NET - Разрабатывайте ваше приложение на C#, F# или VB.NET. Существующий код, написанный на .NET с использованием Avalonia, можно легко портировать на Windows, Linux, macOS, iOS, Android и WebAssembly
- Применяйте паттерн MVVM -
Разрабатывайте пользовательский интерфейс приложение с паттерном
Model/View/ViewModel (MVVM)
. Данный подход позволяет отделить "Model" и "View" друг от друга, используя "ViewModel" в качестве по средника. Благодаря этому, гарантируется независимость логики UI от выбранной платформы, что способствует переиспользованию кода и улучшению его сопровождения. - Используйте графические возможности Avalonia - Avalonia не зависит от нативных элементов UI. Подобно Flutter, она рисует его с нуля. Такой подход не только обеспечивает внешнее единообразие на всех платформах, но и высокий уровень настроек, позволяя адаптировать UI под ваши потребности.
- Баланс между основным и платформозависимым кодом - ключом к достижению максимальному переиспользованию кода, является баланс между основным и платформозависимым кодом. Основной код должен включать в себя все, что не взаимодействует напрямую с выбранной платформой.