什么情况下,你会把一个Bash脚本硬生生变成桌面应用,还坚持所有数据只存本地?Sulaiman给出的答案很简单:隐私。
一个月前,他写了个Bash脚本,方便自己和同事连服务器。反馈不错,于是他决定把它打磨成一个正经工具——KunciMasuk,一个免费的SSH启动器。而这次升级,足足花了他三周,并且过程里有很多“反直觉”的选择。
清单一:不做待办应用,也不碰POS系统
他早就想碰桌面开发,但目的很明确——要简单,也要有意义。所以,他自动跳过了“烂大街的待办应用”,短暂考虑过收银系统(POS),又立刻嫌它作为副项目太臃肿。最后锁定了SSH启动器这个切口,不大不小,刚好。
清单二:技术选型绕了一圈,回到老熟人
最初他用Ionic评估,发现不合适。换Flutter?没有生产经验,不现实。Reddit和Stack Overflow上对Rust、Tauri的呼声很高,但他承认学习曲线太陡,赶不上这个版本。最终兜回Electron.js,利用已有的React底子快速启动。这个过程没有“最优解”,只有“最实际”。
清单三:拒绝云存储,JSON文件就是全部
在做数据持久化时,他甚至觉得SQLite都有点重。一个轻量SSH启动器,何必上数据库?于是选用本地JSON文件。朋友问为什么不用云存储,他的逻辑很直:所有凭证和配置都留在本机,零外部依赖,彻底不走云端。这就是KunciMasuk的隐私底线。
清单四:TypeScript是现学的,故意不交给AI全自动
项目做到20%,他决定现学TypeScript。方法是:用React写完组件,再找AI导师讲解模式、重构代码。这样既加速学习,又没交出代码的掌控权。他算了一笔账:如果用AI全自动开发,两天就能发布;但手动调试、消化每个架构决策,用了三周。他说,这个工具功能算不上最全,但每一行他都懂,这个里程碑更让他自豪。
清单五:开源没勇气?版本0.1.4公开了,但源码还在犹豫
在内部小范围发布0.1.0并收集反馈后,快速迭代到了0.1.4,现在向公众免费开放下载。但说到开源,他又坦承“还没足够的勇气”,因为TypeScript技能仍欠火候。结尾那句“我会开源,或早或晚”,更像是对自己下的战书。
热门跟贴