Wasp – 一种了解 Web 应用程序是什么的编程语言

2021-07-26 08:18:24

Wasp(Web 应用程序规范语言)是一种声明式 DSL(域特定语言),用于以更少的代码开发、构建和部署现代全栈 Web 应用程序。应用程序、页面、用户、登录、前端、生产等概念都融入到语言中,带来了新的表达水平,让您可以用更少的代码行完成更多的工作。在使用 Wasp 描述高级功能的同时,您仍然使用自己喜欢的技术(目前是 React、NodeJS、Prisma)编写其余逻辑。注意:Wasp 处于 alpha 阶段,因此可能会发生很大变化,存在错误并错过重要功能。 // file: main.wasp app TodoApp { title: "Todo App" } route "/" -> page Main page Main { component: import Main from "@ext/pages/Main.js" // 导入 React 组件。 } query getTasks { fn: import { getTasks } from "@ext/queries.js" , // 导入 NodeJS 代码。实体:[任务]}实体任务{=psl id Int@id@default(autoincrement())描述字符串isDone布尔@default(false)psl=}源文件(.wasp,.js(x),.css,. ..) 由 waspc(Wasp 编译器)编译成您选择的 Web 技术堆栈(目前为 React + NodeJS/ExpressJS + Prisma)。快速入门:由于它的表现力,您可以使用很少的几行简洁、一致、声明性的代码从头开始创建和部署可用于生产的 Web 应用程序。

灵活:当您需要比 Wasp 提供的更多控制时,您可以使用现有技术(例如 js/html/css/...)编写代码,并将其与 Wasp 代码结合使用!无锁定:如果 Wasp 对您来说限制太多,只需弹出并继续生成人类可读的源代码即可。在 OSX/Linux 上安装 Wasp。从那里,只需按照说明在不到一分钟的时间内运行您的第一个应用程序!这是 Wasp Universe 的主要存储库,包含核心代码(主要是 waspc - Wasp 编译器)和支持材料。目前,Wasp 处于 alpha 阶段并具有足够的功能,因此您可以在其中开发基本的 Web 应用程序!您可能会发现它在某些地方缺少灵活性或缺少一些更大的功能,但基础已经存在,我们现在正在添加在它们之上。万一你卡住了,你可以获取生成的代码并继续它。随着 Wasp 的进一步发展,它应该允许开发越来越复杂的 Web 应用程序,而无需弹出!虽然我们的想法是在未来支持多个 Web 技术堆栈,但现在我们专注于特定堆栈:React + react-query、NodeJS + ExpressJS、Prisma。随着时间的推移,考虑到趋势,我们可能会改变这一点,但就目前而言,这对于开发编译器和语言的目的来说非常有用。最好的起点是查看 waspc/,在那里你可以找到第一次贡献者的详细步骤 + 有关 Wasp 编译器的技术细节。

即使您不打算提交任何代码,只要加入有关 discord 的讨论并提供您的反馈就已经很棒并且有很大帮助(激励我们并帮助我们弄清楚如何塑造 Wasp)!