分类目录归档:产品

我的独立开发者书单 2025 版

最近和很多朋友在聊「做个生意」的事情,也谈到了很多的书,为了方便大家按图索骥,所以整理了以下这个书单,来帮助大家快速上手,控制预期。同时,我自己也一直的观点是 —— 独立开发者最重要的是开始自己去构建,但也应该看书,来规避一些最基础的错误。因为你的资源不足,做决策就应该更加审慎

这个书单会不定期更新,本次更新时间为 2025 年 12 月 13 日。如果你希望知道这篇文章的更新情况,可以关注我的 Twitter,更新时,我会发 Twitter 说明。

声明

做生意当中有很多种不同的可能性,以下的书单仅服务于「你想有个互联网软件产品,并基于此赚钱」 这个具体的场景,帮助你更快的的上手。

具体书单

黑客与画家

豆瓣:https://book.douban.com/subject/6021440/

重点看第六章:「如何创造财富」,介绍了关于「创业」的本质;我自己觉得,近些年来,创业被说的太大了,以至于大家提起创业,满脑子就是融资、I have a Dream,很少再花自己的钱去创业、先亏一笔,然后拿一个更大的市场。大家还要知道,创业还有一种方向,我称之为「做生意」:从 Day 1 开始,这个业务就是赚钱的,就是能赚钱的,而不是依赖外部资金去赚钱的。

MakeBook

官网:https://readmake.com/

来自的 Peter Levels 的英文图书,主要介绍了他自己构建独立开发产品的经验和一些案例。我自认为这本书当中的内容对于想要走独立开发者这条路的人来说是有参考意义的价值。
举个例子,他将独立开发分为以下几个步骤:灵感、构建、启动、增长、商业化、自动化、退出;我见过绝大多数的开发者,在项目的一开始可能只想到了灵感,就开始构建,但从未思考过后续的启动增长和商业化的问题,导致辛辛苦苦做了很多事情,才发现完全没设计好商业化方案,不得已关停。

给大家看的搜索引擎营销书

豆瓣:https://book.douban.com/subject/4926710/

这本书主要介绍的是 SEM 相关的话题。在和很多朋友聊的时候,都提到了如何低成本的获取流量,然后从中盈利;那我认为你非常需要看看这本书。虽然 SEM 是花钱的,但只要你的 ROI 是正的,SEM 也未尝不可,不要抗拒花钱的(当然,应该设置止损线,特别是你刚开始的时候)。

这部分书会教你如何设计你的 SEM 方案(但不包含具体的投放方案,整体的思路可以借鉴,然后自己动手去投放)。

这本书没有电子版,也已经停止印刷了,但我强烈建议找来看看。

一个 App 的诞生

豆瓣:https://book.douban.com/subject/26865230/

这本书比较适合【只在应用生产中做过一个细分场景的人】,或者是刚毕业没几年,没经历过一个应用的生产研发全周期的人。这本书能帮助你理解整个应用构建的全生命周期,以便于后续实际开发过程中,不会搞错重心。而且这本书很浅,很快就能读完。

奔跑吧,程序员

豆瓣:https://book.douban.com/subject/30271075/

这本书实际上是被书名耽误了,他的英文书名叫《Hello, Startup: A Programmer’s Guide to Building Products, Technology, and Teams
》。所以,你看到了,实际是一个教你创业的书。

里面涵盖了很多关于创业公司的细节的内容,包括管理、数据、营销等一系列内容,对于软件工程出发的朋友们来说,可以帮你补全你的一些基础认知和概念。

书摘

那么,什么样的环境可以激励人们产生新的点子呢?因人而异,但最常见的要素有这么一些:·给自己充足的时间;·记录点子日记;·解决问题;·放下工作;·添加约束;·寻找痛点;·与他人交谈。

想要拥有好的点子,最重要的一个因素就是要先有很多很多的点子。当然,这里隐含的意思是,如果想要拥有更多好的点子,你也要有更多不好的点子。这个观点是有研究支持的,麻省理工学院和卡耐基梅隆大学的研究发现,产生不同寻常的点子的最佳方式并不是提高点子的平均质量,而是提高它们的差异性。

