MacApp MovieBox 研发笔记

目前最快的 mvp app 完成记录,4 小时
起因是 我有一块 2T 的外接 SSD 硬盘,里面大小存了不少了电影。这个硬盘的传输速度还是很快的 平均下来1G 每秒,所以作为影音外置盘很不错。
平常我会收藏一些会反复看的电影,以及之前看了好看,然后在周末跟家人一起看的电影,比如一些迪斯尼动画,名侦探柯南.
但是电影多了,平常都是直接丢进去,没有管理,时间久了就特别乱,有的时候找个电影也特别麻烦。
于是 萌生了 做个 mac app 来管理的念头。
mvp 阶段
我先用 Xcode 新建了项目,然后用 Cursor 打开,开始 跟 Agent 描述 我的基本功能。
其实 mvp 阶段 不需要关心细节。但是要把你 app 的核心功能,以及基本交互给描述清楚。
很快 Cursor 就解决了 mvp 的问题。第一次 build 可能会有些 error, 因为 AI 的知识 覆盖多个版本的开发方式,所以它 有的时候会串,
在后续沟通过程中 修复 所有 issue 后,mvp 就能稳定运行。
当然 运行起来后 也会有很多问题,比如 “文件访问权限”
技术名词
软件开发过程中其实掌握一些技术名词挺重要。
sidebar: 侧边栏.
sidebar list: 侧边列表.
main content window:主界面.
swiftData: 数据库.
folder permission:文件夹权限.
table list: 表格.
之前一直想做个独立站叫 vibe keywords 主要收集 开发过程中 会用到的一些 关键词,等有时间了尝试把他沉淀下来
代码整理
可能第一个小时下来大部分代码都能跑起来了,也不清楚哪些代码在哪里,并且可能一个 文件里 会超过 500 行代码,这个时候 AI 在调度的时候会变慢,
这个时候就需要 做一次代码整理
通常我会 在开发目录下建立对应的分块文件夹,主要还是遵循 MVVM 的方式,符合人类阅读方式。
- views: 视图,所有的 UI 界面相关的
- models:模型
- viewmodels:视图模型,链接模型和视图数据的
- scenes/pages: 场景/页面,页面相关的用来聚合 view 和 viewmodels
- helpers:辅助方法,比如一些 server 以及 一些可以独立的存放的 helper方法。
我常用的prompt 是 打开需要 整理的页面 如:
- help me separate file, into views, make it clearly
- help me separate logic into models , viewmodels
- help me separate func into helpers
然后检查 它 整理的代码,适当添加一些 注释
这样的好处是,你在这个过程中 可以了解它大概在做什么。
一些技术细节
收集一些 mac app 开发的细节
文件读写权限: mac app 的限制在规定的几类如:
- User Selected File
- Downloads Folder
- Picture Folder
- Music Folder
- Movies Folder
所以 要开启对应的之后才可以读取,
并且 User Selected File 需要保留 类似 Bookmark 的东西来保留 下次读取的权限,因为 它默认只信任你选择的文件的权限。
这个很有意思,因为我需要对文件进行 文件属性读取,以及文件名修改,所以如果 第二次打开 app 的时候 如果没有 Bookmark 它会丢失文件的读写权限,有点类似 “熟人”的概念,告诉它上次已经允许过了 🤣。
网络请求权限: 同样网络请求 也需要 在项目配置项里 申明,不然会默认无法请求网络资源。
一些研发习惯
现在应该叫 vibe 习惯,主要还是 Agent 在写代码。我主要看它写,监督。
MVP:
项目刚开始的时候,尽量让它做最小能力,后续慢慢新增贴心.
Feature:
每次 新增特性的时候,我的习惯是新开一个特性。这样功能隔离,而且 AI 不会被历史记录影响,虽然我想 Cursor 可能做过这方面的优化。
Todo:
一些大特性的时候,让 AI 列个 to-do 然后再开始做它会做得准确一些。
Test:
完成一些功能的后,可以让 AI 生成对应 模块的 Test 用例。
Comments
Loading comments...
