Если критикуешь, предлагай Нас часто критикуют на Хабрахабре за то, что статьи недостаточно технические, а описание работы программы недостаточно подробное.
Но на самом деле каждый читатель понимает, что описать абсолютно всё в одном посте просто невозможно, ведь за несколько лет развитие DRP пошло по многим направлениям.
Некоторые из них напрямую связаны с исполняемым файлом, пресловутым .
exe-файлом; другой - с созданием архива и, что немаловажно, указателя драйверов; третий предполагает тестирование приложения и отдельных версий драйверов для различного оборудования, как на разных версиях ОС Windows, так и на аппаратных стойках.
Мы даем некоторые из этих решений пользовательское тестирование который проявил особый интерес.
Если предлагаешь, сделай это
Поэтому мы решили пригласить всех принять участие в непосредственной разработке приложения Windows DRP, ведь всегда проще посмотреть код, а также мы принимаем всю полезную помощь в создании максимально удобного приложения для установки и обновления.водители.
Репозиторий GitHub доступен каждому, и мы будем рады вашему интересу к теме, сообщениям об ошибках и любым возможным улучшениям программы.
У нас есть ряд задач, которые мы можем решить вместе с опытными веб-разработчиками: — Модульные тесты программного обеспечения.
У нас уже есть некоторый опыт тестирования оборудования и автоматизированного тестирования в виртуальной лаборатории (на базе Azure).
- Документация.
Мы до сих пор не разобрались, как генерировать документы.
— А также будущие возможности приложения и их реализация.
Введение
DriverPack Solution написан на языке HTA (HTML Application), поэтому код программы выполняется движком Internet Explorer (процесс mshta.exe), который является стандартным для всех версий Windows. Его описание находится на по следующему адресу .DRP использует популярные js и html-фреймворки, такие как jQuery Tools, Bootstrap и т. д. В настоящее время мы используем базу данных SQLite. Да, HTA — это проблема.
У него много недостатков, но и преимущества очевидны:
- Отношения между фронт-эндом и бэк-эндом
- Язык сценария, простое редактирование
- Доступ к реестру и файловой системе
- Использование библиотек пользовательского интерфейса Javascript
- Нет компиляции
Краткое описание
HTA не подвергается ограничениям безопасности, налагаемым на веб-страницы, но выполняется так же, как любой исполняемый файл.Программы HTA не могут быть «подписаны», но могут быть установлены из различных установочных форматов.
HTA выглядит как полноценное приложение Windows, поэтому оно знакомо любой пользователя и сочетает в себе все возможности браузера Explorer: объектную модель, HTML, каскадные таблицы стилей, сценарии и события, а также специфические функции HTA. Концепция DRP 16, которую мы сейчас разрабатываем, заключается в следующем:
- Модульность
- Многоязычный
- Покрытие автотестами
- Асинхронность
- Быстрая скорость работы
Структура папок
- Drivers\ – пакеты драйверов (архивы драйверов 7zip);
- Индексы\ – индексные файлы для быстрого поиска в базе драйверов;
- Софт\ – программное обеспечение для автоматической установки;
- DriverPackSolution.exe – Лаунчер, передает управление файлу DriverPackSolution.html;
- \bin\DriverPackSolution.html – основной исполняемый файл.
- \bin\Tools – папка с JS-скриптами, плагинами и exe-приложениями;
Основные модули
модуль dpinst
Driver Package Installer (DPInst), являясь одним из компонентов DIFX, позволяет устанавливать пакеты драйверов для тех устройств, которые еще не установлены на компьютер («первоначальная установка»).DPInst также автоматически обновляет драйверы для всех установленных устройств, которые поддерживаются установленными пакетами драйверов.
модуль разработчика
DevCon — это программа командной строки, которая используется в качестве альтернативы диспетчеру устройств.С его помощью вы сможете: включать, выключать, перезапускать, обновлять, удалять и опрашивать отдельные устройства или группы устройств.
DevCon также предоставляет информацию, необходимую разработчику драйвера, которая недоступна через диспетчер устройств.
Используется пользователями, которым удобнее работать с командной строкой.
Модуль позволяет работать напрямую с программой и драйверами, а также использовать список идентификаторов распространенных классов устройств, что актуально, если у вас нет доступа к самому устройству.
модуль мшта
Модуль предназначен для работы с файлами *.HTA. Если для корректной работы системы требуется использование данного модуля, то стоит отметить, что интеграция программы и модуля мшта настроена таким образом, чтобы не снижать производительность всей системы в целом, в первое место.
Плагины
Чтобы не вносить изменения в общий код программы, можно создать отдельный плагин (js-файл).Плагин может полностью изменить поведение приложения.
Плагины могут
- Изменить события кнопок (onClick, onMouseUp, onMouseDown и т. д.)
- Переопределение функции
- Загрузка внешних файлов JS или CSS
- Манипуляции с DOM
- CSS-манипуляции
Способы реализации плагина
Локальная работа плагина
Поместите плагин js в папку bin\tools\modules и подключите его к DriverPackSolution.html.Онлайн плагин
Если при запуске есть подключение к сети, вы можете подключить новый плагин и изменить логику программы даже в самых старых версиях DRP. Пожалуйста, свяжитесь со мной напрямую по поводу размещения плагинов.
Плагин Бета-Онлайн
DRP с именем бета-версии загружает автономную версию файла bin\tools\update.js. Чтобы загрузить плагин, добавьте в этот файл функцию: inc(" "); Важно, чтобы каждый плагин, изменяющий интерфейс DRP, поддерживал многоязычие.Основной принцип написания плагина: сначала пишем скрипт автотеста, только потом сам код. Автотесты выполняются из скрипта: инструменты/модули/тесты/RunTests.hta DRP изначально разрабатывался без автоматического тестирования и с использованием объектов, которые сейчас сильно страдают, и мы заняты внесением масштабных изменений в исходный код приложения.
Любые возможные вопросы и предложения — в комментариях или личных сообщениях.
Если вы настроены серьезно, мы также рекомендуем посмотреть вебинар по DRP версии 16 .
Теги: #DRP #driverpack #github #HTA #drivers #drivers #modules #Plugins #разработка веб-сайтов #github #разработка для Windows
-
Церн Поддерживает Creative Commons
19 Oct, 24 -
Бюджетный Средний Формат.
19 Oct, 24 -
Вы Пользуетесь Оперой Мини?
19 Oct, 24