个人思考 2026-10-11

独立开发者的技术选型思考

禾

禾安

独立开发者 · 专注移动端iOS开发

公司里选型和独立开发选型,标准完全不同。这一篇讲我总结的三个维度:你熟不熟、它能不能活很久、出错时你救不救得回来,以及为什么「少依赖」是独立开发的第一原则。

我做过几次选型,也见过很多「选型选得很漂亮,但三个月后没人维护」的项目。独立开发者的选型标准,和大公司完全不是一回事。

先明确一个前提:你没有团队

这一条决定了所有其他标准。在公司里,选型的底线是「团队里有人会用、出问题能找到人帮忙」;但一个人维护时,出问题只能自己扛。

所以我的第一原则是:不是选最强的,而是选你出问题时能自己救回来的。

维度一:熟悉度 —— 这是合法且重要的条件

我经常看到有人在选型时刻意排除「自己已经会的」,理由是「想学新的」。在真实的独立项目里,这个理由要非常谨慎。

  • 熟悉的技术意味着你能把精力放在「解决问题」而不是「排查框架」上;

  • 不熟的技术会延长交付时间,而独立项目最需要的是「做完」;

  • 想学新东西,可以用一个「失败了也无所谓」的小项目来学,不要拿主线项目练手。

维度二:长期性 —— 它三年后还在吗

独立项目通常寿命很长(因为它只有你一个人,没人会因为「立项结束」就撤走)。所以「这个技术会不会消失」是个真问题。

我判断的方式很土,但挺管用:

  • 它背后的东西是不是一个稳定的生态(而不是某个人的实验项目);

  • 它的变化是不是「向下兼容」的 —— 每次升级都要求你重写,就是危险信号;

  • 遇到问题时,能不能搜到答案(这比文档写得多漂亮更重要)。

维度三:可维护性 —— 出错时你救得回来吗

这一条最能区分「能跑」和「能长期跑」:

  • 数据能不能自己导出、备份、迁移(不能的话就是被绑架了);

  • 出问题能不能看日志定位(闭源的托管服务在这点上很吃亏);

  • 有没有「明确的一条回滚路径」。

第一原则:少依赖

独立开发者最大的隐性成本,是「依赖升级」。每多一个依赖,就多一个会坏的零件。所以我给自己定了几个很实际的规矩:

  1. 能用标准能力做出来的,就不引第三方;

  2. 能用最简单方式解决的(比如一段自己的小工具函数),就不引一个包;

  3. 引了的东西,要写清楚「为什么需要它」,而不是「顺手就装了」。

这不是排斥工具,而是把「每一个依赖都当成一笔长期负债」来记账。

我这次的真实选型过程

这个站选型时,我把候选摊在桌上,按上面三个维度筛了一遍:

  • 后端:选了我最熟的 Python 系框架 —— 熟悉度优先,同时它足够轻;

  • 数据库:选了最成熟的关系型数据库 —— 长期性最好、运维资料最多;

  • 前端:直接不引框架 —— 因为「少依赖」在这里收益最大,而且站点不需要复杂交互;

  • 部署:用了成熟的面板与发布脚本 —— 把运维变成「照着做」,而不是「边学边配」。

这套组合有一个共同点:每一样都是「出问题时我能自己救」的。它不是最时髦的,但我敢长期维护它。

什么时候该换技术

我给自己定了几条「触发换」的条件,避免「凭感觉折腾」:

  • 现在的方案已经无法解决核心问题(不是「不如别人优雅」);

  • 维护成本持续高于收益,且已经持续了相当一段时间;

  • 有明确、可验证的收益(性能、成本、稳定性),而不是「听说更好」。

什么时候不该换 —— 这一条更重要

经验上看,「不该换」的时候远比「该换」的时候多:

  • 只是因为它不够新;

  • 只是因为你在别处看到别人用得更顺手;

  • 只是因为你最近有点腻了。

独立开发里,最大的浪费不是选错技术,而是反复重选技术。把时间放在内容和交付上,收益总是更高。

一句话总结

独立开发者的选型,本质是在解一道「一个人能维护多久」的题。答案通常不是「最先进」,而是「最可控」。