Статья написана для Windows, но актуальна и для Linux, достаточно установить PHP, выполнить в терминале команду из папки приложения и всё будет работать, для Windows достаточно кликнуть один ярлык.
Вы сразу спросите почему PHP, почему не Electron или Python, да все потому что нет времени изобретать что-то новое, если логика уже реализована в админке сайта например, или же уже сформирована достаточная кодовая база на PHP, если нужно разработать новое приложение, тогда да, можно его писать на чем-то с нуля, но тут просто скопировал, вставил, запаковал в архив и пользуйся.
Графическим интерфейсом для проекта будет тот же веб-сервер, достаточно в bat-скрипте после запуска сервера вписать открытие например localhost:10000 и готово. В идеале можно взять портативный браузер, сконфигурировать его правильным образом и запускать с правильными параметрами, чтобы не было никаких панелей, только окно сайта, но об этом позже вероятно расскажу.
В качестве веб-сервера будет использоваться тот, что встроен в PHP, ради однопользовательского приложения можно не ставить Apache или Nginx.
В качестве хранилища данных можно использовать файлы или SQLite, это по сути тот же MySQL, только чуть проще и не нужно отдельный сервер запускать, приложение просто дергает файл и оперирует данными из него.
Итак, начнем, создаем папку, например, WebTool, в этой папке создадим папку BIN и положим туда распакованный PHP для Windows, в моем случае это 7.4.10
Внутри WebTool, рядом с BIN создадим APP, там будет наше веб-приложение..
Но внутрь BIN мы положим еще один файлик, хоть он и php, но будет этаким роутером, вместо .htaccess и веб-сервера.
Назовем его server.php и положим в папку BIN
А в папку APP положим пока просто файл run.php c текстом типа
<?php phpinfo();
Теперь первый тестовый запуск, в папку WebTool создадим файл start.bat
С таким содержимым важно путь до PHP правильный
Достаточно будет кликнуть по start.bat и у нас откроется наше веб-приложение в браузере, а перед этим запустится сервер, тут нужно будет доработать, чтобы он дважды не запускался, но это потом... Дважды он итак не запускается, при втором запуске строчка с php не выполняется, выдает ошибку, а строчка с открытием странички в браузере срабатывает...
Чтобы остановить сервер - нужно закрыть свернутый терминал с сервером!
Если все правильно, то в браузере увидим примерно такую старничку
Дальше нам нужно привести в порядок php.ini, копируем внутри папки BIN/php-xxxx/
файл php.ini-development
переименовываем копию в php.ini
Наводим порядки в файле, можно удалить всё лишнее, все равно это можно достать из оригинального файла из которого скопировали, у меня получилось типа такого:
Перезапускаем сервер, дальше делаем этакое приложение, сразу скажу, у меня с прошлой работы очень много наработок завалялось, из этого начнем лепить приложение, итак, что нам нужно?
1. Парсер URL для подгрузки нужных модулей
2. Система работы с модулями, систему контроля доступа можно упустить.
3. Базовая библиотека с обертками для выполнения типовых операций и работы системы.
4. Простенький шаблонизатор, чтоб не мешать логику и представление.
5. Контроллер для модулей.
6. UI-библиотека, состоящая из php+css+js, чтобы в пару строчек слепить форму...
7. Всякие классы типа для работы с БД...
Можно по идее взять готовый фреймворк, но я обойдусь несколькими файлами.
Если вам тема интересна - заходите в мою группу в вк, подписывайтесь, пишите в личку, на почту.
Сверху есть ссылка поддержать проект, если вдруг захотите.