thunk juice

putting the "meth" in "programming methodology"

I'm Already Sick of Middleman


I initially started this blog with middleman, which I thought was amazing compared to the old-world system of SQL db-powered wordpress blogs. However, I’ve decided to move to gatsby, in spite of it’s being slightly unstable during its transition to 1.0.

Middleman used to be a sort of Rails-for-static-sites setup. As frontend development became more sophisticated, this was no longer adequate, and middleman moved from their original rails-style asset pipeline to their new external pipeline, which allows you to do things like use webpack within middleman-based sites.

In a sense, this is exactly the sort of thing they should do, and from what I can tell they’ve done a very good job of it. If you were already heavily invested in middleman for some project or other, but needed to be able to use webpack and React and Babel within your middleman site, no doubt you’d be extremely happy with the work the middleman people have done. And no doubt after a little time, the overall middleman framework with the better-integrated external pipeline will be as simple to use as old-style middleman.

But if you’re a mostly-backend developer, who wants to be able to build a sophisticated static site without having to develop a really deep understanding of how all these tools work[1], it’s really not for you, right now. Gatsby, on the other hand, is very nice for this, since it was built for webpack & React from the beginning. Check it out. And help Kyle with 1.0 so I don’t have to.

You probably should take any recommendation on frontend tooling from me with a grain of salt, but: if you are starting a fresh static site project, I would advise against middleman if you don’t have specific reasons why you want it. If you’re thinking “I want one-a-them static site generator things,” don’t choose middleman[2]. If you’re thinking "I’m an experienced rails developer, so middleman will be easy for me" experiment with some specific things you know you’ll need before you commit yourself to it.


  1. I’ll spare you the no-doubt-entertaining-to-actual-frontend-people descriptions of me flailing away at webpack. ↩︎

  2. Not today, anyway. Who knows how much better they’ll make external pipeline in the future though? ↩︎

Posted June 7, 2017