Bison - The Fullstack Jamstack in-a-box

In case you weren’t already confused enough about the differences between Redwood and Blitz we now have a third contender, Bison, with a very similar overall architecture but its own particular combination of technologies. Chris Ball appears to be the brains behind the project. It is supported by Echobind where he works as CTO.

Bison knows that while good artists borrow, great artists steal, and they have taken direct inspiration from Redwood with their own version of Cells. But they also have their own vision of what they want the framework to be and where they want it to go:

Think of Bison as a bit closer to the metal, but preconfigured for maximum DX and efficiency. The good news is, if you disagree with any of the choices we’ve made, nothing is hidden from you and you’re welcome to adapt the “framework” to fit your needs.

In tandem with the public announcement of the project they also released a short overview video and a long deep dive of the entire architecture. I really love this approach and I hope other new frameworks on the horizon consider it.

Here’s a break down of each stack and how they compare:

Redwood Blitz Bison
Routing Redwood Router Next.js Next.js
Types TypeScript TypeScript TypeScript
GraphQL Client Apollo Vanilla JS/TS Nexus
Not-an-ORM Prisma Prisma Prisma
Code Generation Redwood CLI Blitz CLI GraphQL Codegen, Hygen Templates
Styling Tailwind Import CSS Chakra UI
Forms React Hook Form Vanilla JS/TS React Hook Form
Testing Jest Jest, RTL Jest, RTL, Cypress
Deploy Netlify Vercel Vercel

All three frameworks seem to have their own authentication which would probably need a much longer post than this to directly compare. All three have their own unique opinions about project and file structure that would also make an interesting post by itself. All three support SQLite/Postgres out of the box with the option to switch in other databases of your choosing.

I think that covers all the big stuff, let me know if I left anything off or made any errors.

15 Likes

Before every picks up their pitch forks saying one is better than the other.

This is a new sector of JAM Stack with so much to be created and different paths to take to reach the same goals. In my eyes as it promotes the fullstackJAM (fsJAM)?

So I wish them luck and hope it grows and succeeds! :seedling:

5 Likes

I totally agree with you Burnsy! Sending a warm welcome to the world of framework building. I’m super excited to see what everyone builds!

3 Likes

Having many creative people bringing new ideas and solutions to the space will no doubt make for great products

Like Redwood tree pollen little seed ideas fly around and grow into something huge! :grin:

BTW - Already looked at the Hygen templates that Bison uses. Rather nice.

5 Likes

Thanks for the overview @ajcwebdev and I completely agree with the comments so far! Appreciate the lack of pitchforks :laughing:.

I absolutely view this as complimentary to the overall FSJAM (thanks @Chris!) ecosystem. The goal was not to add confusion by introducing another option, we just wanted to share our approach and ideas with the community. Eliminating copy/paste of code between projects that use this stack is also a huge win for us. Unlike Redwood and Blitz, Bison is conceptually closer to using CRA and then immediately ejecting. Once the app is generated you are essentially on your own for upgrades. That may change, but it was a far easier starting point.

I met with @mojombo a few months back and joked that I felt like we were creating somewhat of a manual Redwood. Like we say in the Readme, it’s entirely possible that we adopt Redwood in the future. For now though, especially given we are still in the early stages of this kind of approach, I feel like Bison can help get people onboard with the general FSJAM philosophy and stay a little closer to something they might have created themselves (just with a lot more time invested).

If you get a chance to try it out, please give comments or suggestions. If there are any approaches or patterns that may make sense to adopt in Redwood, I’d love to talk about them as well!

7 Likes

I love the idea of everyone being welcoming and trying to support fsJAM continues to grow and succeed. I have created a twitter/discord account to help pull lots of information together from multiple fsJAM Frameworks

Totaly unofficial of any of the frameworks but I would love a place for people to join and have some fun chats between frameworks!

twitter - https://twitter.com/_fsJAM
discord - https://discord.gg/c7nqapp

1 Like

Nice work, Chris! I was just about to ask if you were the individual behind this new thing I saw on the Twitters:

:rofl:

3 Likes

I really want to help see this sub section of the JAM Stack succeed, soon as I wrote it out earlier it was just obvious something that I needed to do!

3 Likes

Congrats.

Maybe, adding GQLess would be amazing for all of these frameworks.
Basically, we can forget about data-fetching logic at all.

I hope, there’s a bit of work we have to do. But, it’s a sound concept.

1 Like

Their GitHub star history is a very rough indicator of their respective popularities:
https://star-history.t9t.io/#blitz-js/blitz&redwoodjs/redwood&echobind/bisonapp

Here I’ve added RedwoodJS, BlitzJS and Bison. Feel free to add more JAMstack fullstack frameworks, and share the resulting link.

Could be interesting to watch, going forward. Please feel free to suggest better indicators of popularity.
(Not that popularity is the be-all and end-all of frameworks, of course).

2 Likes