Let’s talk about Middleman (Ruby)

Franco A.
Hashdog Blog
Published in
3 min readJan 9, 2017

Middleman is a static site generator using all the shortcuts and tools in modern web development.

For sure one of the most popular Front-End tools. You can use it to build static files (HTML, CSS, JS, etc) that you can then load directly onto a CDN and serve quickly and securely.

For websites that don’t update their content daily, static is definitely the way to go. You get speed, stability, and iron-clad security because there’s no server that can get compromised.

Interview

Thomas Reynolds as the father of Middleman let us know what news in the version 4.0. He has been interviewed by Jon Stokes and I took the liberty of create a compilation of highlighted topic of the interview.

What’s new?

We remove a lot of garbage and cruft in the system. And I just replaced a bunch of pieces that were global and singleton-based with much more instance-based stuff. One of the big wins from doing that is that Middleman can run much more in parallel. There’s a lot of removed functionality that has replacements people can still use if they were reliant on that functionality, but it’s a lot smaller and cleaner codebase.

There’s the asset pipeline stuff…

What I did in the core is open up an arbitrary API that says, “we know you’re going to have a whole pipeline of different tools you need to use, and not just one all-in-one solution.” Trying to make Middleman all-in-one requires too many features to support and too many edge cases.

We added this concept of the external pipeline, which is basically just a subcommand. You can run as many of them as you want and Middleman will orchestrate them. So you can have a SASS compiler over here doing SASS things, and Grunt doing your source maps. It’s a lot more pick-and-choose and a little less straightforward for the base case. But, at least to me, it seems like the ecosystem for front-end stuff is kind of leaving Ruby behind and this is basically the best way to allow people who still want to use Middleman to use things like npm and Node, as well.

What about React, Ruby and the future of Middleman?

I don’t really know, it’s hard to predict. Middleman is the only Ruby project I have. You can do very good things with all of them, but they’re all… I’d just rather be in Ruby, honestly.

Microsoft is coming out with Node tooling. React and those frameworks — it’s not like their build tools are going to shift away from JavaScript. I think it makes sense for front-end tooling to have the same language you use on the front end, so that will probably continue.

Are you using React in some internal project?

We do a little bit. We’re all over the place. We have internal projects in React, and we’re doing a bunch of React Native stuff for iOS right now.

But React Native, it has one single purpose, and all that stuff that you need to add on normally is already there in iOS. So you can just crank out views and apps in React Native easily.

Conclusion

I have been using Middleman from the first version and I love it! If you don’t know it, please take a look. I have created hashdog.com, hashdog.io, hashdog.ninja, hashdog for Startups, hashdog for Business and much more!

Please, if you have any question or suggestion contact us!

Source: https://collectiveidea.com/blog/archives/2016/06/07/interview-talking-middleman-v4-and-front-end-dev-with-thomas-reynolds

--

--