If you know me, then you know I’ve been a huge Genesis framework advocate for quite some time. But then I met the Beans Theme Framework. Though I tried to resist the temptation and stay true to the Genesis Community, I fell hard for Beans. I fell so hard that I joined the team and am now a co-maintainer. Let’s talk about what’s so special about Beans and why I’ve made the switch.
UPDATE: I’ve switched back to Genesis.
After WP Engine acquired StudioPress, I felt a renewed sense of optimize about the Genesis framework. A major company in the WordPress ecosystem is now investing in it.
In the summer 2018, I switched back to the Genesis framework.
I’ve truly enjoyed working with Thierry Muller, Christoph Herr, and all of the Beans contributors.
Quick Link: What I Like About Beans
I’m slow to switch my workflow or processes. That’s a fact. I know the Genesis framework inside and out. I teach and advocate using it. It’s an incredibly flexible, extensible theming framework with a vibrant community.
For a few years, Thierry Muller has asked me to do a code review of Beans. I resisted, not out of disrespect, but more to stay focused and on task. I’m often asked to review various products and frameworks. But I guard my time. Genesis worked for me. Why would I ever consider anything else?
Beans excites the engineer and architect in me. It knocks my socks off.
For the past year or so, Alex Spalato, one of my mentees, kept asking me to look at Beans. She frequently talked about how fast it was and how she got perfect scores on various speed grading sites like Pingdom and GMetrics. “Head down, Tonya. Stay focused.”, I tell myself.
Then one day, I got curious. What’s all the buzz about? Seriously, why are Thierry and Alex so passionate about it? Okay, I’ll take a look.
Where do I start my review of Beans?
Starting on anything new requires a learning curve. Where do you start?
For me, I start by exploring the architecture, how it is constructed, is there separation of concerns, and how is the code’s quality. Immediately, the quality jumped off the page. Thierry did a brilliant job in crafting the architecture. Makes sense, since he’s a WordPress Architect at XWP.
Now I’m intrigued. Let’s go deeper.
I think what caught my eye and pulled me in were these key components:
- The Smart Event API. Seriously, this API is smart and the missing component for WordPress. We may just need to make this a separate API. It’s that good.
- The Asset Manager. The ability to gather, concatenate, and optimize all of the stylesheets and scripts is something that’s been on my TODO list for awhile. Bam, it’s right here in Beans.
- The Compiler API. Loading what’s needed on a per page basis makes my heart sing.
And then I saw the speed. This framework is blazing fast, far exceeding Genesis. Vroom….sign me up!
Personal Message to Genesis
I’m sorry Genesis, but I’m switching to Beans. It’s not you, it’s me.
I just want something more innovative, faster, extensible, and configurable. We’ve had a lot of good years together, you and me. But I’ve outgrown you and it’s time for me to move on. I wish you nothing but the best.
P.S. I promise to only speak kindly of you and continue teaching Genesis developers.
What I Love About Beans
Okay, I said it. I love Beans. It excites the engineer and architect in me. Let’s talk about what I love.
- Reason 1
The Smart Event (hook) API. OMG so smart and much needed. You can change only the priority number, callback, hook (event name), or arguments. #giddy.
- Reason 2
The Compiler API. It rolls up all assets into a single stylesheet and script. The Asset Manager I’ve been waiting for.
- Reason 3
Vroom, it’s incredibly fast!
- Reason 4
No need to remove default behaviors and components before building what you need in your child theme. Did that ever frustrate you with Genesis?
- Reason 5
HTML5 out-of-the-box with no legacy, old XHTML baked into it and weighing it down. Psst,
genesis_html5()drives me crazy in Genesis.
- Reason 6
You pick what should be on each web page and only that loads. Powerful!
- Reason 7
Rock solid, compliant, and expressive HTML markup.
- Reason 8
Better, easier, more intuitive markup. I find the markup and attributes much easier and more intuitive in Beans than in Genesis. It’s all configurable without the need to add a hook for markup attributes.
- Reason 9
The amazing UIKit front-end UI framework is baked in. Look at the goodies you get. And in Beans 2, you’ll be able to add any UI framework or none at all.
- Reason 10
Prebuilt, ready to use fragments (snippets/partial views). Need post meta or a gallery. Bam, load it right into the page.
- Reason 11
Well-built, thoughtout, and architected by a rock solid WordPress Software Architect and Senior Engineer, Thierry Muller.
- Reason 12
And drumroll please…Beans is FREE and Open Source (FOSS). WooHoo!