我用AI辅助开发了一款广播应用,3周上线
先说个有趣的现象
最近在地铁上注意到一个变化——越来越多人戴着耳机,不是在刷短视频,而是在听广播。
不是那种传统的FM收音机,而是通过网络实时传输的数字广播信号。能听家乡的电台、能听交通广播,甚至能在深夜找到一档陪伴入睡的节目。
这让我萌生了一个想法:做一个简洁的、注重隐私的在线广播应用。
于是我花3周时间,用AI辅助开发完成了随身FM。这篇文章想聊聊开发过程中的思考和实践。
为什么选择AI辅助开发?
说实话,这次开发我是有意尝试AI辅助编程的。
日常工作太忙,完整的时间很碎片化。我需要一种方式能让我在有限的时间里高效推进项目。AI编码工具恰好能帮我处理一些重复性工作,让我把精力放在核心逻辑上。
但我也清醒地知道:AI是辅助,不是替代。
完全依赖AI生成代码,容易出现几个问题:
-
代码风格不一致,后续维护困难
-
对业务逻辑的理解可能存在偏差
-
一些边界情况处理不够周全
所以我给自己的规则是:60%手动编写,40% AI辅助。
具体怎么分工?
手动编写(60%)
这部分我坚持自己写,包括:
核心业务逻辑
-
电台播放器的状态管理
-
本地收藏数据的CRUD操作
-
播放记录的数据持久化
-
UI与数据层的交互逻辑
这些是应用的核心,不能含糊。我倾向于用传统的编程方式,一行一行写清楚。
UI原型设计
在动手写代码之前,我先花了半天时间用 Google Stitch 绘制了UI原型。
Stitch的好处是上手快,能快速画出可交互的原型。把产品形态定清楚之后,开发时就不会反复改来改去浪费时间。
我设计的核心原则就一个:简单。
没有花哨的动效,没有复杂的层级,用户打开App就能听广播。所以原型阶段就确定了三个核心页面:
-
播放页面 - 占据C位,展示当前电台信息
-
电台列表 - 按城市/类型分类
-
收藏管理 - 本地存储的收藏电台
AI辅助(40%)
AI主要帮我处理这几类工作:
模板化代码生成
比如数据类的Bean、列表适配器(Adapter)、工具类这些相对标准化的模块,让AI生成初版,我来审核调整。
注释与文档
给代码写注释是个细致活,让AI帮我补全大部分标准注释,我再根据实际情况调整。
调试辅助
遇到问题时,让AI帮忙分析可能的原因和排查思路。
辅助工具:Coze空间
这次开发我主要用的是 Coze的Coze空间 作为AI辅助编码工具。
选择它的原因很简单:
-
上下文理解能力不错,能理解我的项目结构
-
代码生成质量稳定,不会出现明显的幻觉
-
支持多轮对话,方便迭代调整
不过再好的工具也需要会用。prompt要写清楚上下文和约束条件,生成的代码要仔细审核——这是使用AI辅助编程的基本功。
3周时间都花在哪儿了?
第一周:搭架子
-
确定技术栈(Flutter + Java SpringBoot)
-
用Stitch画完UI原型
-
搭建项目结构(Flutter端 + SpringBoot服务端)
-
实现核心播放功能
第一周是最累的,要把整个应用的骨架搭好。
第二周:填血肉
-
完成电台列表和分类
-
实现收藏功能
-
开发播放历史功能
-
打磨UI细节
这一周主要是功能开发,AI辅助主要在这个阶段发挥作用。
第三周:收尾优化
-
定时关闭功能
-
后台播放适配
-
各机型兼容测试
-
隐私政策和技术文档
三周时间不算长,但足够做一个功能完整、体验过关的应用。
关于产品的三个坚持
1. 界面干净
打开随身FM,没有任何开屏广告,没有任何弹窗,直接进入播放界面。
我在第一版设计时纠结了很久要不要加个"每日推荐"之类的功能。后来想通了:用户来这儿就是为了听广播,不要让其他东西打扰这个核心体验。
删掉。
2. 隐私优先
所有收藏数据存储在用户本地,不上传任何服务器。
坦白说,这个选择让我放弃了一些商业化的可能性。比如做用户画像、个性化推荐都需要数据。
但我始终觉得,一款广播应用不需要知道你喜欢什么电台。这个信息对用户体验没有任何增益,反而是对用户隐私的侵犯。
技术实现上也很简单:
-
收藏数据用 SQLite 数据库存储在用户本地设备
-
播放历史记录同样存在本地
-
卸载应用,数据即清除
3. 资源全面
覆盖国内大部分电台,包括中央台、各省市台、交通广播、音乐台等。
数据源是公开的网络广播信号,我做了统一接入和分类,让用户能方便地找到自己想听的电台。
写在最后
随身FM的代码量不大,技术难度也不高,但它是我第一次系统性地尝试AI辅助开发。
60%手动 + 40% AI 的组合让我在3周内完成了从0到1的开发,整体效率比我预期的要快。AI工具帮我处理了很多繁琐的模板代码,我能把更多时间花在核心逻辑和产品体验上。
当然,AI辅助编程也有边界。核心业务逻辑、数据结构设计、架构决策这些,还是需要人来把关。
这次尝试让我意识到:善用AI不是依赖AI,而是找到适合自己的协作方式。
如果你也在考虑用AI辅助开发,我的建议是:
-
先明确自己的边界,哪些要自己做,哪些交给AI
-
给AI清晰的上下文,生成的代码一定要审核
-
保持代码风格一致性,这关乎后续维护
最后,应用已经上架,官网:suishenfm.com
欢迎交流开发心得或产品建议。