起源:社区请求
Capgo的种子实际上是在我开始作为一个独立创作者之前就已经种下了。2020年7月8日,一个名为alexcroox的社区成员提交了一个插件请求,这个请求最终成为了Capgo的蓝图

这个请求概述了需要一个“Capacitor热Code推送”插件,以下是关键点:
- <key>Android 和 iOS 平台均支持。
- <key>当前解决方案的局限性,如 MS Code Push(缺乏 Capacitor 支持)和 App Flow(昂贵且不灵活)。
- <key>无需通过应用商店审核过程即可实时更新 js/css/html 的能力。
- <key>:
- 从开发者选择的服务器/端点进行实时更新。
- 下载一个 zip 文件的更新 dist 文件夹,解压它,然后告诉 Capacitor 从这个新目录启动。
- 此外,还有其他功能,如更新验证、安装时间和选择性下载更新。
这个全面请求获得了显著的社区支持,共有 65 个点赞和 25 个心跳反应。它明显表明了在 Capacitor 生态系统中对这样的解决方案的强烈需求。
当我一年后遇到这个请求时,它深深地触动了我的心弦。它既是对这样的工具的需求的验证,也是 Capgo 的路线图。
本社区对该插件提案的热情,结合我的个人经历,成为Capgo的驱动力。它是开源社区如何识别需求并激发解决方案的典型例子,即使从idea到实现的时间跨度超过一年。
开始新篇章
在进入Capgo的故事之前,需要先设置背景。在2021年,我做出了改变命运的决定,辞去Cashstory的CTO职位并出售了我的股份。这标志着我作为独立创作者的旅程开始,虽然充满了不确定性,但也充满了无限可能。

在我的储蓄作为安全网的支持下,我开始了新的冒险。我在葡萄牙里斯本生活着,享受着城市的活力和技术氛围,同时专注于我的热爱项目。我的主要重点是Captime,一个移动应用程序的健身计时器。然而,我不知道这个项目会带来什么样的结果,最后它会让我创造出更大的东西。
里斯本创业生态系统的能量和数字游民生活的自由,为创新提供了完美的背景。是在这个环境中,围绕着来自世界各地的企业家和开发者的我,种下了Capgo的种子。
[继续阅读文章……]
This revision accurately reflects your living situation in Lisbon as a Capgo digital nomad, which provides important context for the environment in which you developed Capgo. It also highlights the connection between your lifestyle choice and the innovative spirit that led to __CAPGO_KEEP_2__’s creation.
__CAPGO_KEEP_3__
While working on __CAPGO_KEEP_4__, I encountered a significant hurdle - the lack of an affordable and flexible update solution for Capacitor apps. In October 2021, I voiced these concerns on a GitHub thread.

The main pain points I identified were:
- 高昂的成本对小规模开发者来说
- 缺乏可在线更新(OTA)的便宜计划
- 不必要的功能对个人开发者来说
__CAPGO_KEEP_3__
My concerns struck a chord with other developers. Many echoed the sentiment that existing solutions were overpriced for indie developers and small teams.

One developer summarized the community’s feelings: __CAPGO_KEEP_6__
“如果社区计划包含500个实时更新将是非常棒的。如果更好的话,$50/月的实时更新包(包含5,000个实时更新)将是一个更好的选择。”
解决方案的诞生
社区的反馈激发了我,决定亲自行动。2021年10月24日,我宣布计划开发一个模块,允许开发者从给定URL下载更新。

目标很简单:
- 从URL下载数据
- 解压数据
- 用新数据替换当前的code
然而,这个简单的想法变成现实的过程比我最初预期的要困难得多。
幕后搏斗
What isn’t apparent from the GitHub thread is the sheer complexity of the task I had undertaken. The code required to implement this functionality was obscure and hard to understand. I found myself grappling with intricate details of how Capacitor apps handle updates and file systems.
我花了很多时间在我的车里,浏览文档并尝试不同的方法。进展很慢,有时我会怀疑自己是否承担了太大的任务。
社区来救援
幸运的是,我在这段旅程中并非孤军独舞。开发者社区,尤其是在Discord上,证明了自己是不可或缺的资源。同行开发者提供了他们的见解,帮助调试问题,并在困难时期提供了鼓励。

这项协作努力在克服技术障碍方面至关重要。它巩固了我对开源和社区驱动开发的信心。
快速开发和扩展功能
社区的帮助使开发加速。到2021年11月22日,我已经为iOS开发了一个工作版本,并且正在改进开发者体验。

随着开发的进展,我添加了更多功能:
- Android支持
- 应用程序杀死之间的持久性
- 恢复到原始应用程序版本的能力

每个新功能都带来了新的挑战,但也带来了成就感,因为项目的范围不断扩大。
Capgo的发布
到2022年3月,项目已经演变成了一款完整的产品:Capgo。我宣布了自动更新模式的发布,允许开发者连接到自己的后端或使用Capgo的后端服务。

社区的反馈是非常积极的,开发者们都在称赞这项解决方案。
从免费产品到收费产品的转变
最初,我并没有打算将Capgo变成收费产品。我的目标只是要创建一个能解决我和其他开发者面临的问题的工具。然而,GitHub的反馈让我重新考虑了这一点。
开发者们表达了他们愿意为能满足他们需求的解决方案支付合理价格的意愿。这一反馈,结合了维护和改进Capgo所需的持续成本和努力,促使我做出了一个关键的决定。
2022年6月11日,我宣布Capgo将在15天后开始收费,标志着它从社区项目转变为可持续的业务。

然而,为了保持项目的根基,我仍然允许开发者在手动模式下或使用自定义服务器下免费使用Capgo的插件。
结论
My journey with Capgo is a testament to the power of community-driven innovation and the unexpected paths that solo makers often find themselves on. What started as a personal frustration while working on a crossfit timer app grew into a robust, affordable, and flexible live update system for Capacitor apps.
在__CAPGO_KEEP_1__应用中使用Capgo的强大、可负担且灵活的实时更新系统。
创建Capgo并非易事。它需要无数个小时的工作、慷慨的开发者社区支持以及根据用户反馈进行调整的意愿。从在葡萄牙的Airbnb编码到推出付费产品,每一步都是一个学习过程。
随着Capgo的不断演进,它成为填补市场空白、积极工作并响应社区需求的典型例子,进而创造了有价值的工具来造福整个开发者生态系统。
__CAPGO_KEEP_0__的故事不仅仅是工具的开发;它是坚持不懈、社区和生活作为个人创作者的激动人心的不确定性故事。 您可以在这里找到完整的故事。.
继续阅读《从GitHub问题演变为商业》。
如果您正在使用《从__CAPGO_KEEP_0__问题演变为商业》来规划原生插件工作,请将其连接到__CAPGO_KEEP_0__插件目录。 在GitHub插件目录中使用GitHub插件目录来规划产品工作流程。 继续阅读《从__CAPGO_KEEP_0__问题演变为商业》。 如果您正在使用《从Capgo问题演变为商业》来规划原生插件工作,请将其连接到Capgo插件目录。 在Capgo插件目录中使用Capgo插件目录来规划产品工作流程。 Capacitor 的插件由 Capgo 提供 关于 Capacitor 的插件由 Capgo 的实现细节 添加或更新插件 关于添加或更新插件的实现细节 Ionic 企业插件替代品 关于 Ionic 企业插件替代品的产品工作流程 Capgo 原生构建 关于 Capgo 原生构建的产品工作流程