发布于 2026-01-05 2 阅读
0

我作为一名独立开发者,使用哪些技术栈成功推出了一款产品?DEV 的全球展示与分享挑战赛,由 Mux 呈现:展示你的项目!

我作为一名独立开发者,使用哪些技术栈成功发布了一款产品?

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

你一直梦想成为一名企业家,但却不知从何入手?那些激励你的成功创业公司都拥有才华横溢的工程师、设计师和营销人员组成的团队,而你却感到孤立无援?你觉得一个人根本无法完成产品的开发和发布?

如果您对以上问题的回答是肯定的,那么您应该会觉得这篇文章很有意思。

2019年,我挑战自己,决定利用空闲时间独自开发并推出一款SaaS产品。

为了让大家更好地了解 Pixelixe:我决定打造市面上最易用、最便捷的图形设计工作室。开发一款所见即所得(WYSIWYG)编辑器本身就足够复杂,足以考验我的计算机工程技能。这其中肯定涉及到大量的数学和微积分!太棒了!我兴奋极了!

观看这段短视频,了解更多关于这家设计工作室的信息,或者点击这里免费试用产品(无需注册):https://studio.pixelixe.com

Pixelixe 的视频:

https://youtu.be/yYM7tcOj344

本文将介绍我为创建Pixelixe.com而选择的技术栈。

现在让我们回到正题。要独立开发一款完整的SaaS产品,我必须考虑一些前提条件。为了确保产品能够长期稳定运行,我必须找到方法来减少需要维护的源代码量,并且避免重复造轮子。

在我看来,创建“易于维护”的应用程序需要以下 5 个关键先决条件

  • 依赖自动扩展的基础设施= 无服务器(基于云)

  • 可扩展的核心模块(旨在简化功能创建和演进)

  • 易于部署(一键/一键命令即可完成部署)

  • 涉及的源代码和编程语言并不多。

  • 不要重复发明轮子(老生常谈,但依然适用)

最后一点“不要重复发明轮子”至关重要。所有在线SaaS应用都有一些共同的标准功能。以下是一些示例:

  • 身份验证系统和注册表单

  • 用于按月或按年订阅的支付系统

  • 设置网页

  • 还有更多。

为了避免您日后头疼和费力,无需从头开始创建所需的功能/特性。让我们从“无服务器”方案入手。

无服务器和云基础设施

为了开发我的产品,我使用了 Firebase。Firebase 的定义是:“谷歌的移动平台,可帮助您快速开发高质量应用并发展您的业务”。

Firebase 在移动应用开发者中最广为人知,但它也完全适用于 Web 应用

如果您想了解更多信息,Firebase 提供了一些我用于 Pixelixe 的完全托管服务:

  • 无服务器前端托管,

  • 无服务器数据库(Firestore)、无服务器计算(云函数)

  • 以及即插即用的身份验证机制。

Firebase 本身是建立在Google Cloud Platform之上的,而 Google Cloud Platform 是 AWS(亚马逊网络服务)和Microsoft Azure的竞争对手之一

如今,我希望至少对你们大多数人来说,选择基于云的基础设施是显而易见的。

对于想要推出 SaaS 产品的独立开发者或创业者,我绝对不建议他们依赖专用服务器。几年前,购买基于 Linux 的专用服务器并手动安装所有必需的软件(Java、Python、PHP、Apache、MySQL 等)还很常见。这种方法的主要缺点是,一旦项目上线,你就需要负责维护服务的正常运行。起初,这可能不算太费力,但随着项目的成功,你将越来越难以持续地负责监控和维护项目的基础设施及其依赖项。

例如,在这种情况下,如果您的 Apache 服务器或 MySQL 实例崩溃:您将全权负责恢复它。可以肯定的是,您的用户会感到失望,甚至可能放弃您的产品,并且永远不会再回来。

对于这类静态服务器,为了确保为用户提供最佳服务,您需要自行选择并安装监控系统(例如Nagios),以便在出现问题时收到通知。安装软件监控工具既繁琐又耗时,而您肯定无法承担这些成本。

使用云托管可以彻底解决这些问题。所有云服务提供商,无论是亚马逊云服务 (AWS)、微软 Azure 还是谷歌云平台 (GCP),都提供托管服务,让您可以访问预装了各种编程语言及其主要依赖项和库(例如 Python、NodeJS、Java 等)的虚拟机,开箱即可使用。您无需再监控它们的运行进程,只需专注于您的功能和产品即可。

这才是最重要的!

