Кто делает Macdio
Macdio создаёт один разработчик, Sait Firat NEMIS. За ним нет ни компании, ни команды, ни инвесторов. Только один человек, который делает радиоприложение, которого, как ему казалось, не хватало в App Store.
Я сам пишу код на SwiftUI для всех шести платформ, веду сайт, страницу в App Store и почту поддержки. Если вы пишете на support@devdio.pro, письмо попадает прямо ко мне.
Как он сделан
Macdio на 100% написан на нативных Swift и SwiftUI. Никакого Electron, React Native и веб-представлений. Каждый экран написан специально для той платформы, на которой он работает: iPhone, iPad, Mac, Apple TV, Apple Watch и CarPlay.
Как и большинство разработчиков в 2026 году, я использую в работе современные инструменты с ИИ: чтобы исследовать пограничные случаи, быстро проверять идеи и разбираться в сложной отладке. Но основная архитектура, дизайнерские решения, настройка производительности и итоговый код в релизе появляются в результате вдумчивых исследований и работы руками, итерация за итерацией. Мне важно сделать детали правильно, а это значит понимать каждый слой стека, а не принимать всё, что сгенерирует инструмент.
Источники данных и API
Macdio не ведёт собственный каталог станций. Списки станций приходят из Radio Browser, открытой базы данных сообщества, а собственная копия этой базы от Macdio (dir.macdio.app) используется, только когда Radio Browser не отвечает. Метаданные текущего трека и тексты песен берутся из открытых API. Вот к чему обращается приложение:
Radio Browser
База интернет-радиостанций, которую поддерживает сообщество. Даёт метаданные станций, URL потоков, сведения о стране и жанровые теги. Именно отсюда берётся каталог из десятков тысяч станций.
radio-browser.info ↗iTunes Search API
Открытый поисковый API от Apple. Он дополняет сведения о текущем треке: по метаданным, которые передают радиостанции, загружает обложку альбома, год выпуска и название альбома.
iTunes Search API ↗LRCLIB
Бесплатный API текстов песен с открытым исходным кодом. Даёт синхронные (в формате LRC) и обычные тексты для песни, которая играет сейчас. Ключ API не нужен, слежки нет.
lrclib.net ↗Podcast Index
Открытый независимый индекс 4,7 миллиона подкастов. На нём работают поиск подкастов, чарты и категории. Выпуски и ленты затем загружаются напрямую с собственного сервера каждого подкаста.
podcastindex.org ↗Apple ShazamKit
Распознавание песен от Apple. Song ID отправляет короткую звуковую сигнатуру потока, никогда не запись и никогда не звук микрофона, и получает в ответ песню, исполнителя и обложку.
ShazamKit ↗push.macdio.app
Собственный сервер уведомлений Macdio о новых выпусках. Только когда вы включаете уведомления, он получает адрес уведомлений устройства и список подкастов, на которые вы подписаны, и больше ничего.
Политика конфиденциальностиЗависимости
У Macdio минимум зависимостей. Само приложение не использует ни одного стороннего пакета Swift. Оно целиком построено на собственных фреймворках Apple (SwiftUI, SwiftData, AVFoundation, CloudKit, MediaPlayer).
Этот сайт такой же лёгкий. В нём нет веб-шрифтов и 3D-библиотек. Текст набран системным шрифтом, который уже есть на вашем устройстве Apple, а все анимации сделаны на обычных CSS и JavaScript. Внешние сервисы такие:
| Название | Назначение | Тип |
|---|---|---|
| Umami | Подсчёт посещений без cookie, а примерно для 15% посещений также запись сессии и тепловые карты кликов, на собственном сервере разработчика stats.devdio.pro (только сайт) | Веб |
| Radio Browser | Данные станций для страницы каталога, которые запрашивает ваш браузер (только сайт) | Веб |
| dir.macdio.app | Собственная копия каталога Radio Browser от Macdio. Страница каталога обращается к ней, только когда Radio Browser не отвечает. IP-адреса она не хранит. | Веб |
| hub.devdio.pro | Собственный форум сообщества Macdio. Значок «New» на логотипе запрашивает три последних описания выпусков у собственного сервера этого сайта. Ваш браузер никогда не обращается к форуму, а хранится только id последнего поста, который вы видели, в локальном хранилище вашего браузера. | Веб |
| Серверы логотипов станций | На странице каталога логотип каждой станции загружается с собственного сервера этой станции, поэтому эти серверы видят ваш IP-адрес. Запросы отправляются без referrer, а логотип, который не загрузился, заменяется локальным значком. Через этот сайт ничего не проксируется. | Веб |
История изменений
Полная история версий Macdio и описания выпусков есть на странице в App Store. В каждом обновлении точно описано, что изменилось.