How we have cut our development time in half by losing Rails

While talking with the bright geeks at ROHOST at a local event, we come to realize that there are very few reasons to use Rails on a site that does not have the need for it. So while that’s common sense, the hard part is figuring out what is it that your site needs and if it does or does not benefit from what a framework like Rails gives you.

Here are some of the questions we’re going to answer:

  • Do you really need Rails?
  • What are the benefits of not using Rails?
  • Can you use something other than Rails?

What is wrong with Rails?

Let’s start by thinking about what a framework like Ruby on Rails is fit for in the first place.

The obvious benefits of using Rails are mostly related to application logic, tons of logic. So, for example, the minute you think membership site or social site then the obvious choice becomes Rails because it was designed for building web applications that are highly interactive.

But to be honest, most marketing sites are not like that. How about those landing pages you’ve been using; nope, not like that. What about your blog? Can you see where I’m going with this?

There is a significant number of websites that would never benefit from a framework like Ruby on Rails simply because the complexity of those sites is not that high in the first place.

So why bother with a framework when there are much easier ways of accomplishing the same thing without it!?

What’s better than Rails?

In this context, better is a synonym for less time to develop, update and deploy.

For things to be faster, in terms of developer time, they need to have less moving parts, fewer things that could break. So what does simpler look like when compared to Rails…?

Well, HTML and CSS are simpler. Yes, I’m suggesting going back to 1999, back to using static HTML and CSS sites. Kind of.

I can hear you going WHAT!? Yeah, I know, that sounds crazy but hear me out.

Sites like the ones mentioned above (marketing sites, landing pages, etc) do not benefit from a large framework like Ruby on Rails. Rails can do an awful lot but so what? What if you don’t need a lot? What if what you need is a simple site?

Why should I care?

Well, the reasons you should care about it is because it makes it cheaper to grow your business. The less time or money you spend to update your site (publish on the blog, add new pages, etc.) the more you can do.

Here are some of the reasons you might want to think about using a simple site.

Hosting, uptime, and security

You can host a static site almost everywhere, in fact, I think it’s hard to find a place where you can’t do it. And the best thing, you can also do it for free.

You can host your static site on Github for free. How cool is that?

The uptime you get by having less moving parts is dramatically improved. If the web server is up, your website is up. There’s no database, no queue service; it’s just the web server.

The last thing we need to mention in this section is security. And since there’s nothing dynamic, you are pretty much guaranteed to be 100% secure.

It’s also easy to add DDoS protection via CloudFlare or a similar service (thanks @clneagu for the tip).

Easy to deploy

All you need is FTP access, and you are good to go. Just sync your files; done. No need to set up a VPS and all the services associated with it. So it’s less DevOps work.

Cost

There are a bunch of hosting companies that will host a static site for free or very cheaply. So you don’t have to pay for tailored hosting services just because you use Rails.

Page speed and resources

To achieve the kind of speed that you would get by default from a static site, with Rails you would have to spend a few brain cells and time, of course, to configure caching.

Free up some developer time

Instead of using up your very expensive developer time for every tiny little detail you want to tweak on the site, you can just go to your designer or a slightly more technical marketer, and they can do it just fine. Almost everyone knows how to change an HTML file these days.

So what are the tools?

You can obviously get away with just a text editor and some free time, but that’s not how you do it in 2016. What you want is static site generator which will give you a little more power and flexibility.

A generator will help you extract common pieces of HTML (like the header and footer) for reuse so you can make your changes in one place and not have to edit multiple files.

Another thing a generator can do for you is it makes it easier to create categories and tags for your blog, or add pagination, or handle your assets, generate image thumbnails, etc.

So it’s not like you need to write everything from scratch again. The tools exist, and they help you achieve a lot in very little time.

Jekyll

I am going to mention Jekyll here because it’s very popular among rubyists but there are more like it out there (Octopress, Hugo, Docpad, etc.). You can see a list at StaticGen.com.

We’ve been using Jekyll for our own website, and it works great for us. It’s very easy to create new pages, add blog posts and even redesign whole sections of the site without any developer time. Our designer can do all that, so it’s a great time saver.

Conclusion

While static sites are clearly not meant for every scenario, there are definitely a few valid ones in which a static site can be a very useful tool.

So next time you think about starting a new Rails project, stop for a moment and think about what you really need and see if those needs could be solved by a static site (you’ll be surprised to see how much you can do with a static site).