RedwoodJS - 为您的 JAMstack 带来全栈体验
Jamstack 是一种新的架构方法,其核心原则是预渲染,旨在使 Web 应用程序能够:
- 跑快点,
- 更安全一些,
- 更容易扩展。
所有这一切都得益于众多现代工具的运用,从而最大限度地提高了生产力。听起来很有意思,对吧?这种方法正变得越来越流行,也催生了支持 Jamstack 架构的新工具市场。RedwoodsJS 就是一颗冉冉升起的新星,其团队认为 Jamstack 是 Web 开发领域的一次巨大飞跃,他们正竭尽全力让 Jamstack 的使用体验更加出色。
RedwoodJS
Redwood 是一个开源项目,由GitHub 联合创始人兼 Jekyll(最早的静态网站生成器之一)的创建者 Tom Preston-Werner 发起。那么,Redwood 究竟是什么呢?
想象一下,一个 React 前端,通过 CDN 静态交付,通过 GraphQL 与运行在世界各地 AWS Lambda 上的后端通信,只需一次 git 推送即可部署——这就是 Redwood。
RedwoodJS 是一个具有高度自主性的全栈无服务器 Web 应用程序框架,旨在尽可能简化 JAMstack 应用程序的构建和部署。
堆栈
RedwoodJS 使用了一些最流行的尖端技术,虽然它不允许您自由选择技术栈,但却大大降低了设置所有服务以使基础设施按预期运行的复杂性:
-
前端- 这部分由 Apollo 支持的 React 实现,其中包含许多代码生成器,可让您开箱即用地创建所有内容,例如路由、页面、单元格(甚至包括已预先配置的测试)。
-
后端——如今,谈到前沿技术,很难不提及 GraphQL。Redwood 使用 Prisma 作为其 GraphQL 后端,从而能够快速创建带有图形界面的后端。
-
部署——Redwood 的开发团队已将支持多个部署目标列入其路线图,并将部署策略的首要任务是使其易于添加其他目标,并方便用户根据自身部署策略进行调整。目前,Redwood 提供开箱即用的 Netlify 和 Vercel 部署,AWS 和 Google Cloud Run 也位列其路线图的重点发展方向。
来源:redwoodjs.com
概念与特点
Redwood 融合了许多新颖有趣的理念,同时也为一些耳熟能详的理念注入了新鲜活力。其中最引人注目的理念之一无疑是:
- 单元格(Cells )是 Redwood 的标志性抽象模式之一。单元格代表了一种声明式的数据获取方法,它通过提供数据获取的约定,在请求和响应之间创建了一个空间,Redwood 可以利用这个空间进行优化。所有这一切都无需编写任何命令式代码。
来源:redwoodjs.com
- Redwood Router ——Redwood 拥有自己的路由器,其设计灵感源自 React Router、Ruby on Rails 和 Reach Router。它为应用程序的这一关键部分带来了诸多创新。
来源:redwoodjs.com
如果您对 Redwood 的概念及其实现的更多详细信息感兴趣,请务必访问官方文档。
不是 1.0 版本
RedwoodJS 软件尚未达到稳定的 1.0 版本。
其团队在“先运行,再正确,最后快速”的开发理念下,将 Redwood 的开发工作推进到了“先运行,再正确,最后快速”阶段的后期。尽管这使得它不适用于生产环境,但 Redwood 的理念绝对值得借鉴。
加快 GraphQL schema 开发速度
GraphQL Editor是一款强大的辅助工具,无论您是 GraphQL 高级用户还是 GraphQL API 初学者,都能轻松上手。我们的一体化 GraphQL 开发环境将帮助您更快地构建、管理和部署 GraphQL API。立即免费试用 GraphQL Editor!
文章来源:https://dev.to/graphqleditor/redwoodjs-bring-full-stack-to-your-jamstack-4j24



