安博体育注册:5 年开源全栈框架登场GitHub 15K 星却因 Vue 引争议
安博体育综合app投注:
该框架使用简单的配置文件(.wasp)来描述高级应用程序细节,结合在熟悉的框架如 React 和 Prisma 中编写独特逻辑的能力,使其成为研发人员快速原型设计和部署 Web 应用程序的优选项。
Wasp 最引人注目的一个方面是其编译器,使用 Haskell 构建,从.wasp 文件生成前端、后端和部署的完整源代码。这种“智能”方法使研发人员能够专注于编写业务逻辑而不是样板代码,具有内置的全栈身份验证、简单部署和全栈类型安全等功能。
2020 年,Wasp 的两位创建者第一次在这个社区发布项目帖子时,他们还没想好自己到底要做什么,刚刚,这一个项目在 GitHub 上斩获了 1.5 万 star,并且得到了众多个人创业者、初创公司和财富五百强企业的广泛应用。
该项目已经在 Discord 中汇聚了约四千名开发者,而如今的 Wasp 尚处于 Beta 测试阶段。
Wasp 这两位创始人是:Matija Sosic 和 Martin Sosic,他们不仅是双胞胎兄弟,还是技术上的强力搭档。
Matija 拥有计算机科学硕士学位,也是一名软件工程师,拥有丰富的软件开发经验,他擅长干净代码、函数式编程和 Web 开发,热衷于组建团队打造实用产品。
Matija 的职业经历丰富:2020 年以前,曾在 Lifebit Biotech 担任工程团队负责人,带领团队解决技术难题,推动生物技术与软件开发融合项目的进展。2017 年,加入 Techstars Tech Associate(伦敦)团队,参与跨国项目,积累国际合作经验。他也曾担任 TalkBook 的首席执行官兼联合创始人,凭借敏锐市场洞察力,带领团队推出创新产品,促进公司业务增长。
Martin 则在算法和系统模块设计方面有着深厚的背景。他对开发产品、开源、函数式编程、Web 开发以及干净代码满怀热忱。曾作为算法竞赛选手,在逻辑与编程能力上崭露头角。他曾在谷歌、Palantir 等企业实习,并在 Lifebit.ai 的工程团队负责人。
2018 年,在为一家位于伦敦的初创公司开发用于在云端运行生物信息学分析的网络站点平台时,Matija 和 Martin 萌生了创建 Wasp 的初步想法。
当时,他们要使用最新最热门的堆栈从头开始创建全栈应用程序。于是他们选择了 React/Node.js;对于以前的项目,他们通常会在后端使用 PHP/Java/Node.js,在前端使用了 jQuery/Backbone/Angular。因为兄弟二人花了很多时间重新学习怎么样使用最新的堆栈,只是为了重新构建相同的功能(身份验证、CRUD、表单、异步作业等)。
所以当时两人就有这样的疑问:“为什么不使用与堆栈无关的高级语言(例如 SQL 对数据库所做的那样)抽象这些常见功能,以便永远不再重新实现它们?”
Matija 表示:“在之前的创业公司中,我们发现与用户交谈非常有帮助,所以我们决定在 Wasp 中再次这样做”。
于是兄弟二人在大约一个月的时间里,进行了 25 次问题调研,探讨“用户在 Web 应用开发中面临的最大挑战是什么?”汇总结果后,他们确定了以下四个问题最为重要,并决定在 v1 版本中重点关注它们:
他们还根据主题对得到的答案进行了聚类,以便能够更深入地研究并确定最受关注的领域:
在与其他开发人员确认并澄清了问题后,兄弟二人觉得终于应该开始编写代码了。
2019 年年初,兄弟二人在 GitHub 上创建了一个新的 repo,并开始设置工具并尝试这个概念。
在接下来的几个月里,他们将 Wasp 视为一个附带项目 / 实验,没有进行任何营销。但是,他们非常清楚外部反馈的重要性。因此,在构建了一个非常基本的代码生成功能后,他们还创建了一个项目页面,可以与其他人分享,以解释他们正在做的事情并征求反馈。
那时,他们为 Wasp 想出了第一个“真正”的名字 - STIC:规范到实现编译器,因为 Wasp 的远大愿景是成为一种与堆栈无关的规范语言,让人们可以从中生成实际的代码,例如 React 和 Node.js 甚至其他一些堆栈。
但他们很快了解到的一件重要的事情是,Reddit 不喜欢任何形式的宣传和推销。有时,即使兄弟俩认为当时他们只是在征求反馈,而非推销。继 Reddit 之后,他们又在 Hacker News 上发布了产品。
Martin 和 Matija 还跟进了他们之前采访过的人,询问他们在 Web 开发方面遇到的问题。兄弟二人向这些受访者展示了 STIC 项目页面并征求意见。从他们收集到的所有反馈中,两人发现了以下问题:
开发人员不熟悉“DSL”这个术语。我们几乎每天都会使用 DSL(例如 SQL、HCL(Terraform)、HTML),但它不是一个流行的术语。
开发人员害怕学习一门新的编程语言。虽然 Wasp 的目标从来不是取代 Java 或 Typescript,而是让 Wasp 与之协同工作,但兄弟二人未能很好地传达这一点。他们的信息让开发人员觉得,如果他们想使用 Wasp,他们必须放弃所有以前的知识,从头开始。
没有人可以尝试 Wasp + 除了项目页面之外没有任何文档。尽管 Wasp 的代码是公开的,但目前除了项目页面外,几乎没有其他文档。此外,他们尚未建立构建和分发系统,这意味着只有经验丰富的 Haskell 开发人员才能从源代码构建它。这种情况使得开发人员难以理解其高层愿景,因为他们缺乏足够的资源和支持。Web 框架和语言通常需要实际体验才能判断其优劣,但由于缺乏可尝试的版本,开发人员很难评估 Wasp 的实际效果。
在处理完这些反馈后,兄弟俩意识到下一步要让 Wasp 达到这样的状态:开发人员可以轻松试用它,而无需任何额外的知识或面对从源代码编译的麻烦。这意味着要稍微完善一下,添加一些关键功能,并编写我们的第一个文档,以便用户知道怎么样去使用它。
他们当时的宗旨是专注于一件事,要么开发,要么社区。由于 Wasp 团队只有兄弟两人,所以很难同时做多件事。文档发布后,Wasp 已准备好轻松下载,他们将此版本称为“Alpha”,并再次切换到“社区”模式。
像很多初创企业一样,Wasp 团队一心搞研发之际,也遇上了创业路上的第一道坎——。
2020 年 5 月,在第一次资金申请被拒绝后,Wasp 团队第二次向知名创业孵化器 Y Combinator(YC)提交了申请。然而,他们收到了 YC 合伙人 Harj Taggar 的回复,表示 YC 决定不资助 Wasp 这一批次的申请。Harj 在邮件中肯定了小组成员的编程能力,并指出他们致力于简化 Web 应用开发的目标是有价值的。然而,YC 认为 Wasp 所提出的领域——为 Web 应用开发创建领域特定语言(DSL)——是一个许多程序员都曾尝试解决的难题,因此决定不予以资助。
这一决定对 Wasp 团队来说无疑是一个打击。当时,他们已在 Wasp 项目上投入了一年半的时间,其中最后 9 个月更是全职开发。为了追求这个梦想,团队的两兄弟辞去了之前的工作,全身心投入到项目中。到了此阶段,他们在心理、生理和经济上都已感到精疲力竭。
尽管如此,Wasp 团队并没放弃。与此同时,他们也更冷静地同时重新审视最初的决定——为何需要创建这样一款开源项目?
Matija 和 Martin 在回忆这段旅程时表示:“刚开始,Wasp 只是我们的一个念头——或者更确切地讲,是一个现实问题:‘为什么还没人做过?如果动手试试,我们会遇到哪些挑战?’在经历了十年之间持续开发 Web 应用程序,并使用各类主要技术栈(包括服务器端的 PHP、Java 和 Node.js,再到客户端这边的 Backbone、Angular 和 React)之后,我们对于‘框架疲劳’可谓深有体会。换言之,每种新技术栈都在重新发明轮子。”
他们再次坚定了 Wasp 项目立足的根源——要创建一套框架,通过提供更高级别的抽象来消除大量样板,同时保持充足的灵活度,避免其与特定技术栈和架构牢牢绑定。
既然目标已经十分明确,接下来就是一步一步坚定地走下去。与大多数成功故事一样,一个优秀项目的诞生往往并非线性推进。它的开端往往经经历漫长的“沉寂”,但偶尔也会出现希望。
Wasp 项目也不例外。在兄弟俩一往无前的努力之下,之后的事情开始步入正轨并迎来加快速度进行发展期。
在全职工作了大约九个月之后,两兄弟开始获得初步获得一定关注,也收到了来自 Reddit、Hacker News 和 Product Hunt 的积极反馈。
2020 年 12 月 6 日,兄弟二人在 PH(Product Hunt ) 上推出了 Wasp,它最终成为当日明星产品!这让 Wasp 的 star 数量和整体吸引力都有所提升。PH 的另一个好处是,Wasp 也出现在他们的每日新闻通讯中,据称该通讯拥有超过一百万订阅者。所有这些都给了他们很大的推动力和知名度。
但与此同时,他们也意识到这样一套全栈 Web 框架的落地可用对应着多少工作量,毕竟如此雄心勃勃的预期和要求绝非一朝一夕能轻松实现。寻求一定的外部支持仍是必要的。
2021 年,Y Combinator(YC)兄弟俩在第三次申请 YC 时成功入围。YC 一直在关注兄弟俩过去一年的进展,并在感受到社区的热情之后,最终决定支持他们的“疯狂”想法。
第一个重要拐点发生在 2023 年 7 月。当时他们发布了 MAGE,这是一款使用 Wasp 的 GPT SaaS 上手程序(你们可以理解成一次性的 Loveable/Bolt)。它是首批能够生成可运行全栈 Web 应用程序的大模型产品之一,并成功为 Wasp 博得了广泛关注。
通过这两个拐点,Wasp 项目团队意识到,大多数开发者都迫切希望加快实现进程,而不愿把时间和心力浪费在挑选和择善而从 SaaS 中的各类不同功能上——包括身份验证、付款、管理仪表板、发送电子邮件、博客等等……
这正是该项目的意义所在——打造一套基于 React、Node.js、Prisma 和 Wasp,而且 100% 免费开源的高质量 SaaS 入门版本。OpenSaaS 顺利成为 Wasp 的“杀手级应用”,它吸引到开发者的关注,并在尝试之后感受到了这套框架的实用价值。
OpenSaaS 还与 Cursor 实现了完美搭配——在 Wasp 结构与高级原语支持下,许多开发者意识到 OpenSaaS 加 Cursor 这套理想组合,能帮他们的 SaaS 项目在几天之内从创意转化为生产应用。
从上面的例子能够准确的看出,兄弟二人过去曾将 Wasp 称为一种语言,即 DSL 领域特定语言。结合这样的定位,他们最初只打造设计一个抽象层,确保其未来能够与任何语言、库和架构配合使用。
为此,他们要引入自己的编译器。该编译器会首先分析开发者通过 Wasp 定义的应用程序规范(例如路由、异步作业、数据库操作等),将其与我们在 React 和 Node.js 中编写的“本机”代码相结合,最后生成一款 React/Node.js 应用程序。也就是说尽管功能有限、机制简单,但 Wasp 确实成为了由他们一手发明的语言。
但在一段时间的推进之后,兄弟二人发现这种定位思考是错误的。Wasp 的功能更多应该是 Web 框架,类似于 Laravel、Rails 或者 Next.js。它在底层使用编译器只是一种实现细节,是为了达成功能所必需的前提。例如,借助这种方法,用户都能够轻松对整个应用程序的拓扑结构可以进行可视化,包括数据库、服务器乃至客户端组件:
虽然现在看来这没什么不大了,但却为其他一些有趣工具的功能实现打开了大门。
随着 Wasp 1.0 版本的发布,这一开源框架吸引了广泛的关注。由于 Wasp 常被与 Laravel 等成熟的开发框架相提并论,许多网友对其商业模式产生了浓厚的兴趣和疑问。Laravel 通过提供高级工具、托管服务和ECO支持成功实现了商业化,而 Wasp 作为一个新兴的开源项目,目前仍专注于框架的完善和开发者社区的构建。
因此许多网友提出质疑,现阶段 Wasp 的小组成员的收入来源在哪里?有网友直接提问:
“你如何从这样的项目中赚钱?YC 的资金足以让你们两个继续下去吗?在此之前,你们自己很富有吗?”
对此,Matija 表示:“第一年,我们用个人储蓄来资助它,但之后我们在 YC 之后立即筹集了一轮 150 万美元的融资,这使我们也可以扩大团队规模(目前我们有 8 人)并全职专注于它。”
由于 wasp 目前仅支持 React,有网友对他们不支持 Vue 表示遗憾。该网友评论道:
但也有网友出来辩论称:“从商业角度来看,创始团队的决定是正确的,虽然我更喜欢 Vue,但我也会为这一个项目选择 React。”
Matija 也在评论区回复了该网友:“Wasp 的愿景是支持不同的 UI 框架 / 库,但目前我们专注于 React。至少到 1.0 版为止是这样的。”
那么接下来该做什么?经过近 7 年的开发和从广大受众处获得的反馈,Martin 兄弟二人对于 Wasp 1.0 的功能定位和最终形态有了非常清晰的认知。他们最终的目标是在 JS 上实现 Laravel 之于 PHP、Rails 之于 Ruby 的效果——构建一款思路明确的全栈、功能完备的框架,确保它能随意部署并随义务成长而扩展。
兄弟二人表示:“我们清楚,自 Laravel/Rails/Django 诞生以来,技术界对于框架的要求和期望已发生了巨大变化,但其背后对应的生产力与开发体验将始终是我们不懈追求的目标。”
除了技术能力外,一款产品是不是能在市场中长久地立足也要考虑其盈利模式。关于未来如何盈利的问题,Matija 也在 Reddit 给出了回答:
“目前,我们正专注于将开源框架升级到 1.0 版本,并证明我们也可以创建下一个“JavaScript 领域的 Laravel”。这是我们工作的核心基础,假如没有这一基础,我认为考虑盈利是毫无意义的。在盈利方面,像 Laravel、Vercel 和 Hashicorp 这样的公司是很值得研究的案例。我们也在企业环境中获得了初步的采用,这让我们感到意外,并激发了我们之前未曾考虑过的新思路。”
尽管 Wasp 团队尚未明确公布具体的盈利计划,但他们表示,只有在框架达到稳定且广泛采用的阶段后,才会考虑商业化路径。这种以开发者体验和开源生态为核心的策略,与 Laravel、Vercel 等成功案例有相似之处。
这种“先开源,后盈利”的模式在技术领域并不罕见,重点是如何在保持开发者信任的同时,找到可持续的商业化路径。
5月12日,外交部发言人林剑表示,关于中美经贸高层会谈,中方已经发布了消息。我们刚拿到这个相关的情况,双方已经发布了会谈达成的联合声明,你可以具体查阅。
5月12日,莆田8岁男童在海拔1800米山顶失联已超8天,牵动着全国网友的心。12日上午,扬子晚报/紫牛新闻记者注意到,有网友在社会化媒体公布消息称,在8岁男童失联山上发现人体组织碎片,目前已经送检。还有网友跟帖称,山上有蟒蛇出没,非常有可能是被蟒蛇撕咬。
中美日内瓦经贸会谈联合声明中华人民共和国政府(“中国”)和美利坚合众国政府(“美国”),认识到双边经贸关系对两国和全球经济的重要性;认识到可持续的、长期的、互利的双边经贸关系的重要性;鉴于双方近期的讨论,相信持续的协商有助于解决双方在经贸领域关切的问题;本着相互开放、持续沟通、合
大象新闻记者近日,大象新闻记者和知名“打拐志愿者”上官正义在湖南省长沙市长沙县一处涉嫌非法的自建房蹲守多日,拍摄记录到一白色无牌商务车及其它多辆车将数名女性转送至自建房的过程。
这张图一定曾震撼过你,汶川地震中,身着雨衣的军人站在峭壁上,挺立成山,坚定地伸出双手,托举起危难中的生命......
在5月9日举行的俄罗斯纪念苏联伟大卫国战争胜利80周年阅兵式上,大量俄军武器装备在红场亮相引发各界高度关注。从S-400防空导弹系统、“伊斯坎德尔”战术导弹与“亚尔斯”洲际弹道导弹等传统大杀器,到首次亮相的“天竺葵-2”无人机,这些装备集中体现了哪些特点?
5月7日晚上,体彩超级大乐透第25050期开奖,1注“追加+派奖”的一等奖花落苏州,奖金达到了2175万元。更值得一提的是,打出这张幸运彩票的体彩网点,曾在2016年中出2.23亿元巨奖。
高额关税下,美国的小企业主受到严重冲击。来自纽约的埃斯纳尔晒出了他的高额关税账单,账单显示,关税的费用已超越了他进口商品本身的费用。
#长文创作激励计划#据印媒报道称,印度民众在霍希亚尔普尔发现了巴基斯坦发射的中国 PL-15E 导弹的残骸,从公布的视频来看,这枚导弹大部分都是完整的,尾舵、发动机、弹体中部的短翼都非常完整,此前在社会化媒体上已然浮现多次残骸,包括天线、制导舱甚至T/R单元,这不禁让很多网友都非常
相关评论
来自廊坊文安县的客户反馈
这款不锈钢餐桌架子直观很高大上,质量和做工都不错,细节处做的也很到位,精美又有质感,很满意!
来自天津红桥区的客户反馈
一套放起来很好看,款式很高档,做工精致。厂家不锈钢制作的严实,发货过来没有出现破损,总体来说挺满意的。
来自天津滨海新区的客户反馈
款式简单大方显档次很好看,做工精细,实物比照片漂亮,值得购买!
来自廊坊香河县的客户反馈
简约大气上档次,颜色和家里的装修很搭,表面很光滑做卫生也很容易方便,这价格能买到这质量非常满意!!!