63. Avalonia UI Real World (Kestrel to Avalonia Comms)

00:00 Введение в задачу • Объединение приложений Kestrel и Avalonia. • Создание коммуникационного уровня между приложениями. • Цель: создать интерфейс, похожий на клиент SolidWorks, для передачи данных. 00:47 Установка зависимостей • Установка зависимости на хостах через NuGet. • Проверка отсутствия номера версии в программе. 01:23 Создание коллекции сервисов • Создание коллекции, добавление модели представления и сервисов. 01:39 Использование встроенных сервисов • Использование веб-приложения Create Builder для доступа к встроенным сервисам. 02:17 Работа с моделью представления • Использование существующей модели представления главного окна. • Добавление синглтон-сервиса для обмена данными. 02:39 Статическое веб-приложение • Создание статического веб-приложения для доступа к сервисам. • Проблемы с модульным тестированием при использовании статики. 04:06 Инверсия контроля • Объяснение инверсии контроля как антипаттерна. • Выбор приложения для загрузки зависимостей. 06:09 Внедрение зависимостей для viewmodel • Внедрение зависимости для viewmodel из веб-приложения. • Привязка представления к viewmodel. 08:04 Изменение данных в viewmodel • Создание кнопки для увеличения значения в viewmodel. • Настройка пользовательского интерфейса для отображения изменений. 11:29 Потокобезопасность viewmodel • Объяснение потокобезопасности viewmodel через внедрение зависимостей. • Подтверждение работы обновления пользовательского интерфейса при изменении данных. 12:03 Потокобезопасность и Avalonia • Обсуждение проблем с увеличением моделей представления в отдельном потоке. • Проверка работы теста «приветствие равно» для выявления ошибок. • Упоминание о необходимости ожидания после асинхронных операций. 13:00 Асинхронные функции и потокобезопасность • Предложение использовать асинхронные функции для обработки данных. • Подчёркивание важности выполнения вызовов в потоке пользовательского интерфейса. 13:38 Внедрение зависимостей в Kestrel • Описание процесса внедрения зависимостей в приложение Kestrel. • Доступ к потоку пользовательского интерфейса Avalonia через Kestrel. • Использование инверсии управления для взаимодействия с службами. 14:13 Создание службы для SolidWorks • Планирование создания службы для работы с SolidWorks. • Передача карт вспомогательному методу для сопоставления REST API с командами. • Создание хоста пакетного процесса SolidWorks. 15:39 Реализация хоста SolidWorks • Создание общедоступной версии SolidWorks как ролевой службы. • Возврат версии SolidWorks через метод. • Проверка работы метода увеличения значения. 17:48 Работа с активными файлами • Создание класса для сохранения информации о файлах SolidWorks. • Получение списка активных файлов. • Фильтрация файлов по форматам sldprt, sldasm, slddrt. 22:04 Интеграция с пользовательским интерфейсом • Интеграция списка активных файлов в модель представления. • Использование наблюдаемой коллекции для отображения списка. • Внедрение зависимостей для получения списка файлов. 23:46 Тестирование и исправление фильтра • Проверка работы списка активных файлов после компиляции. • Обнаружение проблемы с фильтром и его исправление. • Успешное отображение всех файлов в пользовательском интерфейсе. 24:48 Обновление сборки в пользовательском интерфейсе • Конструктор не нашёл конструктора, из-за чего элемент не отображается. • Необходимо создать новый конструктор для работы с хостом пакетного процесса. • После компиляции можно ограничить высоту до 200. 25:22 Создание listbox и привязка содержимого • Создание listbox с привязкой содержимого к метке шаблона данных. • Получение имени файла из названия файла для наглядности. • Установка ширины для listbox. 26:04 Использование сервиса в реальном приложении • Демонстрация работы сервиса в реальном приложении. • Представление метода как команды в программе. • Сопоставление методов получения с другими объектами для отправки и получения данных по сети. 26:52 Улучшение и разделение проектов • Улучшение работы с URL-адресами для получения файлов и активных файлов. • Десериализация данных и выполнение необходимых действий. • Разделение проектов на основной и вспомогательный. • Классы API должны находиться в ядре основного проекта. • Необходимость работы над архитектурой для улучшения взаимодействия между проектами.

