909 字
5 分钟
开发日记 01 立项

为什么想做这个项目?#

作为一个前端开发小白,我一直想拥有一款真正属于自己的应用。市面上的音乐播放器不少,但总觉得没有完全符合我需求的:

  • 本地播放器需要存大量歌曲,占手机空间
  • 即使搭了NAS用Emby+音流,外地访问又需要公网IP,跨运营商还限速,体验太差了

偶然发现的新大陆:WebDAV#

23年我开始捣鼓NAS,接触了很多新鲜玩意儿。后来发现了alist这个神器,了解到还有WebDAV这种协议——可以直接播放网盘里的音乐!

当时我就眼前一亮:这不是刚好解决了我的痛点吗?

通过alist挂载网盘,用WebDAV协议播放,好处太明显了:

  1. 速度飞起:因为是302跳转,速度只看网盘给不给力(说白了就是开会员)
  2. 再也不用愁存储:手机里不用存一堆歌了
  3. 随时随地都能听:只要有网就行,比NAS方便多了

决定自己动手做!#

接触多了以后,我发现支持WebDAV的音乐播放器要么UI丑得没法看,要么功能不完善。可能都是个人开发者做的,大家主要精力都在解决技术问题,没太多时间搞用户体验。

既然市面上没有趁手的,那不如自己做一个吧!

这个念头一冒出来,我就再也按捺不住了。虽然我只是个前端小白,但我相信只要肯学,总能做出来点东西。

技术选型:纠结了好久#

我开始研究各种移动开发技术,毕竟要做个手机APP嘛:

跨平台还是原生?#

  • 原生开发:性能肯定最好,但我对安卓iOS都不熟,学习成本太高了
  • 跨平台:一套代码多端运行,听起来就很适合我这种新手

选哪个跨平台框架?#

  1. Flutter:谷歌官方的,性能好,坑应该少点?但要学Dart语言,我连前端都还没完全搞明白呢,又要学新语言,想想就头大

  2. uni-app:听说上手简单,但生态好像不如其他框架,怕遇到问题找不到解决方案

  3. React Native:接近前端开发,用的是JavaScript,对我来说学习成本最低!虽然听说坑有点多,但管不了那么多了,先上手再说

最终还是选了React Native,毕竟对前端小白友好啊!(现在想想,当时还是太天真了,坑真的好多…)

正式开始:边学边做#

在B站看了几个React Native的入门视频,大概了解了基本概念后,我就迫不及待地开始了IcePlayer的开发:

现在回想起来,当时真的是一腔热血,啥都不懂就敢直接上手做APP

  1. 项目名:就叫IcePlayer吧,听起来有点酷
  2. 开发模式:边学边做!遇到问题就搜,解决一个算一个
  3. 核心功能:必须支持WebDAV音乐播放,这是我的初心
  4. 目标:先做个能用的版本,能在自己手机上跑起来就满足了

虽然现在遇到了各种坑,经常卡壳到怀疑人生,但每次解决一个问题,看到APP有点进展,那种成就感真的无法形容!

这是我的第一个移动端项目,也是我作为一个前端小白,向独立开发者迈出的第一步。不管最后做成什么样,这段经历一定是宝贵的财富。

开发日记 01 立项
https://fuwari.vercel.app/posts/iceplayer/开发日记/
作者
IceZheng
发布于
2025-12-07
许可协议
CC BY-NC-SA 4.0