Skip to content

Repository files navigation

Web2App (W2A)

C# DevKit

Russian | English | Help with Translation

Приложение для преобразования веб-страницы в полнофункциональное настольное приложение.

Описание

Web2App - это утилита, написанная на C# с использованием WPF и WebView2, которая позволяет упаковать любой веб-сайт или веб-приложение в виде отдельного настольного приложения для Windows. Каждое созданное приложение запускается в изолированной среде с собственной конфигурацией и иконкой.

Функциональность

  • Создание настольных приложений из веб-адресов
  • Поддержка пользовательских иконок (ICO и PNG форматы)
  • Автоматическое преобразование PNG в ICO формат
  • Создание ярлыков на Рабочем столе
  • Настройка User-Agent для каждого приложения
  • Изолированная директория для каждого приложения
  • Сохранение конфигурации в JSON формате

Требования

  • Windows 7 или выше
  • .NET 8.0 (Windows)
  • Microsoft Edge WebView2 Runtime

Установка

Из исходного кода

  1. Клонируйте репозиторий:
git clone https://github.com/JunDevX/Web2App.git
cd Web2App
  1. Откройте проект в Visual Studio:
start Web2AppLauncher.sln
  1. Восстановите зависимости NuGet:
dotnet restore
  1. Соберите проект:
dotnet build
  1. Запустите приложение:
dotnet run

Использование

Генератор приложений

  1. Запустите Web2AppLauncher.exe
  2. Введите URL веб-сайта
  3. (Опционально) Укажите название приложения
  4. (Опционально) Выберите иконку для приложения
  5. (Опционально) Установите пользовательский User-Agent
  6. Нажмите "Создать"

Приложение будет создано и добавлено на Рабочий стол.

Структура созданного приложения

Каждое созданное приложение хранится в:

%AppData%\Web2Apps\{имя_приложения}\
├── config.json      # Конфигурация приложения
└── app.ico          # Иконка приложения

Структура проекта

Web2App/
├── App.xaml           # Точка входа приложения
├── App.xaml.cs        # Логика инициализации
├── MainWindow.xaml    # UI генератора приложений
├── MainWindow.xaml.cs # Логика создания приложений
├── AppWindow.xaml     # UI веб-приложения
├── AppWindow.xaml.cs  # Логика веб-приложения
├── AssemblyInfo.cs    # Информация сборки
└── Web2AppLauncher.csproj # Конфигурация проекта

Зависимости

  • Microsoft.Web.WebView2 (v1.0.2592.51) - для отображения веб-содержимого
  • System.Drawing.Common (v10.0.10) - для работы с изображениями и иконками

Особенности реализации

Изоляция приложений

Каждое созданное приложение работает в отдельной директории с собственной конфигурацией, что позволяет запускать несколько приложений одновременно без конфликтов.

Конвертация иконок

PNG иконки автоматически конвертируются в ICO формат для корректного отображения на рабочем столе Windows.

Передача аргументов

При запуске через ярлык с Рабочего стола приложение получает путь к директории конфигурации через аргументы командной строки, что позволяет загрузить корректный URL и другие настройки.

Разработка

Сборка для выпуска

dotnet publish -c Release -o ./publish

Запуск тестов

dotnet test

Возможные улучшения

  • Поддержка дополнительных операционных систем (macOS, Linux)
  • Сохранение состояния приложения между запусками
  • Синхронизация данных между веб-версией и приложением
  • Кэширование контента для оффлайн-режима
  • Поддержка расширений и плагинов

Решение проблем

Приложение не запускается

  • Убедитесь, что установлен Microsoft Edge WebView2 Runtime
  • Проверьте наличие файла config.json в директории приложения
  • Проверьте корректность формата JSON в config.json

Иконка не отображается

  • Проверьте формат файла иконки (ICO или PNG)
  • Убедитесь, что файл не повреждён
  • Попробуйте использовать иконку с размером не менее 256x256 пиксель

Лицензия

Этот проект распространяется под лицензией Apache License 2.0. Подробнее см. файл LICENSE.

Социальные сети

Discord YouTube Telegram

Контрибьютинг

Мы приветствуем вклад в развитие проекта. Пожалуйста создавайте Pull Request с описанием предлагаемых изменений.

About

W2A - Прекрасная программа для превращения WEB страницы в приложение!

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Contributors

Languages