Иконка канала Ленинский Букварь
240 подписчиков
12+
2 просмотра
11 дней назад
12+
2 просмотра
11 дней назад

00:00 Введение в задачу • Объединение приложений Kestrel и Avalonia. • Создание коммуникационного уровня между приложениями. • Цель: создать интерфейс, похожий на клиент SolidWorks, для передачи данных. 00:47 Установка зависимостей • Установка зависимости на хостах через NuGet. • Проверка отсутствия номера версии в программе. 01:23 Создание коллекции сервисов • Создание коллекции, добавление модели представления и сервисов. 01:39 Использование встроенных сервисов • Использование веб-приложения Create Builder для доступа к встроенным сервисам. 02:17 Работа с моделью представления • Использование существующей модели представления главного окна. • Добавление синглтон-сервиса для обмена данными. 02:39 Статическое веб-приложение • Создание статического веб-приложения для доступа к сервисам. • Проблемы с модульным тестированием при использовании статики. 04:06 Инверсия контроля • Объяснение инверсии контроля как антипаттерна. • Выбор приложения для загрузки зависимостей. 06:09 Внедрение зависимостей для viewmodel • Внедрение зависимости для viewmodel из веб-приложения. • Привязка представления к viewmodel. 08:04 Изменение данных в viewmodel • Создание кнопки для увеличения значения в viewmodel. • Настройка пользовательского интерфейса для отображения изменений. 11:29 Потокобезопасность viewmodel • Объяснение потокобезопасности viewmodel через внедрение зависимостей. • Подтверждение работы обновления пользовательского интерфейса при изменении данных. 12:03 Потокобезопасность и Avalonia • Обсуждение проблем с увеличением моделей представления в отдельном потоке. • Проверка работы теста «приветствие равно» для выявления ошибок. • Упоминание о необходимости ожидания после асинхронных операций. 13:00 Асинхронные функции и потокобезопасность • Предложение использовать асинхронные функции для обработки данных. • Подчёркивание важности выполнения вызовов в потоке пользовательского интерфейса. 13:38 Внедрение зависимостей в Kestrel • Описание процесса внедрения зависимостей в приложение Kestrel. • Доступ к потоку пользовательского интерфейса Avalonia через Kestrel. • Использование инверсии управления для взаимодействия с службами. 14:13 Создание службы для SolidWorks • Планирование создания службы для работы с SolidWorks. • Передача карт вспомогательному методу для сопоставления REST API с командами. • Создание хоста пакетного процесса SolidWorks. 15:39 Реализация хоста SolidWorks • Создание общедоступной версии SolidWorks как ролевой службы. • Возврат версии SolidWorks через метод. • Проверка работы метода увеличения значения. 17:48 Работа с активными файлами • Создание класса для сохранения информации о файлах SolidWorks. • Получение списка активных файлов. • Фильтрация файлов по форматам sldprt, sldasm, slddrt. 22:04 Интеграция с пользовательским интерфейсом • Интеграция списка активных файлов в модель представления. • Использование наблюдаемой коллекции для отображения списка. • Внедрение зависимостей для получения списка файлов. 23:46 Тестирование и исправление фильтра • Проверка работы списка активных файлов после компиляции. • Обнаружение проблемы с фильтром и его исправление. • Успешное отображение всех файлов в пользовательском интерфейсе. 24:48 Обновление сборки в пользовательском интерфейсе • Конструктор не нашёл конструктора, из-за чего элемент не отображается. • Необходимо создать новый конструктор для работы с хостом пакетного процесса. • После компиляции можно ограничить высоту до 200. 25:22 Создание listbox и привязка содержимого • Создание listbox с привязкой содержимого к метке шаблона данных. • Получение имени файла из названия файла для наглядности. • Установка ширины для listbox. 26:04 Использование сервиса в реальном приложении • Демонстрация работы сервиса в реальном приложении. • Представление метода как команды в программе. • Сопоставление методов получения с другими объектами для отправки и получения данных по сети. 26:52 Улучшение и разделение проектов • Улучшение работы с URL-адресами для получения файлов и активных файлов. • Десериализация данных и выполнение необходимых действий. • Разделение проектов на основной и вспомогательный. • Классы API должны находиться в ядре основного проекта. • Необходимость работы над архитектурой для улучшения взаимодействия между проектами.

, чтобы оставлять комментарии