62. Avalonia UI Real World (Embedded Kestrel Server)
00:00 Подготовка пользовательского интерфейса • Доработка главной страницы приложения для работы с файлами в SOLIDWORKS. • Создание контекстной панели с кнопками для управления файлами. • Подготовка панели с несколькими столбцами для подключения к SOLIDWORKS. 0:42 Использование значков из существующего приложения • Копирование и переименование значков из раздела ресурсов. • Назначение элементов контекстной панели: «ссылка на файл», «домашняя контекстная папка», «открыть файл», «предварительный просмотр», «печать», «удалить». 01:30 Добавление кнопок и настройка интерфейса • Добавление кнопок с изображениями открытого файла. • Настройка панели стека и сетки для горизонтальной ориентации. • Проверка работы кнопок после сборки решения. 03:07 Стилизация кнопок • Объединение плавающих кнопок в контекстное меню. • Настройка стилей кнопок: удаление полей, скруглений углов, отступов. • Использование псевдоклассов для скрытия и отображения кнопок. 05:30 Настройка размеров иконок • Изменение размера иконок для соответствия остальным элементам интерфейса. • Применение аффинности для настройки размера иконок. • Компиляция и обновление интерфейса после изменений. 08:12 Завершение настройки интерфейса • Настройка разделительной линии и отступов для кнопок. • Оценка внешнего вида интерфейса и принятие решения о дальнейшей стилизации. 09:10 Создание фиктивного интерфейса • Имитация подключения к SOLIDWORKS через фиктивный интерфейс. • Проверка функций пакетной обработки и автоматической ссылки. • Планирование реализации событийно-ориентированного подхода для управления файлами. 10:16 Подключение к SOLIDWORKS • Настройка хоста SOLIDWORKS в настройках приложения. • Реализация проверки связи и запроса на получение наиболее активного файла. • Подготовка к написанию кода для управления файлами внутри SOLIDWORKS. 11:04 Выбор интерфейса и обеспечение связи • Обсуждение двух вариантов взаимодействия: события или постоянный опрос системы. • Решение использовать веб-API или REST API для связи между приложениями. • Планирование использования фиктивного класса и пакетного режима. 12:04 Создание нового приложения • Рассмотрение двух подходов: встраивание фиктивного кода или создание нового приложения. • Выбор в пользу создания нового приложения на Avalonia для хост-приложения SOLIDWORKS. • Необходимость переименования текущего пакетного процесса для ясности. 12:53 Работа с шаблонами Avalonia • Проверка обновлений шаблонов Avalonia в Rider. • Создание нового проекта Avalonia MVVM с помощью `dotnet new`. • Решение проблемы с автоматической сборкой и работа приложения в Windows. 14:33 Интеграция хост-приложения • Добавление хост-приложения в решение. • Возможность запуска хост-приложения и приложения для рабочего стола одновременно. • Проверка сгенерированного кода и настройка манифеста приложения. 16:10 Подготовка к созданию веб-API • Обсуждение необходимости внедрения зависимостей в приложение. • Подготовка к созданию веб-API на ASP.NET. • Рассмотрение различных подходов к разработке REST API. 17:09 Использование Kestrel • Решение использовать легковесный веб-сервер Kestrel для взаимодействия. • Проверка возможности встраивания Kestrel в приложение. • Добавление необходимых компонентов из SDK для веб-интерфейса. 18:26 Настройка хост-билдера • Создание хост-билдера с нуля. • Настройка параметров хост-билдера и приложения. • Использование стандартных функций веб-приложения ASP.NET Core. 20:04 Создание веб-приложения ASP.NET Core • Изменение названия проекта и решение создать веб-приложение ASP.NET Core. • Создание нового файла на рабочем столе. • Необходимость веб-API, работающего на ASP.NET Core. 20:55 Выбор метода создания приложения • Обсуждение использования старого метода или нового конструктора веб-приложений. • Решение использовать новый метод с `WebApplication.CreateBuilder`. • Удаление старого способа создания хоста. 21:54 Настройка хостинга • Использование хостинга по умолчанию на порту 5000. • Откладывание настройки HTTPS до тестирования. 22:14 Проблемы с запуском приложения • Запуск приложения внутри задачи для избежания блокировки работы. • Проблема с бесконечным ожиданием завершения процесса. 23:08 Решение проблемы с помощью токена отмены • Создание токена отмены для асинхронного запуска. • Использование блока `try...finally` для корректного завершения процесса. 24:48 Запуск Kestrel в фоновом потоке • Запуск сервера Kestrel в фоновом потоке. • Необходимость налаживания связи между приложением Avalonia и сервером. 25:13 Тестирование веб-приложения • Запуск веб-приложения и вывод «Hello World». • Проверка работы приложения через браузер. • Подтверждение завершения работы приложения при закрытии окна Avalonia. 26:12 Взаимодействие с веб-приложением • Обсуждение взаимодействия с веб-приложением в Avalonia. • Возможность перезапуска приложения при сбоях. 27:11 Создание инфраструктуры и API 28:09 Планирование дальнейших шагов
00:00 Подготовка пользовательского интерфейса • Доработка главной страницы приложения для работы с файлами в SOLIDWORKS. • Создание контекстной панели с кнопками для управления файлами. • Подготовка панели с несколькими столбцами для подключения к SOLIDWORKS. 0:42 Использование значков из существующего приложения • Копирование и переименование значков из раздела ресурсов. • Назначение элементов контекстной панели: «ссылка на файл», «домашняя контекстная папка», «открыть файл», «предварительный просмотр», «печать», «удалить». 01:30 Добавление кнопок и настройка интерфейса • Добавление кнопок с изображениями открытого файла. • Настройка панели стека и сетки для горизонтальной ориентации. • Проверка работы кнопок после сборки решения. 03:07 Стилизация кнопок • Объединение плавающих кнопок в контекстное меню. • Настройка стилей кнопок: удаление полей, скруглений углов, отступов. • Использование псевдоклассов для скрытия и отображения кнопок. 05:30 Настройка размеров иконок • Изменение размера иконок для соответствия остальным элементам интерфейса. • Применение аффинности для настройки размера иконок. • Компиляция и обновление интерфейса после изменений. 08:12 Завершение настройки интерфейса • Настройка разделительной линии и отступов для кнопок. • Оценка внешнего вида интерфейса и принятие решения о дальнейшей стилизации. 09:10 Создание фиктивного интерфейса • Имитация подключения к SOLIDWORKS через фиктивный интерфейс. • Проверка функций пакетной обработки и автоматической ссылки. • Планирование реализации событийно-ориентированного подхода для управления файлами. 10:16 Подключение к SOLIDWORKS • Настройка хоста SOLIDWORKS в настройках приложения. • Реализация проверки связи и запроса на получение наиболее активного файла. • Подготовка к написанию кода для управления файлами внутри SOLIDWORKS. 11:04 Выбор интерфейса и обеспечение связи • Обсуждение двух вариантов взаимодействия: события или постоянный опрос системы. • Решение использовать веб-API или REST API для связи между приложениями. • Планирование использования фиктивного класса и пакетного режима. 12:04 Создание нового приложения • Рассмотрение двух подходов: встраивание фиктивного кода или создание нового приложения. • Выбор в пользу создания нового приложения на Avalonia для хост-приложения SOLIDWORKS. • Необходимость переименования текущего пакетного процесса для ясности. 12:53 Работа с шаблонами Avalonia • Проверка обновлений шаблонов Avalonia в Rider. • Создание нового проекта Avalonia MVVM с помощью `dotnet new`. • Решение проблемы с автоматической сборкой и работа приложения в Windows. 14:33 Интеграция хост-приложения • Добавление хост-приложения в решение. • Возможность запуска хост-приложения и приложения для рабочего стола одновременно. • Проверка сгенерированного кода и настройка манифеста приложения. 16:10 Подготовка к созданию веб-API • Обсуждение необходимости внедрения зависимостей в приложение. • Подготовка к созданию веб-API на ASP.NET. • Рассмотрение различных подходов к разработке REST API. 17:09 Использование Kestrel • Решение использовать легковесный веб-сервер Kestrel для взаимодействия. • Проверка возможности встраивания Kestrel в приложение. • Добавление необходимых компонентов из SDK для веб-интерфейса. 18:26 Настройка хост-билдера • Создание хост-билдера с нуля. • Настройка параметров хост-билдера и приложения. • Использование стандартных функций веб-приложения ASP.NET Core. 20:04 Создание веб-приложения ASP.NET Core • Изменение названия проекта и решение создать веб-приложение ASP.NET Core. • Создание нового файла на рабочем столе. • Необходимость веб-API, работающего на ASP.NET Core. 20:55 Выбор метода создания приложения • Обсуждение использования старого метода или нового конструктора веб-приложений. • Решение использовать новый метод с `WebApplication.CreateBuilder`. • Удаление старого способа создания хоста. 21:54 Настройка хостинга • Использование хостинга по умолчанию на порту 5000. • Откладывание настройки HTTPS до тестирования. 22:14 Проблемы с запуском приложения • Запуск приложения внутри задачи для избежания блокировки работы. • Проблема с бесконечным ожиданием завершения процесса. 23:08 Решение проблемы с помощью токена отмены • Создание токена отмены для асинхронного запуска. • Использование блока `try...finally` для корректного завершения процесса. 24:48 Запуск Kestrel в фоновом потоке • Запуск сервера Kestrel в фоновом потоке. • Необходимость налаживания связи между приложением Avalonia и сервером. 25:13 Тестирование веб-приложения • Запуск веб-приложения и вывод «Hello World». • Проверка работы приложения через браузер. • Подтверждение завершения работы приложения при закрытии окна Avalonia. 26:12 Взаимодействие с веб-приложением • Обсуждение взаимодействия с веб-приложением в Avalonia. • Возможность перезапуска приложения при сбоях. 27:11 Создание инфраструктуры и API 28:09 Планирование дальнейших шагов
