- The routing is quite different. RedwoodJS handles routing in a single file rather than doing file-based routing.
- Next.js is full-stack available while RedwoodJS is full-stack by design. A Next.js developer needs to make many decisions about how they will design their API (the DB, GraphQL vs REST, choosing an ORM, etc). RedwoodJS is more opinionated and provides Prisma, *SQL, and GraphQL out-of-the-box.
- RedwoodJS has code scaffolding out-of-the-box. You can easily scaffold out models across frontend and backend based on your Prisma/DB schema.
- Next.js is intentionally designed to have first-class support on Vercel whereas RedwoodJS is by design, more agnostic toward to the deploy target.
IMO if you want to run PostgreSQL, React and GraphQL with the least amount of friction and decision making, RedwoodJS is great choice.
> How would you say an opinionated framework like this works in the medium to late maturity?
If you run a frontend-heavy and/or TS/JS shop and don't mind the tradeoffs of something like Ruby on Rails, then I see no limitations to building whatever you want with it.
> Is it easy or even possible to switch out components with more "enterprisy" solutions?
Not sure what that would look like, so I can't comment.
For some usecases, quick bootsrapping is incredibly valuable - eg an early-stage startup.
That was the historical case for Rails: quick to get started and not too bad to maintain/expand as you grow (it got better about later stages in the later years as the ecosystem matured). That's a tradeoff that can make a ton of sense when you're starting a project that has a good chance of not existing in 6 months and where every day of initial productivity is incredibly valuable.
Next.js also has a pretty small API surface and is generally quite unopinionated when it comes to your apps structure, while Redwood chooses more of the stack for you and what tools you should use (Storybook, Jest, Prisma, GraphQL).
I would also like to point out that while there are a lot of people rooting for Redwood's success and they seem to have some active core contributors, there is actual financial backing for Next.js and they have large enterprise users.
There are some startups that use Redwood listed on the 1.0 update website, but at least I do not know any of them.
SSR is priority number one for v2. In the meantime, a number of users use Next.js as a client that talks GraphQL to the Redwood backend. It works very well!
> there is actual financial backing for Next.js
Today I announced I will be providing $1M of funding for future RedwoodJS framework development this year, so now we have funding too. =)
https://tom.preston-werner.com/2022/04/04/redwood-v1-and-fun...
The truth is, we can both succeed at the same time, there are so many great app ideas waiting to be explored, and different tools will work better for different situations!
Best way to get more info is to create a post on the forums, or an issue! The discord contributing channel is a great place too. All the links on the main website https://redwoodjs.com
Speak to you over there!
We haven't communicate this very well until today. Redwood is funded and will continue to be funded. Just not in a typical "for-profit" business model. See: https://tom.preston-werner.com/2022/04/04/redwood-v1-and-fun...
> while Redwood chooses more of the stack for you and what tools you should use (Storybook, Jest, Prisma, GraphQL)
Very true! Just know that the overall integration is modular and extensible. - byo DB Client - want to use REST, go for it! - power Next via the multi-client API, lots of startups doing that already
> There are some startups that use Redwood listed on the 1.0 update website, but at least I do not know any of them
That makes sense because most of them are less than 1 year old. And the funding amount listed was raised in the previous 6 months.
Looking at merged pull requests, the project is quite healthy as the following shows:
https://oss.gitsense.com/insights/github?q=merged%3Atrue%2Bp...
Next.js is on a whole new level though
https://oss.gitsense.com/insights/github?q=merged%3Atrue%2Bp...
The number that I'm really interested in, are last commits more than 28 days ago. With this number, you can guesstimate how popular Next.js is with non core contributors and in the case of Next.js, it really is staggering.
For Next.js, the percentage of people that last committed more than 28 days ago accounts for 80% of all unique contributors, which is what makes their project quite staggering from a "popularity" standpoint. Assuming everybody that last committed more than 28 days ago are not "core contributors" (which may not be accurate of course) we can see that Next.js had 169 contributors that basically decided to create a pull request that was good enough to be merged. For Redwood they had 23, which is respectable but not on the same level as Next.js
Based on my analysis of very popular open source projects, most projects typically only have 50% of their contributors in the +28 days range, while Next.js has 80%. Looking at last commits more than 28 days ago is a very good indicator of community health/interest.
Note: I love analytics. I just think this is, well, weird reasoning from the face of it.
I'll counter with this — here are the metrics I focus on as a measure of "is our open source project healthy"?
- How many unique contributors are there per release? && Is the number growing, steady, or decreasing?
- How many new contributors are there on a monthly basis && Is the number growing, steady, or decreasing?
tl;dr:
Redwood is healthy
I agree and I wrote "the project is quite healthy", so I don't quite know why others would interpret it in any other way. I also agree with the metrics that you laid out and those metrics will be surfaced in the future along with others, since numbers need to be put into context. For example, how are people contributing. Are they making simple spelling changes? Are they making changes to core languages (i.e. Typescript vs Markdown, etc.)? Are they adding a lot of new code and so forth.
Something worth noting is, the analysis is based on Pull Requests that were created in the last 4 months for both Next and Redwood and as it currently stands Redwood had 55 unique contributors and Next had 210. By all metrics, Redwood is quite healthy (as I stated in my comment), it is just that Next has a lot more contributors (4 times more and it something that can't be ignored), especially with the number of contributors in the +28 days range.
> Are they making simple spelling changes? Are they making changes to core languages (i.e. Typescript vs Markdown, etc.)? Are they adding a lot of new code and so forth.
I think what you're trying to get at here is answering the question, "Is PR A of greater quality or value than PR B?" I've decided that doesn't matter as much as:
- How easy is it for anyone to open and merge a PR of any kind?
- Once someone opens a PR, do they open another?
- What's the preexisting skill level of someone opening a PR relative to the difficulty of the PR they're attempting?
Trends. Over time. I can't tell you how many contributors start with simple doc updates (which, by the way, are as important as code for the Redwood community) and then follow up with a monster PR. Momentum builds momomentum. Collaboration leads to more collaboration. For the most part, "is A better than B?" is a distraction.
Again, all from my experience and not demonstrable otherwise.
> 4 months for both Next and Redwood and as it currently stands Redwood had 55 unique contributors and Next had 210
One of the reasons this likely feels low to me (in the case of # of Redwood contribs) is that we separate concerns across repos. Is this for the org or the repo?
It would be impossible to find an accurate number, but I'd be much more interested in the ratio of (unique contributors) / (project installations or downloads) and how that ratio trends over time.
For a metric like that, how might the Redwood vs. Next comparison play out?
;)
You are welcome and your response has been extremely helpful as well.
> I think at the core a comparison to Next is still apples to oranges imho and unnecessary here.
I agree it is probably an apples and oranges thing from a tech perspective, but clearly this isn't the case from a marketing one. I responded because somebody had concerns about the health of Redwood compared to Next.
> "Is PR A of greater quality or value than PR B?"
This isn't really want I want to do. Understanding how a PR affects a project isn't so much about quantifying value, but rather, it is about quantifying effort. A single line change can take takes days or months to get right and I want to better capture the effort required to make a change.
The questions/metrics that you raised are quite good and it is something that I will be working with Open Sauced (which you know I believe) to surface. The pattern that you've described is something that I wish to confirm as the goal is to find a way for maintainers to easily identify contributors worth nurturing and for contributors to find projects worth their time to contribute to.
> Is this for the org or the repo?
Below is a combination of all recently active repos from Redwood
https://oss.gitsense.com/insights/github?q=merged%3Atrue%2Bp...
Below are recently active repos for Next
https://oss.gitsense.com/insights/github?q=pull-age%3A%3C%3D...
Redwood had 79 unique contributors with one or more merged pull requests and Next had 214 unique contributors with one or more merged pull requests. If we ignore the merged criteria, Redwood had 96 unique contributors and Next had 350.