MobileMkch/README.md
2025-08-05 20:08:15 +03:00

4.0 KiB
Raw Blame History

MobileMkch

Мобильный клиент для борды mkch.pooziqo.xyz

Возможности

  • Просмотр всех досок Мкача
  • Просмотр тредов в каждой доске
  • Просмотр деталей треда и комментариев
  • Поддержка изображений и видео
  • Темная/светлая тема
  • Навигация с кнопкой "Назад" (index lore)
  • Улучшенный заголовок с статическими кнопками
  • Система настроек с сохранением:
    • Тема (темная/светлая)
    • Последняя посещенная доска
    • Автообновление
    • Показ файлов
    • Компактный режим
  • Поддержка Android и iOS (с сохранением настроек (блять нахуй я туда полез))
  • Оптимизации для мобильных устройств:
    • Кэширование данных для быстрой загрузки
    • Дебаунсинг UI обновлений
    • Оптимизация потребления батареи
    • Агрессивная сборка мусора на мобильных
    • Ограничение частоты сетевых запросов
    • Многостраничность для списка тредов:
      • Настраиваемый размер страницы (5-20 тредов)
      • Навигация между страницами
      • Ограничение тредов для больших досок
    • Управление кэшем:
      • Очистка кэша досок
      • Очистка кэша тредов для всех досок
      • Очистка кэша деталей тредов
      • Очистка всего кэша

Сборка

Desktop

go build
./MobileMkch

Android

  1. Установите Android Studio (включает SDK и NDK):
# macOS
brew install --cask android-studio

# Или скачайте с https://developer.android.com/studio
  1. Установите Fyne CLI:
go install fyne.io/fyne/v2/cmd/fyne@latest
  1. Настройте переменные окружения:
export ANDROID_HOME=$HOME/Library/Android/sdk
export ANDROID_NDK_HOME=$ANDROID_HOME/ndk
  1. Соберите APK:
fyne package --os android --app-id com.mkch.mobile
  1. Установите на устройство:
adb install MobileMkch.apk

iOS

  1. Установите Xcode из App Store

  2. Установите Fyne CLI:

go install fyne.io/fyne/v2/cmd/fyne@latest
  1. Соберите IPA:
fyne package --os ios --app-id com.mkch.mobile
  1. Откройте в Xcode:
open MobileMkch.xcodeproj
  1. Подпишите и установите через Xcode или TestFlight

iOS И Android сборка протестирована и работает!

Требования

  • Go 1.24+
  • Fyne v2.6.2
  • Android SDK (для Android)
  • Xcode (для iOS)

Технологии

  • Go 1.24+
  • Fyne v2.6.2
  • HTTP клиент для API

Структура

  • main.go - точка входа
  • api/client.go - HTTP клиент для mkch API
  • models/models.go - структуры данных
  • settings/settings.go - система настроек
  • cache/cache.go - система кэширования с поддержкой пагинации
  • ui/ - пользовательский интерфейс
    • manager.go - управление экранами
    • boards_screen.go - список досок
    • threads_screen.go - треды доски
    • thread_detail_screen.go - детали треда
    • settings_screen.go - экран настроек
    • optimization.go - утилиты оптимизации
  • mobile_optimizations.go - оптимизации для мобильных устройств