Разработка мобильного приложения для церковной общины
Приложение для религиозной общины — это прежде всего инструмент коммуникации и доступа к контенту: расписание богослужений, медиатека проповедей, общий чат и возможность пожертвовать. Аудитория разнородная по возрасту, поэтому UX должен быть простым, а приложение — работать на старых устройствах без деградации.
Расписание и уведомления
Расписание богослужений — это календарь с повторяющимися событиями и исключениями. Локальная копия в Core Data (iOS) или Room (Android) с синхронизацией при запуске. Повторяющиеся события (iCalendar RRULE семантика) удобнее хранить как правило + список исключений, а не как N отдельных записей.
Push-уведомления за час до службы — через FCM или APNs. На клиенте также локальные уведомления через UNUserNotificationCenter (iOS) или AlarmManager + NotificationCompat (Android) как резерв для пользователей без стабильного интернета.
Медиатека проповедей
Аудио и видео проповеди — основной контент. Видео через HLS от CDN (AVPlayer с AVAsset(url: m3u8URL)), аудио — AVAudioPlayer или AVPlayer в зависимости от формата. Background audio обязателен: пользователи слушают во время поездки.
Background audio на iOS: AVAudioSession с категорией .playback, UIBackgroundModes: audio в Info.plist, MPRemoteCommandCenter для управления из Control Center и AirPods (play/pause, следующий трек, перемотка). Без MPRemoteCommandCenter — уведомление в системном плеере не показывается, AirPods не управляют воспроизведением.
На Android — MediaSessionCompat + MediaBrowserServiceCompat + уведомление с MediaStyle. ExoPlayer в ForegroundService для background playback. PlayerNotificationManager из ExoPlayer автоматически создаёт медиа-уведомление с управлением.
Поиск по проповедям — full-text search через API. Фильтр по спикеру, дате, серии. Offline-доступ для скачанных материалов — сохраняем в FileManager (iOS) или getExternalFilesDir() (Android).
Чат общины
Общий чат — либо через стороннее SDK (Stream Chat, SendBird), либо самостоятельная реализация на WebSocket. Для небольших общин (до 500 человек) готовые SDK с freemium моделью выгоднее по времени разработки. Stream Chat SDK для iOS и Android предоставляет готовый UI — ChatChannelVC / ChannelListFragment — с возможностью кастомизации.
Модерация контента — роли администратора и модератора. Удаление сообщений, блокировка пользователей. Это обязательная функция для религиозного сообщества.
Пожертвования
Встроенный сбор пожертвований — наиболее регулируемая часть. На iOS нельзя просто встроить свою платёжную форму для цифровых товаров/услуг — Apple требует StoreKit. Но пожертвования для НКО/религиозных организаций не являются покупкой цифрового контента, поэтому WebView с внешней платёжной формой (Stripe, PayPal) допустим. Это нужно явно прописать в назначении приложения при ревью — иначе риск отклонения по гайдлайну 3.1.1.
На Android ограничений меньше — нативная Stripe SDK (com.stripe:stripe-android) с PaymentSheet даёт готовый UI для ввода карты.
Регулярные пожертвования — подписки через Stripe Billing. Управление из приложения: отмена, изменение суммы.
Поддержка старых устройств
Минимальная версия iOS 14 (охватывает >95% активных устройств в 2025). Android минимум API 26 (Android 8). На iOS 14 нет AsyncImage — используем Kingfisher. Без @Observable (iOS 17) — ObservableObject + @Published.
Шрифт — Dynamic Type (UIFont.preferredFont(forTextStyle:), sp единицы на Android). Пожилые пользователи часто увеличивают шрифт в настройках системы — приложение должно корректно реагировать без переполнения текста.
Сроки
Расписание + медиатека с background audio + push-уведомления — 4–6 недель. Чат + пожертвования + offline — 2–3 месяца. Стоимость рассчитывается после анализа требований.







