Avalonia UI – это фреймворк основанный на .NET, активно используемый для разработки кроссплатформенных пользовательских интерфейсов. С помощью универсального API для построения приложений Avalonia поддерживает все основные платформы и среды исполнения и имеет свой уникальный интерфейс. Тем самым ваши бизнес-решения будет идентично выглядеть в каждой операционной системе.
FastReport Avalonia включает в себя мощное ядро обработки данных, уже привычный дизайнер отчетов и вьювер для готовых отчетов. Также в новом продукте доступны все форматы экспорта построенного отчета – PDF, Excel, MS Word и многие другие.
Библиотека полностью обратно совместима с FastReport WPF, FastReport .NET, FastReport Mono. Поддерживает Avalonia UI, .NET 7 и .NET 8.
В этой статье мы разберем подробно, как запустить FastReport Avalonia на операционной системе MacOS с использованием IDE Visual Studio.
Первым делом нам необходимо установить Visual Studio for Mac. Дело в том, что для дальнейшей работы с шаблонами Avalonia необходима определенная версия Visual Studio, а именно 17.6.10. Вы можете ее скачать перейдя по этой ссылке. В ней можно включить поддержку .NET 8, об этом поговорим чуть позже.
Следующим шагом будет установка самого .NET 8. Для этого вы можете перейти на официальный сайт Microsoft и скачать инсталлер для MacOS.
После установки SDK 8.0 нам необходимо настроить Visual Studio. Дело в том, что для работы с .NET 8 нужно включить его использование в Visual Studio. Для этого нажимаем на Visual Studio ПКМ и нажимаем на “Preferences”.
В открывшемся окне листаем в самый низ до пункта “Preview Features” и ставим галочку на “Use the .NET 8 SDK…”.
Нажимаем “ОК” и перезагружаем Visual Studio.
Когда мы прошли вышеперечисленные шаги, нам необходимо установить шаблоны Avalonia для дальнейшей работы. После их установки мы сможем выбрать готовые шаблоны в Visual Stiudio, чтобы упростить дальнейшую разработку. Для этого нам необходимо открыть консоль и ввести следующую команду:
dotnet new install Avalonia.Templates
Теперь мы можем приступить к созданию проекта в Visual Studio.
Запускаем Visual Studio и создаем проект. При выборе шаблона листаем в самый низ к группе “Other” и выбираем “Custom”. В окне выбираем Avalonia .NET app. Это как раз те шаблоны, которые мы устанавливали через консольную команду. Нажимаем Continue.
Далее идет настройка шаблона. Выбор версии .NET и Avalonia. Рекомендуем выбирать версию Avalonia 11.1.0 –beta и выше, так как в ней были исправлены многие визуальные ошибки. В качестве нашего примера оставим версию .NET 8. Нажимаем “Continue”.
Теперь у нас есть шаблонный проект Avalonia в Visual Studio. Далее нам необходимо подключить приватный NuGet сервер, где мы сможем получить NuGet пакеты Avalonia. Для этого нажимаем на наш проект ПКМ и выбираем “Manage NuGet Packages…”.
В появившемся окне, в самом конце есть «Package source: All sources». Разворачиваем список и нажимаем “Configure Sources…”.
В появившемся окне нажимаем “Add”. У нас появится окно для заполнения данных.
- Name: имя источника без пробелов (например FastReport-Nuget);
- Location: https://nuget.fast-report.com/api/v3/index.json;
- Username: email от аккаунта Быстрые отчеты;
- Password: пароль от аккаунта Быстрые отчеты.
Когда мы ввели все нужные данные, можем закрыть окно. Теперь у нас есть приватный NuGet сервер, который мы можем использовать.
Следующим шагом будет добавление необходимых пакетов для проекта, а именно:
FastReport.Avalonia и FastReport.Forms.Avalonia.
Для этого в окне NuGet пакетов выбираем в качестве источника наш приватный NuGet сервер.
Для удобства мы напишем в поиске “Avalonia”, чтобы вывести пакеты с соответствующим названием. Выбираем нужные пакеты и устанавливаем их.
Теперь, когда мы смогли настроить проект, то приступаем к написанию кода. Далее рассмотрим простой пример с демонстрацией работоспособности пакетов FastReport Avalonia. Сначала откроем файл MainWindow.axaml.cs и заполним его следующим образом:
using Avalonia.Controls; using Avalonia.Interactivity; using FastReport; namespace FRAvalonia; public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } public void ButtonClicked(object source, RoutedEventArgs args) { Report report = new Report(); report.Load("Barcode.frx"); report.Design(); } }
Пока что мы сюда просто добавили метод для обработки кнопки и указали, какой отчет будет открыт в дизайнере.
Далее переходим в MainWindow.axaml и заполняем его вот таким образом:
<Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" x:Class="FRAvalonia.MainWindow" Title="FRAvalonia"> <Button Click="ButtonClicked" >Start Designer!</Button> </Window>
Затем добавляем саму кнопку, у которой уже есть обработчик. Теперь мы можем запустить проект. При запуске проекта, у нас появится окно с кнопкой, нажимаем на нее. Наблюдаем как происходит магия и у нас запускается FastReport Designer на Avalonia.
Также мы можем включить предварительный просмотр и посмотреть на отчет в Preview.
Таким образом нам удалось запустить FastReport Avalonia на MacOS с использованием Visual Studio. Как можно заметить, при запуске и настройке нет абсолютно ничего сложного. Достаточно установить пакеты SDK, настроить приватные NuGet пакеты и после можно пользоваться FastReport Avalonia. По всем вопросам обращайтесь в нашу техническую поддержку support@fastreport.ru. Приятного использования!