Some of my favorite things about Redwood

Some of my favorite things about Redwood are things that many disagree with, including myself, during my journey as a developer.

Too many files. - splitting them into directories works, it works for Nest and Angular. I like that. It’s the dependency injection learning curve that bugs me.
Unnecessary tests - yes, you could argue that small components don’t need their own tests, and that a single test to see if each of a group of components renders suffices, but the default of testing to see if a component renders is nice, and it gives an obvious place to add props for components that require them.
Too much complexity - why do I need Storybook? What if I’m not using GraphQL, SQL, or Prisma? I like how it is integrated, and the stuff it comes with. It’s easy to turn off Storybook, and is easy enough and will be easier in the future to turn off GraphQL, SQL, or Prisma.

And my favorite:

Too opinionated - Rails/Django get this criticism often. Perhaps they are too opinionated. I’m glad that Rails and Django are quite opinionated, because otherwise it’s difficult for me to be productive (I’m still using Django for some client projects). Ditto for Redwood.

I haven’t heard these about Redwood yet, except from myself. Sometimes I prefer single file frameworks like Sinatra…


Could not resist responding - even if there is a slight chance that I got confused with the use of the “double-negative” :wink:

In summary, I love Redwood’s opinionated character (the fact that I agree with all opinions, is just my luck)

My personal preferences

  • Dependency Injection “rules”: once you get used to it, it’s a breeze.
  • There is no such thing as “unnecessary tests”. Forcing this down my throat is terrific, as the testing setup with so many choices available was a nightmare for me.
  • Storybook is God sent, as Redwood is a full-stack application so, I just love the support for UI development in a collaborative fashion (UI designers separated from the code developers is never so far fulfilled dream, in such a low cost (free) package as Redwood)
  • Someone without the need for Prisma, GraphQL etc. might wait until these components can be managed in the form of plugins (although even editing some generated code would not be difficult)

When I saw RedwoodJS documentation for the first time, the term “preaching to the choir” came to my mind immediately. However, I understand that there are many choirs …