TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Redwood: An integrated, full-stack, JavaScript web framework for the JAMstack

431 点作者 mojombo大约 5 年前

41 条评论

sytse大约 5 年前
Congrats on the release. This feels like Rails for the javascript age. Moving from: REST =&gt; GraphQL, Sprockets =&gt; Babel&#x2F;webpack, VM =&gt; Lambda, Caching =&gt; Static site, ERb =&gt; React, Active Record =&gt; Prisma, Rspec =&gt; Jest, routes.rb =&gt; Routes.js<p>Edit: The twitter thread from the author is a great summary of Redwood and its benefits <a href="https:&#x2F;&#x2F;twitter.com&#x2F;mojombo&#x2F;status&#x2F;1237441122097487873" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;mojombo&#x2F;status&#x2F;1237441122097487873</a>
评论 #22540820 未加载
评论 #22539399 未加载
评论 #22538808 未加载
评论 #22544412 未加载
mhd大约 5 年前
I&#x27;m still not sure that those entry-level frameworks using GraphQL aren&#x27;t repeating Rails&#x27; ActiveRecord issues when it comes to more complex data relationships. Both work alright for &quot;blog post&quot; and &quot;user&quot; entities, but become a bit awkward when it comes to even basic CRM-type examples (contact&#x2F;company&#x2F;address&#x2F;junctions). I know that Facebook is using this at scale, but that&#x27;s a whole different issue, with lots of custom optimizations and special backends.<p>I&#x27;ve heard GraphQL proponents call joins &quot;premature optimization&quot;, and I don&#x27;t even know how to respond to that…
评论 #22544137 未加载
评论 #22545857 未加载
评论 #22545662 未加载
mojombo大约 5 年前
Hi! One of the Redwood authors here. I&#x27;m really excited to launch Redwood today and happy to answer any questions you have about the framework and what makes it special!
评论 #22538727 未加载
评论 #22538787 未加载
评论 #22549573 未加载
评论 #22538475 未加载
评论 #22545531 未加载
评论 #22539194 未加载
评论 #22538283 未加载
zaiste大约 5 年前
Congrats on the launch, Tom &amp; the team!<p>I&#x27;m working on something similar. I hope to pick up some ideas ;)<p>My project is about helping create more traditional JavaScript applications, not necessarily JAMstack. It is inspired by the Self programming environment created at Sun Microsystems in &#x27;95, so it&#x27;s not a framework per-se, but a combination of a framework, an editor (VS Code plugin) and (in the future) infrastructure.<p>The project is called Huncwot: <a href="https:&#x2F;&#x2F;github.com&#x2F;huncwotjs&#x2F;huncwot" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;huncwotjs&#x2F;huncwot</a><p>* it supports TypeScript out of the box * it provides background processing (via Postgraphile Worker) * it aims to support <i>only</i> PostgreSQL, so that we could conveniently use all those beautiful PostgreSQL features that are usually «hidden» by ORMs * I&#x27;d also like to make SQL more popular ;) * there is a bit of inspiration from Clojure * it favors the function composition, e.g. for handlers * it comes with a built-in authentication&#x2F;authorization, which you shouldn&#x27;t probably use in production just yet * it is still very alpha * for the front-end you can use React, but also Vue.js and possibly Angular or Svelte * and many other things which I haven&#x27;t yet described in the README as I work on this on the side, mostly alone<p>There is also fantastic Dark Lang (<a href="https:&#x2F;&#x2F;darklang.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;darklang.com&#x2F;</a>) in the same, quite similar yet different.
评论 #22540698 未加载
评论 #22541645 未加载
Zaheer大约 5 年前
The latest update from Next.js [1] seems to cover all that redwoodjs does. In particular, the Static Site Generation portion. Next.js already supports API&#x27;s in the same monorepo.<p>[1] <a href="https:&#x2F;&#x2F;nextjs.org&#x2F;blog&#x2F;next-9-3" rel="nofollow">https:&#x2F;&#x2F;nextjs.org&#x2F;blog&#x2F;next-9-3</a>
评论 #22539985 未加载
评论 #22541682 未加载
yatsyk大约 5 年前
Congratulation on launching!<p>I like rails, but in js world may be not so good idea to reimplement or integrate everything related to ui, routing etc. Meteor.js was not very successful with this model. I think routing or UI on react-native&#x2F;web&#x2F;blessed&#x2F;VR is too different to be part of one framework.<p>But I see the usefulness of framework with functionality related to data fetching and business logic.<p>I consider perfect stack for this things is Postgress-&gt;Hasura (or also Prisma)-&gt;mst-gql-&gt;mobx-state-tree. You create database schema and everything up to models on client is autogenerated and each part of this stack could be updated, customized or completely rewritten. This stack could be used on react-native or web or any other js platform.
评论 #22543341 未加载
jaredcwhite大约 5 年前
At first I thought &quot;oh great, this looks very nice but why does it exist when Next.js, Gatsby, etc. are already a thing?&quot;<p>Then I saw Tom Preston-Werner&#x27;s involvement and my interest level raised considerably. I&#x27;m still not sure if there&#x27;s a market for this per se, but the bone-fides of the dev team is certainly a good sign.
评论 #22538493 未加载
评论 #22542357 未加载
评论 #22539346 未加载
davedx大约 5 年前
Just want to chime in that I think this looks very promising but I would really want to see full TypeScript support before I picked it up. In particular what would be a killer feature for me would be sharing model types between api and web sides. This is something currently possible (using e.g. lerna) but not trivial to setup for my smaller projects, and if it was a feature of Redwood I&#x27;d seriously considering switching my tech stack for future and possibly current projects.<p>Will be watching it with great interest. Good luck!
评论 #22544539 未加载
评论 #22544146 未加载
tehin大约 5 年前
While prisma2 is probably the best node ORM, it still has a lot of issues. It seems to take a lot of inspiration from the mongo api, which is a good idea, as that is the one thing mongo got right. There are a bunch of issues with it though:<p>It should be closer to the mongo api.<p><pre><code> await prisma.users.findOne({ where: { id: 1 } }) </code></pre> should just be<p><pre><code> await prisma.users.findOne({ id: 1 }) </code></pre> for example.<p>It is trying to do too much. There is a hard limit of where ORMs try to take over too many of the things you do in SQL and become slow and complex and a big black hole. prisma tries to do migrations, table creation, etc, etc. These things rarely work properly.<p>Lazy loading never works. Somewhere litered in your code you access a field that is outside the scope of the pulled in data and it is in a loop and suddenly you have 100 requests. You have to look through your entire function to understand which fields are inside and outside of the scope of the query, and add more includes or whatever.<p>There are security issues with ORMs that traverse and save relationships, as github itself found out. You add user__roles form field maliciously on the client side to a form that was just supposed to update the user and not the roles, then suddenly you find your user.save() method on the server-side has traversed and added new roles to a user.<p>I am writing a kind of orm today based on the mongo api without all the $ signs, much like prisma, but closer and without all the additional things. github username is thebinarysearchtree.<p>ORMS should just be for fairly simple, single table tasks. That way they get out of the road and don&#x27;t become some big complex thing that ruins performance and adds its own complexity.
评论 #22544781 未加载
评论 #22543099 未加载
评论 #22544126 未加载
rmetzler大约 5 年前
Please excuse my ignorance, what is JAMstack? I couldn&#x27;t find an explanation on the landing page or the README.md.
评论 #22539259 未加载
评论 #22539279 未加载
swyx大约 5 年前
congrats on the launch! I&#x27;ve been hoping for someone to make a &quot;Rails for JS&quot; for a long time, with the performance capabilities of JAMstack apps (prebuilt, served from CDN). This is a peek into the future!<p>as a React dev as well, I particularly like the integration of GraphQL into the Cell format. This will work especially well with render-as-you-fetch React Suspense. I think if you throw in scoped css you&#x27;ll have the ultimate vision of the React Single File Component format.[1]<p>1: <a href="https:&#x2F;&#x2F;www.swyx.io&#x2F;writing&#x2F;react-distros&#x2F;#what-other-react-distros-should-exist" rel="nofollow">https:&#x2F;&#x2F;www.swyx.io&#x2F;writing&#x2F;react-distros&#x2F;#what-other-react-...</a>
评论 #22539720 未加载
gnalck大约 5 年前
Is there a plan for how backend jobs would work in this &quot;Rails for the Javascript age&quot;?<p>I find that JAMstack is great until the need for recurring or out-of-band processes comes up. In Rails of course there are jobs that can be backed by Sidekiq or what have you, and additionally on a VM one can always set up a cron job to invoke some Rails tasks.<p>For JAMstack there is no clear alternative, as far as I can see. Manually setting up a recurring lambda function (granted, I have not yet done it) seems to be annoying enough that I would rather just deal with a VM instead.
评论 #22539039 未加载
评论 #22539426 未加载
评论 #22539435 未加载
评论 #22539114 未加载
评论 #22539575 未加载
chvid大约 5 年前
Great presentation.<p>I took a look at the example:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;redwoodjs&#x2F;example-blog" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;redwoodjs&#x2F;example-blog</a><p>As I understand &quot;JAM Stack&quot; the point of the M is to have large chunks of your application pre-rendered.<p>However in this example; the blog pages are client-side rendered based on a graphql query that goes into postgres database.<p>Am I missing the point of this? It looks like a standard rich-client with API backend architecture.
评论 #22543642 未加载
miguelmota大约 5 年前
Surprised to see it not written in TypeScript since TS helps immensely with large projects<p><a href="https:&#x2F;&#x2F;github.com&#x2F;redwoodjs&#x2F;redwood" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;redwoodjs&#x2F;redwood</a>
评论 #22541988 未加载
chaostheory大约 5 年前
Typescript support? Javascript is just too hard for larger projects.
评论 #22538270 未加载
sandGorgon大约 5 年前
this is very interesting. nextjs gives a lot of this : for example<p>- frontend and backend in the same code <a href="https:&#x2F;&#x2F;nextjs.org&#x2F;docs&#x2F;api-routes&#x2F;introduction" rel="nofollow">https:&#x2F;&#x2F;nextjs.org&#x2F;docs&#x2F;api-routes&#x2F;introduction</a><p>- graphql based - <a href="https:&#x2F;&#x2F;github.com&#x2F;zeit&#x2F;next.js&#x2F;tree&#x2F;canary&#x2F;examples&#x2F;api-routes-apollo-server-and-client-auth" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;zeit&#x2F;next.js&#x2F;tree&#x2F;canary&#x2F;examples&#x2F;api-rou...</a><p>- hybrid static page support - <a href="https:&#x2F;&#x2F;nextjs.org&#x2F;blog&#x2F;next-9-3#next-gen-static-site-generation-ssg-support" rel="nofollow">https:&#x2F;&#x2F;nextjs.org&#x2F;blog&#x2F;next-9-3#next-gen-static-site-genera...</a><p>- jest - <a href="https:&#x2F;&#x2F;github.com&#x2F;zeit&#x2F;next.js&#x2F;tree&#x2F;canary&#x2F;examples&#x2F;with-jest" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;zeit&#x2F;next.js&#x2F;tree&#x2F;canary&#x2F;examples&#x2F;with-je...</a><p>- CMS providers - <a href="https:&#x2F;&#x2F;nextjs.org&#x2F;blog&#x2F;next-9-3#collaboration-with-cms-providers" rel="nofollow">https:&#x2F;&#x2F;nextjs.org&#x2F;blog&#x2F;next-9-3#collaboration-with-cms-prov...</a><p>- pretty url routing - <a href="https:&#x2F;&#x2F;github.com&#x2F;zeit&#x2F;next.js&#x2F;tree&#x2F;canary&#x2F;examples&#x2F;with-pretty-url-routing" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;zeit&#x2F;next.js&#x2F;tree&#x2F;canary&#x2F;examples&#x2F;with-pr...</a>
larrywright大约 5 年前
I think this looks interesting, and I applaud the team.<p>That said... am I the only one that thinks that anything that is JS based seems ridiculously complicated to use? I don’t do much UI work, but any time I look at using react or similar it feels like there are a lot of moving parts and a lot of steps to perform before you can even get started on something useful.
评论 #22547159 未加载
评论 #22547101 未加载
beardedman大约 5 年前
Nice!<p>Building any &quot;Rails for JS&quot; idea is a huge undertaking, purely from the sheer scope of the Javascript (inc. NodeJS) ecosystem.
spamalot159大约 5 年前
Congrats on the launch. Looks interesting coming from rails stack. I hope you guys can develop a good community around this.
frequentnapper大约 5 年前
hi, just reading through the tutorial and want to say, it&#x27;s quite enjoyable and beautiful to read. Personally I feel and many would agree that docs and tutorials deserve equal if not more effort for tools that are aimed at making our lives easier. Please keep making the docs stronger.
评论 #22543510 未加载
insomniacity大约 5 年前
&gt; For now, you need to set up your own database, but we are working with various infrastructure providers to make this process simpler and more JAMstacky.<p>I recently stepped through this tutorial, which does somthing similar, and uses FaunaDB - turned out pretty nicely.<p><a href="https:&#x2F;&#x2F;egghead.io&#x2F;playlists&#x2F;building-a-serverless-jamstack-todo-app-with-netlify-gatsby-graphql-and-faunadb-53bb" rel="nofollow">https:&#x2F;&#x2F;egghead.io&#x2F;playlists&#x2F;building-a-serverless-jamstack-...</a><p>Code for the DB part is here - I know it doesn&#x27;t use Prisma, would be great to see Redwood support this: <a href="https:&#x2F;&#x2F;pastebin.com&#x2F;aJvFSjsa" rel="nofollow">https:&#x2F;&#x2F;pastebin.com&#x2F;aJvFSjsa</a>
chrysoprace大约 5 年前
Glad to see more batteries-included solutions to frontend development. In particular, I&#x27;m glad to see you&#x27;ve addressed a lot of the pain points with building a fullstack application with React: Forms, lack of &quot;laravel artisan-like&quot; CLI generators, integrating GraphQL (and picking between one of the many server and client-side libraries&#x2F;frameworks).<p>I only had time for a brief look through it but searching for &quot;redux&quot; and &quot;state&quot; didn&#x27;t bring up anything; do you have an opinionated approach to global state management?<p>Keen to check this out when I have more time this week!
cies大约 5 年前
Nice work! And a good project page. One thing: there&#x27;s a concept used but not introduced, which, at least to me, does not ring a bell... What&#x27;s &quot;SDL&quot; in the context of Redwood?
评论 #22542116 未加载
kostarelo大约 5 年前
Congrats on the release, you&#x27;ve certainly done a great job documenting it and creating a great webpage. Hope I will put my hands on it soon.<p>One question, is the React app being pre-rendered at all before being stored on the CDN? If not, how does it qualifies as a JAMstack project? If the React app is being completely rendered on client side, then I don&#x27;t see any difference with a regular Next.js (without generating a static site) project but I certainly see lots of differences with Gatsby for example.
评论 #22540743 未加载
Etheryte大约 5 年前
This is incredibly ambitious: every subheading on the landing page, such as form validation &amp; handling, routing, service logic, is enough to have many big libraries already working on the problem. Yet here&#x27;s this thing that says here it&#x27;s all wrapped up in one solution. Historically, Vue has more than demonstrated that well opinionated whole solutions can be very popular on the frontend too so it&#x27;s interesting to follow where Redwood will end up.
评论 #22544595 未加载
msoad大约 5 年前
Kind of unrelated but love how we moved on from Docker in development. Most of these new frameworks are not suggesting you run the app in Docker.<p>I hate docker in development!
评论 #22540684 未加载
评论 #22540917 未加载
评论 #22539325 未加载
cfv大约 5 年前
While this looks great I&#x27;m having trouble fitting it to any of the projects I&#x27;m already working on.<p>We already have all those pieces in place, along with the ability of swapping any one piece with a different one; say, if we wanted to go RESTful we only need to swap one block.<p>It does look gorgeous tho; how would one go about gradually adopting it?
评论 #22541113 未加载
z3t4大约 5 年前
The further from the metal you are the harder it will become to do even the most simple of things. In this case, the code will be &quot;compiled&quot; up to ten times before it hits the metal. And every time some information will be lost, and unnecessary extra instructions will be added. &#x2F; Debbie Downer
评论 #22539881 未加载
评论 #22539771 未加载
sodez117大约 5 年前
This look great. How does this compare to other JS fullstack frameworks like Vulcan.js, Meteor or Keystone?
vvoyer大约 5 年前
Nice to see the JS ecosystem taking this route: fullstack frameworks.<p>Just like Next.js was built for zeit&#x2F;now, redwood was built for Netlify.<p>Since Top Prester-Werner (Author) is in the board of Netlify this makes sense. But is it a good idea for frameworks to be tied to specific deployment platforms? Unsure, we’ll see!
评论 #22543623 未加载
jcarlosweb大约 5 年前
Congratulations, but I don&#x27;t think I&#x27;ll use it, I don&#x27;t like being forced to use GraphQL
yingw787大约 5 年前
Congrats on launching! I&#x27;m super jealous of that quality landing page. Is it built from scratch?
评论 #22539535 未加载
评论 #22539522 未加载
doctorbuttes大约 5 年前
Really big fan of everything in this stack; I&#x27;ve been building my product on React&#x2F;Apollo&#x2F;Prisma&#x2F;Postgres and it&#x27;s been a pleasure. It&#x27;s nice to see a well-thought-out architecture added to the process. Great work.
kingpiss大约 5 年前
Damn this looks pretty promising.
评论 #22540046 未加载
wmichelin大约 5 年前
Interesting the documentation uses the term &quot;generators&quot; to refer to scaffolding tools. I read that word and got excited that they had python-esque generators.
jaequery大约 5 年前
This is really great. Node.js really needs more of these type of frameworks. I for one would love a non-Graphql version.
评论 #22541120 未加载
thegagne大约 5 年前
Will this work with Cloudflare Workers?
评论 #22542580 未加载
siquick大约 5 年前
This does look great compared to previos efforts like Sails. Is there support SSR out of the box?
评论 #22542566 未加载
ctb9大约 5 年前
Could someone explain how this compares to Next.js?
评论 #22538412 未加载
harryadelb大约 5 年前
hey guys, ever heard of meteor.js? It&#x27;s pretty cool too! <a href="https:&#x2F;&#x2F;github.com&#x2F;meteor&#x2F;meteor" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;meteor&#x2F;meteor</a> <a href="https:&#x2F;&#x2F;www.meteor.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.meteor.com&#x2F;</a>
LessDmesg大约 5 年前
&gt; JavaScript<p>No thanks, we have Blazor now.