Обновление бесконечное, а обновление — безграничное.
GeneralUpdate — это кроссплатформенный компонент автоматического обновления приложений, основанный на .NET Standard 2.0 с лицензией Apache 2.0.
Не зависит от каких-либо UI-фреймворков, что позволяет снизить затраты ресурсов при обновлении.
Однокликовый запуск примера поможет вам быстро понять, как интегрировать в ваше приложение возможность автоматического обновления.
【Если ваша компания уже использует или планирует использовать этот компонент и сталкивается с любыми проблемами или вопросами выбора, вы всегда можете присоединиться к нашему обсуждению. Контактная информация находится в нижней части этой страницы. Разработчики, столкнувшиеся с срочными задачами, должны заранее сообщить о своей ситуации, чтобы получить своевременную помощь.】
Большое спасибо авторам следующих открытых проектов за участие в создании открытой экосистемы посмотреть пример кода.
Название | Поддерживаемые UI-фреймворки | Тип | Адрес репозитория |
---|---|---|---|
Semi.Avalonia | Avalonia | Библиотека | Перейти |
Ursa.Avalonia | Avalonia | Библиотека | Перейти |
WPFDevelopers | WPF | Библиотека | Перейти |
LayUI | WPF | Библиотека | Перейти |
AntdUI | WinForms | Библиотека | Перейти |
| ----------------------- | --------------------------- | ----------------------------------------------------------------------------------------------- |
| GeneralUpdate | Автоматическое обновление и улучшение | GitHub
Gitee
GitCode |
| GeneralUpdate.Maui | Автоматическое обновление для Maui (Android) | GitHub
Gitee
GitCode |
| GeneralUpdate.Tools | Инструменты для создания пакетов обновлений | GitHub
Gitee
GitCode |
| GeneralUpdate-Samples | Пример использования | GitHub
Gitee
GitCode |
| --------------- | ---------------------------------------------------------- | ------------------------------------------------------------ | | Быстрый старт | Описание быстрого начала работы. | Перейти | | Пример кода | Здесь находятся примеры кода для автоматического обновления и скрипты для однокликового запуска. | Перейти | | Онлайн документация | Все описательные документы, связанные с компонентами, доступны здесь. | Перейти | | Обучающие видео | Видео, демонстрирующие использование через практические действия. | Перейти | | Журнал выпусков | Описание каждого изменения версии. | Перейти| | Техническая консультация | Для связи с автором и вступления в группу обсуждения, пожалуйста, задайте вопрос в группе обсуждения или issue, чтобы все могли видеть и избежать повторного ответа на один и тот же вопрос. | Перейти |## 🚲 Поддерживаемые функции | Функция | Поддерживается | Примечание | | ----------------- | --------------- | -------------------------------------------------------------------------------------------- | | Возобновление после прерывания | Да | В случае неудачной попытки обновления, следующий запуск продолжает предыдущую попытку обновления и загружает обновленный пакет. (По умолчанию включено) | | Поэтапное обновление версий | Да | Если текущая версия клиента отличается от сервера несколькими версиями, происходит поэтапное обновление по датам выпуска каждой версии. (По умолчанию включено) | | Дифференциальное обновление | Да | Сравнение новых и старых версий с помощью алгоритма вычисления разницы для создания патча. (По умолчанию включено) | | Инкрементное обновление | Да | Обновляет только те файлы, которые были изменены относительно предыдущей версии, а также удаляет файлы, которых нет в текущей версии. (По умолчанию включено) | | Принудительное обновление | Да | После запуска клиента происходит принудительное обновление. | | Обновление нескольких ветвей | Да | При наличии нескольких ветвей продукта происходит обновление соответствующего содержимого для каждой ветви. | | Отправка последней версии | Да | Реализовано через Signal R, отправка самой новой версии. | | | Поддержка нескольких языков | В процессе тестирования | Также можно использовать этот компонент как консольное приложение для управления "скриптами" обновлений. Обновление приложений на других языках. | | Пропуск обновления | Да | Поддерживает показ диалогового окна для выбора пользователя обновляться ли сейчас или нет. Сервер может принудительно обновлять игнорируя выбор пользователя. | | Взаимное обновление | Да | Основная программа может обновлять программу обновления, а программа обновления может обновлять основную программу. | | Чёрный список | Да | Во время обновления пропускаются файлы и расширения файлов, указанные в чёрном списке. | | OSS | Да | Упрощённое обновление, это независимый механизм обновления. Нужно только иметь файл version.json с конфигурационными данными версии на сервере файлов. Компонент использует данные версии для обновления. | | Возврат и резервное копирование | Да | Перед обновлением создаётся резервная копия локальных файлов клиента. Если клиент не запускается или падает, происходит восстановление. | | Обновление драйверов | В процессе тестирования | Перед обновлением создаётся резервная копия драйверов на локальном устройстве. Если клиент не запускается или падает, происходит восстановление. || Список пользовательских методов | Да | Внедряется коллекция пользовательских методов, которая выполняется перед запуском обновления. Любое исключение при выполнении списка методов будет отправлено подписчику исключения. |(Рекомендуется проверить текущую конфигурацию программного обеспечения перед обновлением)| | AOT | Поддерживается | Поддерживает публикацию после компиляции AOT (Ahead-of-Time compilation). | | Аутентификация | Поддерживается | Информация для аутентификации (токены) может быть передана с HTTP-запросами серверных ресурсов. |## ✨Поддерживаемые фреймворки|| Название .NET фреймворка | Поддерживается ли | | ------------------------------- | ---------------------------- | | .NET Core 2.0 | Да | | .NET 5 ... до последней версии | Да | | .NET Framework 4.6.1 | Да |
Название UI фреймворка | Поддерживается ли |
---|---|
WPF | Да |
UWP | Обновление недоступно в режиме магазина |
MAUI | В настоящее время поддерживаются только Android платформы |
Avalonia | Да |
WinUI | Да |
Console | Да |
WinForms | Да |
Название операционной системы | Поддерживается ли |
---|---|
Windows | Да |
Android (.NET MAUI) | Да |
Qilian V10 (Fujian S2500) | Да |
Qilian V10 (Fujian FT-2000) | Да |
Qilian V1 метод (x64) | Да |
Ubuntu 24.04.1 LTS | Да |
Loongson (Loongnix LoongArch 3A6000) | Да |
Huawei EulerOS-Kunpeng | Да |
Apple Mac (M1) | Да |
UnionTech UOS (x64) | Да |
GitHub | Gitee | GitCode |
---|---|---|
![]() |
![]() |
![]() |
Большое спасибо всем, кто сделал свой вклад в этот проект! Вы можете просмотреть список контрибьюторов здесь.
Мы очень рады принимать различные формы участия. Если вы заинтересованы в участии через код, вы можете связаться со мной, создав запрос issue, чтобы продемонстрировать свои идеи.
Мы стремимся создать сообщество по обмену знаниями, где можно обмениваться идеями, побуждать друг друга и сотрудничать.
Пожалуйста, свяжитесь с нами для предоставления отзывов о функциональности продукта и опыте использования, чтобы помочь нам сделать GeneralUpdate ещё лучше.
Управители организации: @JusterZhu
Авторское право © 2023 GeneralUpdate. Этот проект имеет лицензию Apache 2.0.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )