正文
当时,他们要使用最新最热门的堆栈从头开始创建全栈应用程序。于是他们选择了 React/Node.js;对于以前的项目,他们通常会在后端使用 PHP/Java/Node.js,在前端使用了 jQuery/Backbone/Angular。因为兄弟二人花了很多时间重新学习如何使用最新的堆栈,只是为了重新构建相同的功能(身份验证、CRUD、表单、异步作业等)。
所以当时两人就有这样的疑问:“为什么不使用与堆栈无关的高级语言(例如 SQL 对数据库所做的那样)抽象这些常见功能,以便永远不再重新实现它们?”
所以在构建 Wasp 之前,他们充分地调研了项目的可行性。
Matija 表示:“在之前的创业公司中,我们发现与用户交谈非常有帮助,所以我们决定在 Wasp 中再次这样做”。
于是兄弟二人在大约一个月的时间里,进行了 25 次问题调研,探讨“用户在 Web 应用开发中面临的最大挑战是什么?”汇总结果后,他们确定了以下四个问题最为重要,并决定在 v1 版本中重点关注它们:
-
快速启动一个新的 Web 应用程序并确保遵循最佳实践是很困难的。
-
在管理前端、后端和数据库的状态时存在大量重复 / 样板。
-
每个新应用程序都会重新实现许多常见功能。
-
开发人员因日益复杂的工具而不知所措,不想负责管理它。
他们还根据主题对得到的答案进行了聚类,以便能够更深入地研究并确定最受关注的领域:
受访者遇到的有关启动和设置新网络应用程序的问题。
在与其他开发人员确认并澄清了问题后,兄弟二人觉得终于应该开始编写代码了。
2019 年年初
,兄弟二人在 GitHub 上创建了一个新的 repo,并开始设置工具并尝试这个概念。
在接下来的几个月里,他们将 Wasp 视为一个附带项目 / 实验,没有进行任何营销。但是,他们非常清楚外部反馈的重要性。因此,在构建了一个非常基本的代码生成功能后,他们还创建了一个项目页面,可以与其他人分享,以解释他们正在做的事情并征求反馈。
这是 Wasp 的第一个页面,虽然它没有很好地解释 Wasp 的作用。
那时,他们为 Wasp 想出了第一个“真正”的名字 - STIC:规范到实现编译器,因为 Wasp 的远大愿景是成为一种与堆栈无关的规范语言,让人们可以从中生成实际的代码,例如 React 和 Node.js 甚至其他一些堆栈。
他们分发 STIC 项目页面的首选方式是通过相关的 subreddits - r/webdev、r/coding、r/javascript、r/Haskell、r/ProgrammingLanguages 等。
这是他们发布的第一篇有关 Wasp 的 Reddit 帖子:
但他们很快了解到的一件重要的事情是,Reddit 不喜欢任何形式的宣传和推销。有时,即使兄弟俩认为当时他们只是在征求反馈,而非推销。继 Reddit 之后,他们又在 Hacker News 上发布了产品。
Martin 和 Matija 还跟进了他们之前采访过的人,询问他们在 Web 开发方面遇到的问题。兄弟二人向这些受访者展示了 STIC 项目页面并征求意见。从他们收集到的所有反馈中,两人发现了以下问题: