您当前的位置:首页 > 电脑百科 > 程序开发 > 框架

Wasp框架开源:最快的 React + Node 全栈应用开发!

时间:2023-08-09 14:03:23  来源:今日头条  作者:高级前端进阶

什么是 Wasp

Wasp(Web 应用程序规范)是一个类似 RAIls 的 React、Node.js 和 Prisma 框架,借助于该框架开发者可以快速构建应用程序并使用单个 CLI 命令进行应用部署。

Wasp 的典型优势包括:

  • 快速入门:由于其表现力,开发者可以使用很少的简洁、一致的声明性代码从头开始创建和部署一个生产就绪的 Web 应用程序。
  • 无样板代码:通过抽象出复杂的全栈功能,可以减少样板代码。 这意味着需要维护和理解的代码更少,同时也更容易升级。
  • 无锁定:开发者可以在任何地方部署 Wasp 应用程序。 没有锁定特定的提供者,可以完全控制代码。

Wasp 的典型特征包括:

  • 全栈身份验证
  • ️ RPC(客户端 <-> 服务器)
  • 简单部署
  • 支持 Job,电子邮件发送, 全栈类型安全等等

给定一个简单的 .wasp 配置文件(描述 Web 应用程序的高级详细信息)和 .js(x)/.css 等特定逻辑的源文件,Wasp 编译器会生成 Web 应用程序的完整源代码,包括:前端、后端和应用部署。这种独特的方法使 Wasp 变得聪明并赋予了它独特的超能力。

 

目前 Wasp 在 Github 上通过 MIT 协议开源,有超过 3.5k 的 star,是一个值得关注的前端开源项目。

如何使用 Wasp

通过简单的 Wasp 配置文件,开发者可以用来描述 Web 应用程序的高级详细信息:

// file: main.wasp
App todoApp {
  title: "ToDo App",
   // 在浏览器选项卡中可见
  wasp: { version: "^0.11.0" },
  auth: {
    // 开箱即用的全栈身份验证
    userEntity: User, methods: { email: {...} }
  }
}
route RootRoute { path: "/", to: MainPage }
page MainPage {
  authRequired: true,
  // 限制对已登录用户的访问。
  component: import Main from "@client/Main.tsx"
  // React组件
}
query getTasks {
  fn: import { getTasks } from "@server/tasks.js",
  //  Node.js 代码
  entities: [Task]
  // 自动缓存失效
}
entity Task {=psl
// Prisma数据模型
    id          Int     @id @default(autoincrement())
    description String
    isDone      Boolean @default(false)
psl=}

在 React / Node.js / Prisma 中编写的其余代码只需从 .wasp 文件中引用即可。在 Wasp 配置中定义应用程序将自动获得以下能力:

  • 使用 Auth UI 组件登录和注册,
  • 全栈式安全,
  • 电子邮件发送,
  • 异步处理 Job,
  • React Query 支持数据获取,
  • 安全最佳实践等等

开发者不需要为这些功能编写任何代码,Wasp 会自动处理,同时 Wasp 还会维护代码,而开发者不必担心跟上最新的安全性,最佳实践。 随着 Wasp 的更新,应用程序也会同步更新。

本文总结

本文主要和大家介绍 Wasp,即一个类似 Rails 的 React、Node.js 和 Prisma 框架,借助于该框架开发者可以快速构建应用程序并使用单个 CLI 命令进行应用部署。相信通过本文的阅读,大家对 Wasp 会有一个初步的了解。

因为篇幅有限,关于 Wasp 的更多用法和特性文章并没有过多展开,如果有兴趣,可以在我的主页继续阅读,同时文末的参考资料提供了大量优秀文档以供学习。最后,欢迎大家点赞、评论、转发、收藏,您的支持是我不断创作的动力。

参考资料

https://wasp-lang.dev/

https://github.com/wasp-lang/wasp

https://wasp-lang.dev/docs

https://www.ycombinator.com/launches/HbQ-wasp-beta-develop-full-stack-web-apps-in-react-node-js-without-boilerplate

https://blog.openreplay.com/a-dive-into-wasp/