一人企业

豆瓣:https://book.douban.com/subject/35293067/

这本书我最早看的是台版的。推荐给大家,介绍了关于一个小规模公司和如何持续保持一个小规模的手段和问题。独立开发者毫无疑问是一人企业的 MVP。如果你能够以一人的状态发展、持续学习和发展,那么长期就一定是站在你身边的。所以,just read it。

书摘

相反,你可以建立一个小到没法倒闭的企业。你可以让一个“一人企业”度过经济衰退,不断适应客户的不同需求,通过保持小规模、保持专注力来规避竞争,以低成本来获得利润。

在确定最低可行利润时——你的企业在没有负债的情况下正常运行的界限(下称MVPr)——要记住这个数越小,你就能越快实现。所以你首先要把重心放在核心业务上,降低成本和开销,确保公司能小规模经营。

网站创富:从搭建、管理到营利

豆瓣:https://book.douban.com/subject/26676379/

在绝大多数独立开发者的语境当中,搞的都是「做产品,然后售卖产品」。但我坦诚的讲,不是每个人都具备做产品、卖产品的能力的。如果你没有能力自己做一个产品,那么不妨先从做广告营销的路径上走,先为互联网提供信息,然后售卖这些信息所带来的流量(就像你常见到的 B站视频广告、公众号广告,其实都是这个业务模式)。

如何在 Google Analytics 4(GA4) 查看 Referer URL ,获取来源地址

作为统计站的第一,这个 Blog 也挂了 GA 4 作为统计。如果你希望知道是谁在推荐你的 Blog,一个很好的办法是查看 HTTP 的 Referer 的 URL,来判断哪些人在哪些地方推荐了你。

不过 Google Analytics 在升级到 GA4 之后,查看 Referer  变得麻烦了不少,没办法直接通过预置的看板来查看。这篇文章就是帮你找回丢失 Referer URL。

具体操作步骤

