Установить PWA · Установить APK · Кейс разработки · Документация PWA
GameSpace запускает локальный HTML/CSS/JavaScript-сайт из архива на планшете или телефоне без постоянного подключения к интернету и локальной сети.
Автор: Илья Барило (Ilya Barilo)
Статус: GameSpace APK в основном завершён и поддерживается по мере необходимости. GameSpace PWA — текущее направление разработки. Для стабильного использования предназначены опубликованные релизы; ветка
mainможет содержать изменения, ещё не вошедшие в выпуск.
GameSpace представлен двумя приложениями с общим назначением и единым форматом исходного архива:
- GameSpace PWA устанавливается с сайта на домашний экран Android, iPhone или iPad без магазина приложений;
- GameSpace APK устанавливается на Android как отдельное приложение WebView.
Пользователь выбирает архив через системный файловый диалог. Архив читается на самом устройстве, распаковывается в хранилище приложения и не отправляется на сервер. После установки содержимого исходный архив можно отключить вместе с флешкой или SD-картой: рабочая копия сайта уже находится на устройстве.
- для интерактивных игр, выставок и музейных стендов;
- для учебных и просветительских проектов;
- для планшетов в аудиториях и общественных пространствах;
- для автономных HTML-сайтов, каталогов и презентаций;
- для случаев, когда во время работы нет интернета и локальной сети.
| GameSpace PWA | GameSpace APK | |
|---|---|---|
| Платформы | Android, iPhone и iPad с необходимыми возможностями браузера | Android 6.0 и новее |
| Установка | С HTTPS-сайта на домашний экран, без магазина приложений | Из файла GameSpace.apk с разрешением Android на установку |
| Хранилище сайта | Закрытое хранилище браузера OPFS | Каталог данных Android-приложения |
| Обновление приложения | Только по явной команде пользователя из меню | Установкой новой версии APK |
| Основное преимущество | Одна веб-версия для iOS и Android без магазина | Более предсказуемая среда Android WebView и хранилища приложения |
Функциональность APK и PWA поддерживается максимально близкой, насколько это позволяют ограничения Android, iOS и браузеров. Изменения формата архива не должны требовать подготовки разных пакетов для двух приложений.
- Откройте страницу GameSpace PWA по HTTPS.
- Установите приложение кнопкой на странице или через меню браузера. На iPhone и iPad используйте Safari: Поделиться → На экран «Домой».
- Запустите установленный GameSpace и выберите встроенный демо-сайт или собственный архив через системный файловый диалог.
Первое открытие и установка PWA требуют интернета. После подготовки оболочки и импорта сайта приложение работает автономно.
- Скачайте готовый
GameSpace-latest.apkили выберите другую версию в GitHub Releases. - Разрешите Android установку APK из используемого источника и установите приложение.
- Запустите встроенный демо-сайт или выберите собственный архив через системный файловый менеджер Android.
Разрешение Android INTERNET в APK не добавлено: установленный сайт работает
полностью локально.
Подробная инструкция для APK описывает установку, форматы архивов, обновление содержимого и сборку из исходников.
Подробнее о двух вариантах содержимого рассказано в разделе «Встроенное демо или свой архив».
- встроенный демонстрационный сайт для первой проверки;
- основной формат архива 7z, а также поддержка ZIP и ZIP64;
- выбор файла из памяти устройства и доступных системному диалогу флешек и SD-карт;
- полная установка или замена сайта;
- локальные update-архивы для быстрого обновления отдельных файлов;
- отображение прогресса и проверка свободного места;
- безопасная проверка путей внутри архива;
- запуск HTML, CSS, JavaScript, изображений, шрифтов, аудио, видео и сложных интерактивных сцен, включая 3D/360° в пределах доступных устройству веб-API;
- автономная работа после установки приложения и импорта содержимого.
PWA дополнительно использует отдельные ревизии, журнал операции и откат, чтобы ошибка или прерывание обновления не повредили ранее установленный сайт.
GameSpace может запускать не только каталоги и небольшие игры, но и более сложные локальные HTML/CSS/JavaScript-приложения. В PWA проверена виртуальная экскурсия с интерактивным обзором и переходами между 360°-сценами в 3D-пространстве.
Интерактивный обзор |
Навигация между сценами |
Доступные веб-API, производительность и объём памяти зависят от браузера, Android WebView и конкретного устройства.
Основной вариант — один цельный незашифрованный файл .7z. ZIP и ZIP64
поддерживаются для совместимости и локальных обновлений. Зашифрованные и
многотомные архивы не поддерживаются.
Импортированный сайт может содержать произвольный JavaScript. Используйте
архивы только из доверенного источника; границы проверки и хранения описаны в
SECURITY.md.
Допустимы три структуры:
site.7z
site/
index.html
site.7z
index.html
site.7z
one-folder/
index.html
Внутренние ссылки сайта должны быть относительными и не должны зависеть от
внешнего сервера. Регистр букв в путях следует соблюдать: Logo.webp и
logo.webp могут считаться разными файлами.
В GameSpace нет программного ограничения архива. PWA обрабатывает 7z диапазонами в отдельном Worker и записывает распакованные данные непосредственно в OPFS; ZIP/ZIP64 также распаковывается последовательно. Полный архив и весь сайт не должны одновременно помещаться в оперативную память.
Практический предел определяется:
- свободным местом на устройстве;
- размером распакованных файлов;
- квотой, предоставленной браузером для PWA;
- возможностями файлового провайдера и операционной системы;
- способностью устройства не выгружать длительную операцию из памяти.
В авторском испытании GameSpace PWA 0.3.4 на одном Android-устройстве 25 августа 2026 года успешно установила из 7z-архива 5 133 файла и записала 2,47 ГБ данных за 9 минут 40 секунд. Это результат одного конкретного испытания, а не гарантированный предел для всех устройств; скриншоты и контекст приведены в кейсе.
Распаковка |
Сайт готов |
Сводка операции |
В отдельном испытании тот же файл site.7z был установлен в GameSpace APK
0.3.4. Во время распаковки APK показывала архив объёмом 2,3 ГБ, а итоговая
сводка зафиксировала 5 133 загруженных файла, 2,5 ГБ записанных данных и полную
установку за 2 минуты 32 секунды. Значения 2,47 ГБ в PWA и 2,5 ГБ в APK на
скриншотах версии 0.3.4 отличаются старым округлением APK; содержимое архива
одно и то же. В актуальной реализации обе версии после операции суммируют
размеры всех фактически установленных файлов и используют одинаковое
форматирование, поэтому этот сайт отображается как 2,47 ГБ и в PWA, и в APK.
APK: распаковка 2,3 ГБ |
APK: итог установки |
Для полной установки PWA временно требуется место под действующую и новую ревизии сайта вместе с резервом. Поэтому большие архивы нужно проверять на конкретных моделях устройств; один общий гарантированный предел для всех телефонов и планшетов указать нельзя.
Обычный запуск установленной PWA использует последнюю полностью подготовленную локальную оболочку и не загружает новую версию приложения, WebAssembly или демо-архив. Проверка и установка функционального обновления выполняются только по явной команде пользователя из меню.
Пользовательский сайт хранится отдельно от оболочки PWA. Неудачное обновление оболочки не должно заменять ранее работавшую версию, а опубликованные выпуски сохраняются как отдельные неизменяемые пакеты.
Удаление приложения или очистка его данных удаляет распакованный сайт. Исходный архив следует сохранять отдельно.
Демо и собственный архив — альтернативы. Встроенное демо позволяет сразу проверить GameSpace, но устанавливать его перед своим сайтом не требуется. В обоих вариантах содержимое распаковывается в локальное хранилище приложения.
PWA: демо или архив |
APK: демо или архив |
Пример демо-игр |
Пятиэтапный сценарий установки PWA показан в кейсе разработки.
Исходные материалы встроенного демо находятся в demo/. Файл
demo.7z не хранится в репозитории: сборщики APK и PWA создают и проверяют его
из этого каталога.
Официальный неизменённый GameSpace можно скачивать, устанавливать, использовать и распространять вместе со встроенным демо, в том числе в вузе или другой организации. В это же приложение можно импортировать собственный архив, оставив демо доступным.
Демо-игры, страницы, изображения и другие оригинальные материалы нельзя
извлекать и включать в собственный архив, сайт, изменённую сборку или другой
проект. Полные условия приведены в
demo/DEMO_CONTENT_LICENSE.md.
GitHub Releases является источником стабильных версий APK и PWA. Установленная PWA не обновляется автоматически: пользователь сам запускает проверку и установку новой версии. Прошлые выпуски PWA остаются доступными для ручного возврата.
Подписанный APK сохраняется в Release под версионным именем и как идентичная
копия GameSpace-latest.apk. Постоянная ссылка
на последний стабильный APK
автоматически переходит к этому файлу в актуальном Release. latest не является
отдельной версией или тегом.
Подробный порядок подготовки версии и возврата к прошлому выпуску описан в
pwa-gamespace/RELEASING_RU.md.
Для PWA требуются Node.js 20 или новее и 7-Zip:
cd pwa-gamespace
npm install
npm run test
npm run buildПодробности: pwa-gamespace/README.md.
Для сборки APK на Windows:
apk-gamespace\build-apk.bat buildКоманда создаёт локальный тестовый APK с отладочной подписью. Официальный APK
для GitHub Release собирается только с постоянным ключом из Actions Secrets.
Скрипт использует отдельное Android-окружение проекта. Требования, установка
SDK, подпись и результат сборки описаны в
apk-gamespace/README_APK.md.
apk-gamespace/ исходники и сборка Android-приложения
pwa-gamespace/ исходники, тесты и выпуск PWA
demo/ исходные материалы встроенного демо
docs/ кейс разработки и изображения интерфейса
third_party/ лицензии и исходные материалы сторонних компонентов
tools/ общие инструменты сборки
.github/ сборка и публикация стабильных выпусков GameSpace
Репозиторий содержит материалы с разными условиями использования. Корневая MIT License является основной лицензией оригинального программного кода и текстовой документации GameSpace, но не отменяет явно указанные условия для отдельных материалов и сторонних компонентов.
| Материалы | Условия |
|---|---|
| Оригинальный программный код и текстовая документация GameSpace, если в конкретном файле не указано иное | MIT License |
| Оригинальные материалы встроенного демо | Только как встроенное демо неизменённого официального GameSpace; подробности в DEMO_CONTENT_LICENSE.md |
| Значок GameSpace и связанные фирменные графические материалы | Не входят в MIT; в изменённой версии должны быть заменены согласно BRAND_ASSETS_LICENSE.md |
| Официальные изображения документации и социальная обложка | Разрешены только в неизменённом виде как часть официального репозитория, документации и презентационных материалов GameSpace; применяются условия для фирменной графики и демо-материалов |
| Название и идентичность продукта GameSpace | MIT не предоставляет прав на товарный знак или фирменное обозначение |
| Сторонние компоненты | Сохраняют собственные лицензии из THIRD_PARTY_NOTICES.md и third_party/licenses/ |
Таким образом, указание MIT относится к оригинальному программному коду и текстовой документации GameSpace, а не автоматически ко всему содержимому репозитория.
Готовый выпуск PWA включает этот комплект документов и тексты сторонних
лицензий непосредственно в пакет. В установленной PWA они доступны в разделе
Лицензии, а в APK — через пункт ⚙ → Лицензии.










