Третий клиент платформы — нативное приложение для iOS и macOS, написанное на SwiftUI. Это тот случай, когда выбор не Rust — осознанный: на Apple-платформах системные API и UI-кит дают слишком много, чтобы от них отказываться.
Сетевой слой устроен максимально просто: декодеры на Codable повторяют сущности из blog-generic один-в-один. Когда меняется схема API, я обновляю Swift-структуры вручную, но это редкая операция.
SwiftUI отлично работает на обеих платформах. Большая часть экранов написана один раз, а специфика macOS — отдельные тулбары и горячие клавиши — добавляется условной компиляцией. Сборка идёт через xcodebuild, а в Xcode проект открывается без дополнительных настроек.
Push-уведомления о новых публикациях приходят через APNs, события генерирует тот же RabbitMQ, что и Telegram-бот. Получается симметричная архитектура: web, iOS и Telegram узнают о публикации одновременно.