一、登录 GA 4 ,找到你的站点;点击左侧的「探索」,进入到探索页面。在探索页面点击「空白」,来创建一个新的探索看板

    image

    二、新的探索页面,选择维度这里,新增两个维度和一个指标

    维度:网页引荐来源网址网页位置

    指标:新用户数

    image

    三、将网页位置和网页引荐来源网址配置到设置中的行,且顺序为网页位置在先,网页引荐来源网址在后;显示行数设置为 500;新用户数配置到设置中的值当中;设置过滤器为网页引荐来源网址包含 //

    image

    四、配置完成后,你就可以看到类似我这样的界面了,在这个页面里,你就可以看到不同的来源给你带来了多少流量;从而进一步的去和对方沟通~

    image
    d2b5ca33bd970f64a6301fa75ae2eb22 12

    PayJS 测试二维码生成工具

    简要描述

    这个工具主要用于生成 PayJS 的测试支付订单,在 PayJS 官方不提供测试订单工具之后,可以使用这个工具来生成测试订单,简化操作。

    下载地址

    截图

    d2b5ca33bd970f64a6301fa75ae2eb22 12
    未生成二维码效果
    d2b5ca33bd970f64a6301fa75ae2eb22 13
    生成二维码效果

    更新日志

    0.0.3

    • 设置 key 为密码类型,保护信息安全。

    0.0.2

    • 支持 payjs 生成 1 分钱订单,并展示二维码。
    b29692084bbb

    什么是我眼中好的开发者产品的文档?(一)

    我自己作为开发者使用过很多的开发产品,也看过不少的文档。最近频繁受邀针对不同的产品的文档提出建议,单独写这样一篇文章来说明一下我觉得什么是好的文档。一方面,可以帮助更多的开发者产品变得更好,另一方面,也可以用于自省,我自己在设计产品时是否会有类似的问题。

    不过也需要注意,这篇文档仅涉及 「Guide」和「API Documentation」的部分,对于更多的 Changelog、Example、Tools 、 SDK 则没有涉及,这部分留待后续再写。

    本文当中参考了包括:Notion 开发者文档微信小程序开发者文档声网 Agora 开发者文档WordPress 开发者文档飞书开发者文档等开发者产品。

    API Documentation vs Guide

    其实不少的产品文档写的都是 API Reference ,而不是 Guide,二者在实际的使用意义上是有所不同的。

    • Guide 帮助开发者快速上手一件事,从 0 开始,完成一件事。这是「用户视角」
    • API Reference 则是告诉开发者你能使用我的产品做什么事情。这是「平台视角」

    一个好的文档应该是二者兼备的,这样才能一方面降低开发者的进入门槛(Guide 负责),另一方面, 可以让开发者可以知晓能力的范畴,帮助开发者尽可能拓展的应用边界,创造出美好的体验和新的世界。

    一个好的 Guide 应该是什么样的?

    这里我们以 Notion 的文档为例:

    1. 一个好的 Guide 应该尽可能的显眼 & 好找

    作为一个新的开发者,进入一个新的开发者平台时时迷茫的:“我应该做什么?”、“我应该看什么?“

    这时一个明确的「Guide」、「Get started」可以帮助我们快速找到一个开始的锚点,这个锚点会成为开发者在这个平台中开始进行的下一步。

    d2b5ca33bd970f64a6301fa75ae2eb22 11
    Notion 开发者文档首页中 Guides 的入口
    d2b5ca33bd970f64a6301fa75ae2eb22 12
    微信小程序开发者文档中的指南的入口

    2. 一个好的 Guide 应该有明确的步骤描述 & TOC

    开发者在进入一个新的平台时,需要的是「快速跑完流程,以熟悉平台的各项基本功能」,而不是需要了解到所有的能力(如果开发者已经非常熟悉你的产品,其实根本不会看 Guide,直接去对应的 API Documentation 查看实现了)。

    一个明确的步骤描述和 TOC 可以帮助开发者降低心理压力,并让用户找到自己所在的位置,进行下一步的推进。步骤的名称也非常的重要,一个清晰明确的步骤,可以帮助开发者快速明确自己要做什么事情,不会产生疑惑。

    d2b5ca33bd970f64a6301fa75ae2eb22 13
    Notion 文档当中对于步骤描述
    d2b5ca33bd970f64a6301fa75ae2eb22 16
    声网文档中关于步骤的描述

    此外,也需要注意,步骤不建议太多,可以移除掉那些非核心的步骤,重要的是帮助用户跑通开发流程

    3. 一个好的 Guide 应该是场景相关的

    开发者在使用产品进行产品开发时,会有明确的预期,我要做什么事情。但产品需求和平台的能力是不同的。我们很难将产品需求和平台能力直接挂钩,这时就需要开发者盲人摸象般在整个平台上搜索和查看,找到适合自己的文档。这个时候,如果有一个场景相关的 Guide,可以帮助开发者快速找到适合自己的场景,并进行文档的细分。

    在这些文档中,你的目的是帮助开发者快速了解在你平台上某个方向的能力、核心概念和如何组合你所提供的能力,帮助开发者快速实现自己的业务诉求。

    d2b5ca33bd970f64a6301fa75ae2eb22 15
    Notion 文档中的场景化文档
    d2b5ca33bd970f64a6301fa75ae2eb22 18
    微信开发者平台的场景化介绍

    一个好的 API Documentation 应该是什么样的?

    如果说 Guide 是开发者进入一个平台的时候最基础的教程文档。API Documentation 则是一个开发平台中最为核心的部分了,开发者每天都需要与 API Documentation 打交道,以完成一项工作,如果 API Documentation 做的不好,那对于开发者来说,简直就是一个灾难。

    1. 一个好的 API Documentation 应该是组织合理的

    API Documentation 当中往往包含了大量的信息,那么合理的拆分不同的 API 的模块,可以帮助开发者无需遍历所有的 API ,而是直接按照模块逐级查找自己所需的 API 即可,可以有效的提升查找的效率。

    d2b5ca33bd970f64a6301fa75ae2eb22 19
    Notion 文档当中按照业务模块拆分的 API Documentation

    2. 一个好的 API Documentation 应该具备所涉及到的各项数据结构的说明

    对于复杂的 API 接口来说,参数/返回值往往不仅仅是一个简单的 Integer 、String ,还会涉及到一些更加复杂的结构化数据的定义。

    一种选择是将这种复杂的结构化数据抽象出来,成为一个新的类型;另一种选择是每次都解释一遍。显然,根据软件工程的 “DRY” 原则,我们应当将其抽象出来。在将对应的数据结构抽象出来后,需要注意的是,将其放在一个明确的位置进行展示和说明。原则上,这些结构的说明应该先于具体的接口说明。

    d2b5ca33bd970f64a6301fa75ae2eb22 20
    Notion 文档中的 Database Object 的位置说明
    d2b5ca33bd970f64a6301fa75ae2eb22 21
    WordPress 文档中关于返回类的定义描述
    d2b5ca33bd970f64a6301fa75ae2eb22 22
    WordPress 中在返回值中说明的错误类的入口

    3. 一个好的 API Documentation 应该提供相应的 Sample Code

    对于开发者来说,Talk is cheap, show me code。而在开发领域也是同样的。你提供的 Sample Code (甚至是在线的调用测试),都可以帮助开发者更好的理解相关的能力和开发逻辑。

    所有的细节,都在 Sample Code 中一览无余。

    d2b5ca33bd970f64a6301fa75ae2eb22 23
    Notion API Documentation 中生成代码的部分

    4. 一个好的 API Documentation 应该可以提供上下游关系

    在 WordPress 文档中,有一个我非常喜欢的功能就是 Related 。Related 内部分为 Uses Used By,分别介绍了某个函数都是用了哪些函数来完成自己的功能和哪些函数使用本函数完成自己的功能。

    d2b5ca33bd970f64a6301fa75ae2eb22 24
    WordPress 文档中 Related 的部分说明
    d2b5ca33bd970f64a6301fa75ae2eb22 28
    声网文档中关于 API 上下游的描述

    伴随着 Uses 还提供了这个函数的源码(不过这个对于平台类型的产品不能直接照抄),这样我可以非常清晰的参考这个函数的 Uses 和源码,以了解这个函数是如何实现自己的功能的。这样当我需要的时候,就可以非常方便的基于这个函数,改造出一个我自己使用的函数。

    而 Used By ,则提供了其他的函数是如何使用这个函数的。对于一些我比较陌生的函数,可以直接参考其他函数的用法。从某种意义上来看,这是比测试用例更加全面的用法的说明,因为这是在“生产环境”下的用法。

    我们在开源世界如果没有文档,会看测试用例,那么在 WordPress 当中,我会看的是 Used By。

    5. 一个好的 API Documentation 可以提供用户之间的沟通渠道

    我在 WordPress 开发者文档当中,还会常用到的一个功能是 —— User Contributed Notes。这个功能为开发者提供了一个基于函数的共建笔记。开发者可以自发的在其中撰写自己针对这个函数的开发经验。

    d2b5ca33bd970f64a6301fa75ae2eb22 25
    WordPress 文档中 User Contributed Notes

    当我在不知道某个函数应该怎么使用的时候,我往往会去 User Contributed Notes 去找找看,看看别人是如何使用某一个函数的。官方的文档往往无法跳出「我有什么」的思路,而用户的共建笔记则可以共享出开发者使用某个函数的「奇技淫巧」。这些「奇技淫巧」让开发者的产品显得与众不同,也可以进一步的扩大产品的范畴。

    总结

    一个好的开发者产品文档是什么样的我很难定义,但至少上述的这些点,确实让我使用这些平台的产品在开发应用和业务的时候变得更加坚定。希望我的这些笔记,可以帮助到你,让你也可以涉及出一个好的开发者文档。

    person holding black and white electronic device

    独立开发者可用的支付方式

    我会关注一些个人可用的收款方式,核心支付要解决的问题是在开发产品过程中,必须要用到的各项基本技能。如果支付流程无法打通,独立开发者的商业模式就会遭到最直接的打击:你如何赚到钱?

    可能你会想,我难道不能使用广告的方式来赚钱么?

    当然可以,但与直接向最终用户收款的方式相比,显然,广告赚到的钱不过是蝇头小利。

    此外,我也说过,广告赚钱是非常少量的,因为你拿到的本身就是平台收益中的一小部分。此外,广告还有一个问题是与流量相关的,你必须不停的想办法获取流量,并将流量转化,这对于独立开发者而言,并不友好。因此,我并不看好以广告为基础的独立开发产品模式。

    故而,我十分在乎收款流程的通畅。

    其实想想也能明白,你会发现国内独立开发者大多出现在 iOS、Android 等移动应用开发平台上,这里很难说没有平台提供的收款渠道带来的价值。

    所以从这个角度而言,我也建议大家可以适当关注一些收款渠道,以便你自己后续使用。

    为什么不注册公司,自己接入渠道?

    当提起这些第三方渠道的时候,大家经常会说,诶呀,你这个收款平台的费率好高啊,你看看支付宝官方,只有XXX。

    我觉得,这个事情如果只对比收款费率的话,过于单纯。

    实际上,支付宝官方、微信支付官方往往需要企业资质才能开通。而你开通这些账号所支付的成本,远超你当下的收入。

    你用你前期的收入,养活了代注册公司、代记账公司。早期其实完全没有必要,你大可以用这些平台完成前期的冷启动,启动完成,有了长期收入,你的收益足以支撑你继续后续的工作,再替换不迟。

    我关注到的收款平台

    面包多 Pay

    https://mbd.pub/

    PayJS

    https://payjs.cn/

    XorPay

    https://xorpay.com/

    person using MacBook pro

    云计算的增长在 SaaS

    我一直以来,都很喜欢诸如 LeanCloud、Firebase、云开发这样的产品,这背后的逻辑是「随着云计算的成本不断下降后,下一步发展起来的是各样的 SaaS 产品」。

    这些 SaaS 产品的建设,和过去相比,基础设施的发展使得开发一个 SaaS产品变得比以前简单太多了。

    如果你需要服务器,无论是阿里云,还是腾讯云,甚至是面向全球的 AWS、Azure,都是你只需要花钱就可以买到的。

    如果你需要邮件系统,SES、Mailgun、Postmark,各种不同的产品,让你的开发变得无比的简单。

    你需要做的,只是找到你自己的 niche,然后针对这个 niche ,开发一款产品,并将你的产品推出,并发布上市,将你的产品售卖给你的客户。

    很多时候,我们在看云计算的市场的时候,如果我们关注的是 IaaS,基础设施,我们就会发现,我们面对的往往是那些旧有的,已经存在的市场,他们会使用我们的产品,来替代曾经的产品。但同样的,我们的产品也会被成本更低的 IaaS 产品所替代。

    我们要的是旧有的产业,还是那些新的产业?面向一个已经存在的百亿市场,还是一个未来会爆发的千亿市场?

    cars parked on parking lot during daytime

    好风凭借力,送我上青云

    对于如今的开发者们来说,已经处在一个很好的时代了,他们拥有着丰富的基础设施,这些基础设施,让我们可以以更加低成本的方式,来构建我们自己想要的产品和工具。

    我们站在巨人的肩膀之上,构建属于我们自己的产品。

    为什么我们一定要完全自己去构建一个产品呢?从国家的角度来说,这样情有可原,而从个人的角度来说,借助这些基础设施来构建一款产品,才是最为实际的。

    我们需要自己从 0 开始建设一个云服务么?当然没必要,我们可以使用阿里云、腾讯云、AWS、Azure,你可以使用任何一个云服务厂商为你提供的基础设施,构建自己的产品,直到他们无法满足你的那一刻。

    turned on black Android smartphone

    从给项目不买域名做起

    我是一个灵感非常丰富的人,所以我总是会有各种奇奇怪怪的想法,并且试图将其转换为一个实体的项目(工程师的身份赋予我将其从灵感变为现实的可能,而产品经理的经历让我可以关注一个产品最为重要的是,至于说运营的工作,让我可以把一个项目从 0 开始推广)。

    而我过去的一个毛病是,当我有了灵感后,会先试着去买一个域名。但,购买域名并不意味着我一定能把这个项目做完,大部分时候我会注册一个域名,然后,放一年,直到他过期。久而久之,我就有了几十个域名。。。

    d2b5ca33bd970f64a6301fa75ae2eb22 7
    我现在共持有 58 个域名

    所以,我在思考,在后续的新的项目中,我将会启用项目代号制,先不思考项目名是什么,以及应该用什么域名,而是先尽全力将自己的 MVP 跑通,以及完成功能假设和市场假设。

    所以代号从哪来呢?不妨从一些经典电影中找找灵感吧,最近看一些英文电影,然后从英文电影中寻找答案。

    person working on blue and white paper on board

    关注体验,而不是关注效率

    今天和我的广告主,芦笋的创始人晓力聊了很多,其中聊到独立开发者的工作,我提到了一个概念:

    作为独立开发者,我们需要关注产品的体验,而不是关注产品的效率。因为在效率的追求上,我们一定不如大公司能够在这个事情上做的更好,在这种情况下,做一个更具备“个人特色”的事情,会让我们在一件事上走的更远。

    个人特色意味着独特的品味和体验,这种独特的品味和体验,将会引导用户持续使用。而这些独特的品味和体验,将会是留下我们的用户的重要的部分。

    white and brown city buildings during daytime

    抖音和快手的区别

    前几天和一个做投资的朋友聊到了抖音和快手,谈及二者的不同,我是这样评价的。

    关于抖音

    谈及抖音,需要看字节跳动的企业文化和张一鸣在做的事,字节跳动的使命叫「Inspire Creativity, Enrich Life」,中文「激发创造 丰富生活」。

    这句话没啥问题。不过,如果你和张一鸣做今日头条的逻辑一起来看的话,就能明白抖音提供的价值。

    张一鸣认为,现有的推送机制,按时间推送的机制(如微信公众号),信息触达目标用户的效率太低,所以做出了今日头条,希望通过机器算法的机制,来优化信息触达目标用户。

    而抖音,从产品形态上来看,就是视频版的今日头条。依然依靠强算法推荐,让「引擎觉得对你有用」的产品,出现在你的面前。

    至于说,激发创造,丰富生活,其中是没有「人」的存在的。当然,是激发每一个人创造,丰富每一个人的生活,但本质上是推荐引擎将数据推荐给每一个人。引擎不在乎内容是谁做的,他只在乎内容对目标受众有价值。

    这也解释了,抖音上为什么往往是一个网红需要不断的跟进潮流,出新的内容,产出新的价值,才能持续产生收益。

    快手

    同样是短视频平台,快手讲究的是「快手是记录和分享大家生活的平台,每天产生上千万条原创新鲜视频」。

    快手虽然也有推荐引擎,但在快手当中,首先核心概念是每一个快手主播,数据和信息以主播为核心进行推动。

    在快手的世界,以「人」为本,不太在乎算法。如果你关注了某一个主播,他产出的内容会强推荐给你,让你可以持续看到。

    从这个角度来看,快手其实在做的事情「很互联网」,和我们曾经使用的 Feed 流非常接近。

    我的评价

    二者我都不抗拒,我用抖音搜索我想要的信息,它可以产出我最需要的信息,很好的承载了一个「视频版搜索引擎」的角色。而快手则会成为我的工具,因为他以我为中心,展现我的价值,是一个创作者的助手。