谁在做 Macdio
Macdio 是 Sait Firat NEMIS 一个人开发的项目。背后没有公司,没有团队,也没有投资人。只有一个人,在做一个他觉得 App Store 上缺少的电台应用。
六个平台上的 SwiftUI 代码、网站、App Store 页面和支持邮箱都由我负责。如果你写信到 support@devdio.pro,收信的就是我本人。
它是怎么做的
Macdio 百分之百是原生 Swift 和 SwiftUI。没有 Electron,没有 React Native,也没有网页视图。每一个界面都专门为它运行的平台编写:iPhone、iPad、Mac、Apple TV、Apple Watch 和 CarPlay。
和 2026 年的大多数开发者一样,我在工作中会用现代的 AI 辅助工具,用来探索边界情况、验证想法的原型,以及排查棘手的 bug。但核心架构、设计决策、性能调优和最终发布的代码,都来自认真的研究和亲手的反复打磨。我在意把细节做对,这意味着要理解技术栈的每一层,而不是接受工具生成的任何东西。
数据来源和 API
Macdio 自己不维护电台目录。电台列表来自公共社区数据库 Radio Browser,只有在 Radio Browser 没有响应时,才会使用 Macdio 自己的副本(dir.macdio.app)。正在播放的元数据和歌词来自公共 API。下面是这个应用会联系的服务:
依赖
Macdio 的依赖极少。应用本身没有使用任何第三方 Swift 包,完全用 Apple 自己的框架打造(SwiftUI、SwiftData、AVFoundation、CloudKit、MediaPlayer)。
这个网站同样精简。它不加载网页字体,也没有 3D 库。文字使用你的 Apple 设备上已有的系统字体,所有动画都是普通的 CSS 和 JavaScript。用到的外部服务有:
| 名称 | 用途 | 类型 |
|---|---|---|
| Umami | 不用 Cookie 的访问计数,约 15% 的访问还会有会话录制和点击热力图,运行在开发者自己的服务器 stats.devdio.pro 上(仅限网站) | 网站 |
| Radio Browser | 目录页面的电台数据,由你的浏览器直接查询(仅限网站) | 网站 |
| dir.macdio.app | Macdio 自己的 Radio Browser 目录副本。目录页面只在 Radio Browser 没有响应时才会向它查询。它不保存 IP 地址。 | 网站 |
| hub.devdio.pro | Macdio 自己的社区论坛。标志上的“新”标记会向本站自己的服务器询问最新的三条更新说明;你的浏览器从不直接联系论坛,唯一保存的是你看过的最后一个帖子的 id,存在你浏览器的本地存储里。 | 网站 |
| 电台标志服务器 | 在目录页面上,每个电台的标志都从该电台自己的服务器加载,所以这些服务器能看到你的 IP 地址。请求不带来源信息(referrer),加载失败的标志会换成一个本地图标。没有任何内容通过本站代理。 | 网站 |
更新记录
Macdio 完整的版本历史和更新说明可以在 App Store 页面上查看。每次更新都写明了具体改了什么。