不仅如此,如今许多托管服务都采用了“无服务器”架构,并具备“自动扩展”功能。“自动扩展”意味着您无需担心应用需要服务的用户/访客数量。即使您的应用流量一夜之间从 100 个用户激增至 1000 万,底层基础设施也会自动扩展并满足所有用户的需求,而您却浑然不觉。当然,您需要支付更多费用,但这确实令人惊叹。服务器不再是瓶颈,您可以真正专注于代码和关键功能,从而尽快发布 MVP(最小可行产品)。几年前,要在专用服务器上扩展应用,必须手动安装、启动和配置服务器,并安装和部署负载均衡工具,这些操作非常复杂且耗时。

而且你猜怎么着,Firebase 甚至连托管和计算的备份都是自动化的。你也完全不用担心!

因此:您无需再聘请系统管理员来部署您的 SaaS 产品,也无需自己接受相关培训来获得这些技能。

如果你不想使用 Firebase,这里有一些我找到的替代方案(不过我没有测试过):

https://cloudboost.io/

https://parseplatform.org/

https://www.back4app.com/

优先处理前端(网页浏览器)处理,而不是后端处理,以大幅降低成本。

我在设计和开发产品时采用的第二个技巧是优先在客户端(即浏览器端)执行复杂的操作和处理。我的应用是一个图像工作室,所以我从一开始就知道在服务器端(后台)处理图像的成本会非常高。此外,我知道我想推出免费增值模式,但我不想在免费版用户身上损失太多钱。

由于服务器端和客户端(主要使用NodeJS和jQuery)都使用了JavaScript,因此可以轻松选择关键功能在哪一端处理。在客户端,您的任务将依赖于用户计算机的CPU和内存(对您来说是免费的)。

基于浏览器的处理 = 对您免费

此外,我用来存储 Pixelixe 数据的 Firestore 数据库是一个 NoSQL JSON 文档型数据库。JSON作为 JavaScript 的原生数据结构,在服务器端和客户端都易于处理。只需使用一种编程语言和同一种数据结构,就能大大简化开发流程。你甚至可以在各个地方复用通用函数。

我很自豪地宣布,Pixelixe Studio 的图像处理完全在客户端完成。因此,我的云服务器成本非常低廉(甚至可以说几乎免费)。

如何注册和验证用户

为了在 Pixelixe 上进行用户身份验证,我再次选择了 Firebase 身份验证。我只需要在 JavaScript 中调用一个 ` createAccountWithEmail`函数即可登录用户,就这么简单。我完全不需要在数据库中创建 `User` 表、加密用户密码或保护他们的个人数据。什么都不用做!我又一次节省了宝贵的时间,强烈建议你也这样做。无论你选择 Firebase 还是其他方案,要登录用户,你只需要记住,只需一个简单的 JavaScript 函数就能在需要时获取“已登录”的用户数据。

如何处理付款和订阅

我使用 Stripe 作为支付平台。Stripe提供 JavaScript 和 REST API,方便用户订阅和取消订阅。您可以在他们的控制面板中设置套餐,他们甚至还提供前端代码插件,可以自动生成信用卡表单,方便用户填写卡片信息。这样一来,您甚至无需自行存储卡片信息。只有 Stripe 可以访问这些信息(您这边没有任何安全风险)。

此外,Stripe 还提供完整的后台管理功能和分析工具,让您可以监控销售进度(MRR、群组分析、流失分析等等)。

几年前我用过PayPal,但感觉用起来挺麻烦的。Stripe(在我看来)设置和上手都更容易。而且,Stripe提供REST API,我的JavaScript前端和后端都能轻松集成。

结论

这篇文章绝对不是 Firebase 或其他平台的赞助文章,即使它看起来像。我只是 Firebase 的忠实用户,这些工具真的让我惊艳。说清楚点,我只是想和读者分享一些技巧和方法,帮助我专注于核心产品,快速发布一个稳定且易于维护的 Web 应用。

当然,本文中介绍的技术工具和框架并非唯一值得关注的工具和框架,但我希望它能帮助一些读者发现新的工具,并有望帮助他们开始编写优秀的产品。

所以,我们可以肯定地说,一个普通人完全可以在2020年独立开发并发布软件。我做到了,而且我知道我不是唯一一个,在开发这个业余项目的过程中,我结识了很多其他的独立开发者。即便如此,我仍然觉得很酷,一个普通人(就像当年的史蒂夫·乔布斯一样)在自家车库里就能启动一个了不起的项目,并最终取得巨大的成功。

Pixelixe正在稳步发展,销售额和流量每月都在增长,这真令人欣喜。我仍然乐于不断改进产品。

文章来源:https://dev.to/thomasthelliez/what-tech-stack-i-used-to-launch-a-successful-product-as-a-solo-developer-1kfk