4.0 KiB
4.0 KiB
MobileMkch
Мобильный клиент для борды mkch.pooziqo.xyz
Возможности
- Просмотр всех досок Мкача
- Просмотр тредов в каждой доске
- Просмотр деталей треда и комментариев
- Поддержка изображений и видео
- Темная/светлая тема
- Навигация с кнопкой "Назад" (index lore)
- Улучшенный заголовок с статическими кнопками
- Система настроек с сохранением:
- Тема (темная/светлая)
- Последняя посещенная доска
- Автообновление
- Показ файлов
- Компактный режим
- Поддержка Android и iOS (с сохранением настроек (блять нахуй я туда полез))
- Оптимизации для мобильных устройств:
- Кэширование данных для быстрой загрузки
- Дебаунсинг UI обновлений
- Оптимизация потребления батареи
- Агрессивная сборка мусора на мобильных
- Ограничение частоты сетевых запросов
- Многостраничность для списка тредов:
- Настраиваемый размер страницы (5-20 тредов)
- Навигация между страницами
- Ограничение тредов для больших досок
- Управление кэшем:
- Очистка кэша досок
- Очистка кэша тредов для всех досок
- Очистка кэша деталей тредов
- Очистка всего кэша
Сборка
Desktop
go build
./MobileMkch
Android
- Установите Android Studio (включает SDK и NDK):
# macOS
brew install --cask android-studio
# Или скачайте с https://developer.android.com/studio
- Установите Fyne CLI:
go install fyne.io/fyne/v2/cmd/fyne@latest
- Настройте переменные окружения:
export ANDROID_HOME=$HOME/Library/Android/sdk
export ANDROID_NDK_HOME=$ANDROID_HOME/ndk
- Соберите APK:
fyne package --os android --app-id com.mkch.mobile
- Установите на устройство:
adb install MobileMkch.apk
iOS
-
Установите Xcode из App Store
-
Установите Fyne CLI:
go install fyne.io/fyne/v2/cmd/fyne@latest
- Соберите IPA:
fyne package --os ios --app-id com.mkch.mobile
- Откройте в Xcode:
open MobileMkch.xcodeproj
- Подпишите и установите через 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 APImodels/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- оптимизации для мобильных устройств