好久没见!我已经休息了一年多啦。
我没有太多时间来写博客,因为我大部分时间都在忙于我的SaaS项目和在法国社交媒体上的内容创作。
无论如何,让我们深入探索如何构建您的 SaaS 或微型 SaaS,找到最合适的方式和最适合的技术栈。
我会涵盖从前后端、基础架构到支付,这些方面还包括很多人容易忽视的地方。
但你可能在疑惑…
我有什么资格给你SaaS的建议?总之:
- 大学毕业后,我已自由职业11年了
- 从2019年起,我已经推出了6个微SaaS和2个SaaS,总营收达到120万欧元(约1.2M€)
我现在靠我的工作生活,并从法国搬到了台湾,因为我喜欢待在亚洲,特别是靠近日本。
在独立开发前,我是一名全职自由职业者,主要为初创公司工作过,所以我见过许多能让项目顺利进行的因素,但也有些不足之处……
出错了!
所以我对SaaS、小型SaaS项目或只是启动项目很了解。
那么,开始一个SaaS(软件即服务)的最佳方法是什么呢?所以重点是,在考虑技术之前,你需要先专注于三件重要的事情。
- 正确定义你要解决的问题,因为这将帮助你选择合适的工具来完成正确的任务。
- 正确定义你的目标受众,知道你在为谁构建产品非常重要。
- 早期制定你的营销策略,因为这将帮助你选择合适的工具来完成正确的任务。
一旦这三件事弄清楚了,你的这种SaaS通常就需要参考这个列表。
- 营销网站或页面
- 你要构建的工具(包括设计和技术)
- 支付网关
- 分析工具
- 托管服务
现在来说,构建SaaS营销网站最好的方法是什么呢?
很多程序员在这里会栽跟头。
如果你要推出一个新产品,就要“快速推出”,不要把事情复杂化。
快速发送是什么意思?是指快速发送烂代码吗?当然不是。
快速上线意味着做出选择。从而更快地验证产品是否符合市场需求,看看产品是否得到市场认可。
选择来测试你的核心理念,并解决可能存在的技能问题。
但是如果我的项目突然火起来,该怎么办?关于扩展性问题呢?
别高兴得太早,万一项目失败了,你有钱或者有名气也解决不了问题。
别试图去干预一个无法预测的未来。
对于一个营销网站,以下是一些最有效的方法:
- 确保网站加载速度快,以提升用户体验。
- 采用吸引人的视觉设计。
- 提供清晰的行动号召(CTA)。
- 定期更新内容,保持网站的新鲜感。
- 优化网站,提高搜索引擎排名。
为什么?所以一个网站内容管理系统会自带很多主题供你使用,因为你可能对设计不太拿手。
当您的项目发展壮大起来并且您开始委派任务或有了一个共同创始人时,第三方处理内容的更改会变得更容易。
它大多数时候自带SEO和营销功能,这些功能你经常会忽略自己去实现。
我一般用WordPress,因为我对它很熟悉,但对于新手,我建议Framer或Webflow。
2. 如果项目包含必须在营销网站上展示的复杂功能,那么使用服务端渲染技术。比如说你在建一个像 Airbnb 这样的平台,虽然它不是 SaaS,而是一个市场,但这点并不重要。
如果你在打造 Airbnb,你希望用户在营销网站上能进行操作,并展示应用中的相关内容。
因此,这里有一个罕见的例外,我建议你在你最喜欢的框架中这样做,比如用 JS 和 Next,或者 PHP 和 Laravel,再或者 Python 和 Django 等等。
随便,只要是由服务器渲染的就行。
我看到很多人只用客户代码来做营销页面,这样做不太好,除非你根本不关心SEO的长期效果。
对于设计时,使用像 DaisyUI 这样的易用且可定制工具,它可以与 Tailwind 配合使用,或者如果你在用 React,可以试试 Shadcn 和 Magic UI。
目标是使用对用户体验友好的东西,并具备一些不错的基础用户界面,所以如果你愿意稍微投入一点,TailwindUI 很不错,值得一看,或者你可以尝试 Untitled UI 的设计,这也相当不错。
3. 快速生成靜態頁面,如 Astro、Nuxt 或 Next 這類的 SSG,並使用無頭 CMS 或本地文件作為內容來源只会在你的营销页面需要一个简单轻便的东西,并且这个东西还需要能够通过 API 调用你的数据时,我会建议你使用它。你的应用需要用到非常特定的功能,且这种情况下,我的建议才成立。
对我来说,Astro 是最好的SSG,毫无疑问,不过你可以用任何你擅长的角色。
正如我说的,快速交付需要做出选择,其中一个选择是在你熟悉的东西和容易上手的东西之间找到效率的平衡。
对我来说,这就是 Astro,因为它容易上手且性能出色,但对你来说,可能因为你的技术水平不同,会选择别的东西。
静态网站的一个好处是它免费托管,或者几乎免费,即使需要大量扩展也很便宜,在Cloudflare Pages、S3存储桶或共享主机上也是如此。
我个人使用PlanetHoster之类的共享主机,它每年几乎不用花钱,支持多个域名,可以提供带有我域名的自定义邮件账户,并且可以高效地托管WordPress或静态页面。
那来说,构建SaaS本身最适合的技术栈是什么?好吧,这里有你需要知道的信息:大约有三种类型的项目:
- 内容为主导的项目
- 后端为主导的项目
- 前端为主导的项目
内容密集型项目的一个例子是像 ProductHunt 或 Netflix 一样的平台。
这些主要是内容应用,通常会采用付费墙或其他任何盈利模式。
我一般用Directus、Strapi或Contentful这类工具。
我们用Contentful继续我们的“foreignrap.com”项目,这是我朋友推荐的。
不过,我也有一些项目是用 Laravel 和 Nova(一个管理界面工具)的。
重点是,想想你在哪个领域最擅长。
要么学一个你喜欢语言的无头CMS,这种CMS可以扩展来适应特定需求;要么用你熟悉的后端框架,找一个能生成后台的插件试试。
不要自己重新建造整个管理后台,这与快速交付完全背道而驰。
对于后端任务繁重的项目我这里有两种思路:
- 我的第一个选择是我最喜欢的编程语言搭配框架,对我来说是 Laravel,因为它有很多好用的库,能够快速上手项目
在 Node 生态系统中,我推荐 Adonijs 或者 Next、Nuxt 和 Svelte Kit,如果你真的精通这些框架。
在 Python 生态中,你通常会选择 Django,特别是因为它可以轻松地集成到 Wagtail CMS 中。
在 Ruby 生态系统中,当然是 RoR(Ruby on Rails)。
对于其他人来说,只需要找到一个全栈一体化的框架,这样就可以节省你在认证、ORM等方面的时间,比如不用自己从头开始做用户认证和对象关系映射。
不要过度设计,如果有的话。如果没有现成的框架,就使用一些现成的代码。目标是以最快的速度交付代码,使之能够支持基本的扩展。
- 我的第二个选择是使用类似 Supabase、Appwrite 或其他任何其他 Backend as a Service,只要代码不变得太乱就行。
这类工具最大的优势在于扩展性和配置速度,自带了大量可以直接使用的功能。
最大的缺点就是供应商锁定,但对于 Supabase 和 Appwrite,如果你真的遇到这种情况,你可以自己搭建和托管它们。
Supabase 自己部署挺难的,但 Appwrite 就简单多了。
前端工作量大的项目这其实挺简单的,用你选的前端框架和一个主要作为数据库使用的BaaS。
Firebase、Supabase、Appwrite等等。
你大部分的逻辑都会放在前端。
事实上,我有三个小型SaaS,用户在浏览器中完成任务,我也提供一次性使用服务,所有数据都存储在本地存储中。
这三个微型SaaS工具在三年里总共赚了大约76,000欧元,几乎没有做任何更新,因为这些工具非常简单易用。而且不需要太多维护。
超过15000笔支付交易由Stripe处理,所有这些应用都托管在像PlanetHoster这样的共享主机上。
在这些类型的项目中,人们往往会过度设计得太多。
保持简洁,直接解决客户最核心的问题。
一个简单的前端和一个云函数就足够处理支付了。我甚至在一个共享主机上的项目中用一个简单的 PHP 脚本来处理支付,就这样。
Firebase 负责认证,前端处理逻辑,这已经完全够用了。
很多人往往会忘记这一点,但共享主机和SQLite数据库只要你的应用响应迅速,就能处理不少事情。
就像我之前说的,对于前端主导的项目,因为大部分操作在客户端进行,我的服务器端几乎不做什么,所以我通常这样处理。
设计方面怎么样?对于设计,使用易于使用和定制的工具,例如可以与 Tailwind 配合使用的 DaisyUI 之类的,或者你如果使用 React,可以考虑使用 Shadcn 和 Magic UI。
目标是使用用户友好的东西且具有不错的基本用户界面,所以如果你愿意投入一些资源,TailwindUI 也是个不错的选择,或者你可以试试 Untitled UI 的设计,它也很棒。
我个人来说,我大多数的设计主要使用Bulma CSS或Tailwind UI,或者是为非常小的需求编写自定义CSS。比如那三个赚了超过70欧元的SaaS。
主要需要确保用户体验良好,并且可以快速做到,同时也要关注你的竞争对手在做什么。
其他的SaaS呢?比如支付和数据分析?一旦你的SaaS建好了,当然下一步就是添加支付功能了。
对我来说,最简单的方式是使用Stripe,因为你几乎不用写任何代码。
它提供一个结算页面,包含处理单次支付或订阅的用户界面,并且有一个用于用户管理支付方式的页面等等。
你只需要在你这边主要处理webhook。
柠檬酱也是一个不错的选择,原因相似。
别自己搞支付UI,使用现有的解决方案,这将满足你项目初期的需求。
但最重要的是,你必须在应用程序里每个重要的环节添加追踪事件。
例如,我会跟踪页面浏览次数和FAQ点击次数,以了解哪些内容最受欢迎。
我会在支付按钮的点击事件中添加数据,以便查看点击的转化率以及从点击到支付的转化率。
我会添加一些与我的应用相关的用户行为,比如上传内容等等。
确定哪些用户操作对你来说是关键的,来判断他们如何使用这款应用。
在这一分析部分中,我也包括了例如 Sentry 这样的工具,这类工具能帮助你记录代码中的错误。
以前我常常用Google做一般分析,但现在我觉得Logspot.io更简单。
随意查看其他可以自托管的工具,例如 Plausible,Matomo 也可以自托管。
你需要跟踪用户如何使用应用,收集反馈以便改进它。
一般来说,就托管来说,我通常会选择共享主机、VPS或使用BaaS的无服务器方案,根据项目的类型。这里提到的BaaS是指基于云的后端即服务(BaaS)。
- 对于共享主机:PlanetHoster
- 对于 VPS:随便你喜欢的,我使用 Scaleway,不过 Hetzner 也不错,你可以使用 Coolify 或类似 Ploi 的工具来管理服务器
- 对于无服务器:Vercel、Supabase、Firebase、Cloudflare 或 Appwrite
这里,使用最适合你的方法,无论是你擅长的还是简单易操作的。
关于Firebase和Vercel,从价格方面来说你要特别注意,因为如果你的应用没有很好地针对它们进行优化,可能会有意外的费用,所以一定要设置好费用上限。
结论是:构建SaaS的最佳技术栈是什么呢?正如你所见,最好的技术栈往往是你最熟悉的,尽管我解释了特定用例并说明为什么X或Y可能更吸引人。
很多时候,人们过于关注自己的技术栈,而忽略了他们真正想构建的东西。
我说的不仅适用于做副项目或成为独立黑客(indie hacker),也是作为一个自由职业者为客户决定使用哪个技术栈,或者作为初创团队的一员时的一个很好的方法。
希望对你有用,明年见哦。
想要更多科技内容?点击订阅我的电子报
https://links.maisonfutari.com/订阅更新
またね
zh:掰了
到2025年,构建SaaS或微SaaS的最佳技术组合是什么?
共同学习,写下你的评论
评论加载中...
作者其他优质文章