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

2020 年 11 月 21 日

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

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 的架构如下:



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


2020 年 11 月 21 日 11:001402

评论 1 条评论

发布
用户头像
中文镜像文档站:https://redwoodjs.cn
2020 年 11 月 30 日 11:19
回复
没有更多评论了
发现更多内容

关于设计模式学习的简短总结

林昱榕

总结 极客大学架构师训练营

架构师训练营 -week03 作业

GunShotPanda

Week 03 总结

鱼_XueTr

设计模式 OOD

架构师训练营学习总结(第三周)

战峰

第三周-作业-设计模式,单例模式与组合模式

JI

2020-06-20-第三周学习总结

路易斯李李李

设计模式

wei

设计模式-单例模式和组合模式

阿飞

架构 极客大学架构师训练营

第三周作业

慵秋

极客大学架构师训练营

架构师训练营 第三周 作业

极客

极客大学架构师训练营

深入学习单例模式和组合模式

拈香(曾德政)

单例模式 极客大学架构师训练营 组合模式

第3周总结

娄江国

用设计模式重构那些烂代码

鸠摩智

Week 03 学习总结

Jeremy

【架构师训练营 -Week-3】总结

Andy

第三周命题作业

Geek_a327d3

作业

架构师训练营 第三周 作业

CR

极客大学架构师训练营

week3作业

张健

第三周学习总结

潜默闻雨

架构师训练营 week3 - 学习总结

devfan

【架构师训练营 - 作业 -3】单例和组合

Andy

week3 总结-面向对象的设计模式

a晖

架构师训练营第 0 期第3周作业

茴字🈶四种写法💋

极客大学架构师训练营

设计模式--组合模式demo

破晓_dawn

架构师训练营 第三周 学习心得

李君

极客大学架构师训练营

架构师训练营第三周学习心得

路人

极客大学架构师训练营

Week 03 作业

鱼_XueTr

组合模式

面试官:你们公司用什么框架写UT

java金融

Java 单元测试 powermock

Week03-总结

张磊

week03-作业

seki

单例模式手写

破晓_dawn

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