注意:如果您对Reaction/前端、Firebase、无服务器功能略知一二,并且像我一样吝啬,那么您可能会对这篇文章特别感兴趣。
我们生活在一个富足的时代。对于普通人来说,构建令人惊叹的产品从未像现在这样容易,更不用说开发人员了。
在过去的几年里,无代码运动呈爆炸式增长,Webflow、Airtable、Zapier等工具使得即使是非技术人员也可以构建6-7位数的应用程序/产品。
如果你是技术型的,你有更多的选择。今天的开发人员可以毫不费力地构建伟大的应用程序,几乎不需要任何成本就可以扩展到数十万用户。我们可以通过站在巨人的肩膀上来做到这一点,即通过利用大型科技公司的资源和数千名工程师的智慧建立的服务。
云奠定了基础,AWS,现在GCP和Azure也加入了这一行列。构建在云上的服务相对容易(而且越来越容易)挂钩,而且一开始就非常便宜。
现在,您可以以一百万种不同的方式使用这些服务,并且每个产品/开发人员都有自己的方法。我不是来告诉你们哪个是对的,哪个是错的。坦率地说,没有对错之分。这对你很管用。
但我有一种固执己见的方式来构建我的产品,首先是我对技术堆栈的选择。我认为它很管用,而且更便宜,即使与大多数开发人员在云上选择的传统EC2服务器选项相比也是如此。
我有很多想法,…。他们中的大多数都是坏的或笨的。但在我试过之前我不知道这一点。这就是为什么消除任何摩擦来试用它们是至关重要的。通过建立一个适当的系统来构建你的想法,你可以将MVP的时间从几个月减少到几天甚至几个小时。
有一些东西我几乎总是需要的:身份验证,支付集成,一个基本的网站设置。因此,不管你喜欢哪种技术栈,不管是Javascript、Ruby还是Python,你都应该有一个很好的、最小的和通用的初学者,你可以用它来快速启动构建你的想法的过程。
我们还希望将一些托管服务用于身份验证和支付等方面。这只野兽太凶猛了,我们不能自己处理。我们需要集中精力开发我们的产品,不要陷入这些细节之中。
像FireBase和Strike这样的服务正好提供了我们需要的功能。他们为您处理所有的复杂性。
另一个重要因素是成本。我们生活在一个构建软件成本非常便宜的时代。仅在15年前花费数百万美元和一个工程师团队的东西,现在只需订阅几个托管Saas产品就可以完成。由于技术进步的指数性,我们取得了多么大的进步,这简直是疯了。
然而,建造一个场地仍然是有成本的。如前所述,如果您走传统路线,并希望使用服务器构建站点,您可以在AWS或其他提供商提供的等价物中启动EC2服务器。如果你想做更多的事情,你可以使用Heroku等服务。
但即使是那些也是要花钱的。最便宜的EC2实例仍将在20美元左右。不管你有0个访问者还是1000个访问者,你的费用都是一样的。
对我来说,这笔费用虽然很小,但却是一种精神障碍。重要的是,我可以几乎零成本地部署一些东西,这样我就不必担心任何事情都会上钩。我认为这是我能够非常迅速地生产多种产品的原因之一。
这就是无服务器改变游戏规则的地方。一百万个lambda请求的成本约为20美分(不是美元)。此外,计算运行时成本也很低,但仍然相当便宜。如果你想做的只是让人们登录,并根据他们是否是高级客户向他们展示一两个页面,你可以通过这100万人的几个无服务器呼叫来做到这一点。知道这一点,相比之下,即使是一台20美元的服务器也似乎很贵。
像Gatsby这样的框架允许您在非常便宜的CDN(如Netlify或Vercel)上部署静态站点。仅供参考,Gatsby站点作为CDN上的Reaction应用程序重新水化,所以它最终不是静态的,你可以用它来做动态的事情。
Netlify和Vercel都有慷慨的免费计划,你可以轻松地构建可扩展到数千用户的应用程序,甚至不需要支付任何费用。
这是我的个人技术资料。每个级别都有替代方案。这在很大程度上也可以归结为熟悉程度。
很难描述Firebase,因为它可以做很多事情。它为您处理身份验证(电子邮件/社交媒体登录/密码重置等),但也有一个名为Firestore的托管NoSQL数据库,可以轻松扩展到数百万次读写。
您可以使用它来存储可用于隐藏/显示内容的用户信息。以下是在FiRestore中创建的示例用户对象:
请注意,如果您正在进行一些疯狂的读写操作,则FireBase可能会变得很昂贵。因此,如果您期望一个真正的病毒式应用程序,那么您必须小心您的应用程序的结构,或者请记住这一点。但它们的定价在面值上并不算太差,大多数“常规”应用的定价接近于0。
在功能和开发人员友好的API方面,它真的很难击败Strike。您可以使用更多更易于使用但成本可能更高的托管服务。他们还刚刚发布了一款新产品,名为条纹客户门户,这使得订阅管理变得非常容易!
你应该选择你觉得舒服的衣服,而不是因为它是“酷”的东西。我使用Gatsby作为我选择的前端框架。为什么?这实际上是因为我非常了解这个框架,而且我喜欢他们的插件系统。是的,Next.js是现在流行的Reaction框架,如果你喜欢它,一定要使用它,但是如果你是Ruby on rails专家,那就不要随大流了。坚持你所知道的。
另一个原因是性能。我得到了近乎完美的灯塔评分,而且它是一个进步的Web应用程序(任何建立在CRA之上的Reaction应用程序都是)。
老实说,这些服务简直是天赐之物。在此之前,您必须尝试并弄清楚如何与其他一百万个AWS微服务协同工作,才能创建一个站点。他们甚至会自动用HTTPS加密你的网站(当我发现通常情况并非如此时,这让我大吃一惊!)。
现在,我只需将我的代码推送到Github,它就会自动构建我的站点并在Netlify上发布。砰的一声。而且是免费的。一旦你尝试了这个流程,就很难再回到其他地方了。
你真走运!我刚刚开源了我的启动器!它具有我们所说的所有功能。用户可以注册/登录,然后通过条纹升级他们的订阅。我甚至把“黑暗模式”也扔进去玩了。
然后,我们使用Firebase函数(基本上是无服务器函数)创建一个STRIPE客户。我们将条纹详细信息添加回我们的用户对象(客户id等)。
在第2步中,我们为他们订阅免费计划。所以这和你以前的做法有点不同。每个用户都是条纹客户。
为什么要这么做?因为这样我们就可以使用新的条带客户门户让他们升级/降级订阅。我们不需要担心任何事情!如果你曾经处理过订阅,这应该会让你大吃一惊。
然后,我们使用一个条纹WebHook来确保任何订阅更改都反映在输出数据中。首先,我们将SubscriptionPlan字段更新为“Pro Plan”。
就这样!。如果你想要建立你的想法,你已经做了所有的细枝末节的工作。您可以只关注实际内容/产品功能。想要创建优质内容网站吗?只需创建一个新页面,并使用挂钩中的用户对象详细信息来隐藏或显示它(例如,如果SubscriptionPlan为‘Pro Plan’,则显示页面)。