Tags:Wasp框架   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
Wasp框架开源:最快的 React + Node 全栈应用开发!
什么是 WaspWasp(Web 应用程序规范)是一个类似 Rails 的 React、Node.js 和 Prisma 框架,借助于该框架开发者可以快速构建应用程序并使用单个 CLI 命令进行应用部署。Wasp 的典...【详细内容】
2023-08-09  Search: Wasp框架  点击:(312)  评论:(0)  加入收藏
▌简易百科推荐
Web Components实践:如何搭建一个框架无关的AI组件库
一、让人又爱又恨的Web ComponentsWeb Components是一种用于构建可重用的Web元素的技术。它允许开发者创建自定义的HTML元素,这些元素可以在不同的Web应用程序中重复使用,并且...【详细内容】
2024-04-03  京东云开发者    Tags:Web Components   点击:(8)  评论:(0)  加入收藏
Kubernetes 集群 CPU 使用率只有 13% :这下大家该知道如何省钱了
作者 | THE STACK译者 | 刘雅梦策划 | Tina根据 CAST AI 对 4000 个 Kubernetes 集群的分析,Kubernetes 集群通常只使用 13% 的 CPU 和平均 20% 的内存,这表明存在严重的过度...【详细内容】
2024-03-08  InfoQ    Tags:Kubernetes   点击:(12)  评论:(0)  加入收藏
Spring Security:保障应用安全的利器
SpringSecurity作为一个功能强大的安全框架,为Java应用程序提供了全面的安全保障,包括认证、授权、防护和集成等方面。本文将介绍SpringSecurity在这些方面的特性和优势,以及它...【详细内容】
2024-02-27  风舞凋零叶    Tags:Spring Security   点击:(53)  评论:(0)  加入收藏
五大跨平台桌面应用开发框架:Electron、Tauri、Flutter等
一、什么是跨平台桌面应用开发框架跨平台桌面应用开发框架是一种工具或框架,它允许开发者使用一种统一的代码库或语言来创建能够在多个操作系统上运行的桌面应用程序。传统上...【详细内容】
2024-02-26  贝格前端工场    Tags:框架   点击:(47)  评论:(0)  加入收藏
Spring Security权限控制框架使用指南
在常用的后台管理系统中,通常都会有访问权限控制的需求,用于限制不同人员对于接口的访问能力,如果用户不具备指定的权限,则不能访问某些接口。本文将用 waynboot-mall 项目举例...【详细内容】
2024-02-19  程序员wayn  微信公众号  Tags:Spring   点击:(39)  评论:(0)  加入收藏
开发者的Kubernetes懒人指南
你可以将本文作为开发者快速了解 Kubernetes 的指南。从基础知识到更高级的主题,如 Helm Chart,以及所有这些如何影响你作为开发者。译自Kubernetes for Lazy Developers。作...【详细内容】
2024-02-01  云云众生s  微信公众号  Tags:Kubernetes   点击:(50)  评论:(0)  加入收藏
链世界:一种简单而有效的人类行为Agent模型强化学习框架
强化学习是一种机器学习的方法,它通过让智能体(Agent)与环境交互,从而学习如何选择最优的行动来最大化累积的奖励。强化学习在许多领域都有广泛的应用,例如游戏、机器人、自动驾...【详细内容】
2024-01-30  大噬元兽  微信公众号  Tags:框架   点击:(67)  评论:(0)  加入收藏
Spring实现Kafka重试Topic,真的太香了
概述Kafka的强大功能之一是每个分区都有一个Consumer的偏移值。该偏移值是消费者将读取的下一条消息的值。可以自动或手动增加该值。如果我们由于错误而无法处理消息并想重...【详细内容】
2024-01-26  HELLO程序员  微信公众号  Tags:Spring   点击:(84)  评论:(0)  加入收藏
SpringBoot如何实现缓存预热?
缓存预热是指在 Spring Boot 项目启动时,预先将数据加载到缓存系统(如 Redis)中的一种机制。那么问题来了,在 Spring Boot 项目启动之后,在什么时候?在哪里可以将数据加载到缓存系...【详细内容】
2024-01-19   Java中文社群  微信公众号  Tags:SpringBoot   点击:(86)  评论:(0)  加入收藏
花 15 分钟把 Express.js 搞明白,全栈没有那么难
Express 是老牌的 Node.js 框架,以简单和轻量著称,几行代码就可以启动一个 HTTP 服务器。市面上主流的 Node.js 框架,如 Egg.js、Nest.js 等都与 Express 息息相关。Express 框...【详细内容】
2024-01-16  程序员成功  微信公众号  Tags:Express.js   点击:(86)  评论:(0)  加入收藏
相关文章
    无相关信息
站内最新
站内热门
站内头条