10

Redwood:将 Ruby on Rails 开发体验带到 JavaScript

 3 years ago
source link: https://www.infoq.cn/article/lQYSGiCPNOBrfVfEtBpL
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

GitHub 联合创始人 Tom Preston-Werner 发布了 RedwoodJS ,一款全新的面向边缘的全栈 JavaScript Web 框架。Redwood 集成了预先确定的后端和前端技术栈。Redwood 遵循“ 惯例优先 ( convention-over-configuration)”的原则,并努力为开发者 提供类似Ruby on rails的开发体验

RedwoodJS的GitHub主页 对 Redwood 的描述如下:

Redwood是一个全栈式无服务器Web应用程序框架,你可以轻松地用它构建和部署JAMstack应用程序。想象一下,一个由CDN提供的React前端通过GraphQL与运行在世界各地AWS Lambdas上的后端通信,所有这些都可以通过git push实现——这就是Redwood提供的能力。
 
Redwood为你做了大量的决策,让你能够专注在应用程序上,而不是浪费时间去选择和重新选择各种技术和配置。

Redwood 技术栈包括 React、GraphQL(Apollo)、 Prisma 、Babel、Webpack,还有其他即将发布的,如 JestStorybook 。此外,Redwood 支持 JAMstack ,一种基于客户端 JavaScript、可重用 API 和预构建标记的现代 Web 开发架构。Redwood 还采用了自动部署和无服务器架构。

Redwood 的架构如下:

a2a22mf.png!mobile

RedwoodJS 架构图,来自 Netlify 博客

Redwood 提供了自己的内置路由 解决方案 ,开发人员可以 更新路由的路径 ,而不会破坏到路由的链接。

就像 Ember 一样,Redwood 附带了大量 CLI 生成器,这些生成器减少了常见操作的样板文件(例如,创建一个新项目、一个新路由或一个新组件)并遵循 Redwood 的约定。

Redwood Cells 提供了声明式的方法来处理跨多个状态(加载、错误、成功)的远程数据抓取。 Redwood Forms 利用 React Hook Form (最近获得 2020年GitNation React OS大奖 )来管理表单。

一位 Reddit 用户对 Redwood 表示欢迎,并将其与 Rails 进行了比较:

恭喜发布新版本,感觉就像是Rails在JavaScript时代一样,从:

REST => GraphQL,

Sprockets => Babel/webpack,

VM => Lambda,

Caching => 静态站点,

ERb => React,

Active Record => Prisma,

Rspec => Jest,

routes.rb => Routes.js。

另一位 Reddit 用户评价了 Redwood 为开发者所做出的决策:

我认为一个默认的工具箱可以让你快速启动和运行一个项目,这样你就可以进行POC或真正开始评估应用程序要解决的问题和它所提供的解决方案,还能获得快速的反馈循环,这非常有价值。

这让人想起 Geertjan Wielenga 在 FOSDEM 2020 大会上发表的关于企业软件栈广度的演讲:

你不希望组织中的每个人都要自己去弄清楚应该使用什么技术栈。

其他开发者对 Redwood 技术栈的某些部分表示怀疑。其中一个说:

>对于高级的应用场景来说,Prisma 肯定是有局限性的。我已经用了两年,因为这个,我们现在改用 Postgraphile 。Prisma 2 帮不到我们,只会让情况更糟。

另一个开发者 提到

Lambda函数长度有限制,无服务器和关系型数据库的连接有问题……Redwood严重依赖目前还在测试当中的Prisma 2。

Redwood 文档 提到 ,Redwood 仍在积极开发当中,应该谨慎使用:

Redwood正处在“可用、正确、快速”这三个阶段的“可用”阶段的后期。

Redwood 是一个基于 MIT 许可的开源项目。欢迎开发者反馈和贡献,并应遵循相应的 指南

原文链接:

Redwood - Bringing the Ruby on Rails Experience to JavaScript


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK