Product Development February 9, 2020

Who's using Ruby on Rails?

Syed Faraaz Ahmad @faraaz

Ruby on Rails seems to be fading in popularity these days among developers due to a number of reasons. But I think what Ruby lacks in speed of executing code, Rails makes up for it by DRASTICALLY decreasing the development time, which in my opinion makes it perfect for use in startups.

So, are you using Rails?

  1. 10

    I'm not using it for Indie Hackers. I used to use it back in the day, and I really enjoyed it, but once Node started to grow in popularity I switched over. There's something nice about using the same language on the front end and the back end.

    1. 1

      What do you use for Indie Hackers?

      1. 3

        Ember.js with server-side rendering on a Node/Express app, hosted on Render.com.

  2. 5

    Yes, I do. Actually I am now using Elixir/Phoenix on a client project, but still use Rails exclusively on my indie projects (like Get Tandem). I am also going to use it as a main example for deploying web applications in my upcoming book Deployment from Scratch. It's still going strong and have tons of great features. Having said that I kind of started to like Phoenix. The productivity is not 100% there when compared to Rails, but everything else is a little better.

    1. 2

      Have you tried LiveView yet?

      1. 1

        Not really. Had a good use-case, but the team wanted to move with putting everything to the React front-end. So I guess next time?

        Also I actually started with some setup and it was a little bit confusing so I am happy that I have seen today a PR to Phoenix to add --live switch for new projects :)

        1. 2

          I'm fairly excited about it since I see it as much more productive than Vue (for use-cases it works for), and I already saw Vue as a clear productivity win over React, which I'd used previously.

          That said, it's still pre 1.0 and changing a lot. I probably wouldn't use it for anything with a team at this point, but it's what I'm using for the site to host the new podcast I've recently started with Justin from Techzing.

    2. 1

      Hey have you seen https://www.tandem.net/? At first I thought you were talking about this language exchange app!

      1. 1

        Yes yes I know about them. My app is actually 2 years older, at that time there weren't as many nice options as before!

    3. 1

      Yeah I was trying to build with phoenix because of the performance and it was taking too long since I wasn't well versed with it so I built Debugg in Rails. I'll switch to Phoenix one day

      1. 2

        Yes, honestly I wanted to use Phoenix before and I am glad I did not. It needs some time to understand some limitations or gen servers. Now I learned all that at work and consider I could use it in the next project of mine :)

  3. 5

    I’ve been programming with Rails exclusively for 15 years now and I really cannot imagine using anything else. It’s just vastly more efficient to prototype and build with Rails than anything else, and it scales remarkably well.

    I have built a half dozen of my own side projects and products with it and I would recommend it to anyone who wants to build quickly.

    1. 0

      I would suggest you try out something like Next.js, Angular, etc. A lot has changed in 15 years! I'm not saying Rails is bad, but if you haven't developed in anything else in 15 years then "vastly more efficient to prototype and build with Rails than anything else" is probably outdated advice.

      1. 1

        Yeah I've used Nuxt.js (Vue's equivalent to Next.js) for my MVP and it was great (except there wasn't any documentation on authenticating it with a GraphQL API). But I'm curious what do you use at your backend?

        1. 2

          Do you actually need a GraphQL API for what you're doing?

          1. 1

            In which cases wouldn't GraphQL be advisable?

            1. 2

              I think it's good for when you have a complex API and separate programmers working on the back-end and front-end. I don't think it would be advisable for most projects with a single person coding everything.

          2. 1

            Not really but the idea for Debugg came to me when I was building a simple GraphQL API using Nest.js (for learning) so I tried to go a little further with it and it didn't work out. I think I was being naive using something I didn't completely know to build a production app

  4. 4

    I love Rails. Mostly because it's the language I learned first and which got me to code and building stuff. I also love the founder of Rails, DHH, and the whole mentality behind it. I wouldn't be against the idea of trying something different but I didn't had a good enough reason yet to justify the time investment of switching to a new, unknown, framework.

    1. 1

      I love Rails. Mostly because it's the language I learned first and which got me to code and building stuff

      Haha same. 😅 Have you tried Phoenix framework?

  5. 4

    Just "don't believe the hype".

    Rails is still one of the most perfect tools for bootstrapping. People, especially in the development community, always trying to bury something, but it doesn't mean anything.

    Node.js is trending, but using it for webpage/web service development is not always smart. For simple projects, it's just too much and doesn't have so simple framework as Rails.

    But ofcource if you already know Node.js is just simplier to use it instead of learning Rails.

    1. 2

      Yeah I totally get what you're saying. I spent 2 weeks trying to build Debugg in Node and it was taking too long, so I switched to Rails and I built the same amount of features and more in a day in Rails than I could in Node. I guess it's also about what tool you know better, if a Node developer tried building in Rails, they'd probably take longer too

  6. 3

    I'm using it to build BugHound: https://bughound.io

    I went from Node.js to Sails.js to Loopback.js and finally landing on Ruby on Rails. The community is great and it provides a lot out of the box without much effort.

  7. 3

    Yep!

    The performance argument only to applies to general use case at very high scale (like Twitter high scale) or specific use cases and any scale, which again is not what most people are doing or ideally a specific use case could just be extracted into a service.

    Honestly the only thing that makes me want to leave rails is I'd like some static typing.... But the incredibly well thought out framework makes it hard to leave, specially when you just want to get a great product out the door.

    1. 3

      Even Twitter didn't need to leave Rails. Their main problem was poor architecture decisions. Github, for example, is still essentially a Rails monolith with a very few performance critical portions written in C.

      1. 2

        excellent points, particularly Github!

    2. 2

      Oh I hear ya! I wanted away from Rails because it didn't have static typing and therefore no proper autocomplete tools so I went and tried Nest.js but I missed Rails because of its ease of use so I had to come back

  8. 3

    I'm using rails for my clients and my projects

    1. 1

      Awesome! What makes you choose rails over something else?

  9. 2

    I'm using Rails, still my favorite framework. I used Rails for EstimationBuilder.com, but using it for API, I'm using React on front end. Do not believe the Rails is dead hype.

  10. 2

    Ruby/Rails is my go-to choice for the backend. Using it for 10+ years, this is still a pleasure to just jump into the business code, add features in a matter of minutes (if things done right) and have well-tested code (a.k.a. "specs" in our world).

    Their Doctrine is a good read: https://rubyonrails.org/doctrine/

    Though, I use it less and less for the frontend part, preferring a combo React/Graphql.

  11. 2

    Rails is still my go-to for building web applications. I've always felt like Rails was built to be intuitive and practical for business use cases, and the lead contributors do a great job of maintaining that. Every major release adds features primed for real world use, for example Rails 6 adds incoming email routing and Rails 5 added websockets and webpacker. The ease of deployment via Heroku and number of gems make it feel like playing with legos sometimes - I can get a lot done without writing a lot of code. I can't praise it enough.

    I'm currently using it in two of my projects - VideeBop.com and Hypemarket.com

  12. 2

    Bottom line, using RoR I can have a working prototype of a Web app over the weekend - that's a lot. When working solo, fast development is key. I built edurge.herokuapp.com in a matter of hours

  13. 2

    I studied CS (C, C++), worked as an employee coding in PHP, moved to Java (for a couple months, luckily).

    In 2013 I decided to build my first startup in rails for the sake of learning a new language, and I've been using it for clients and side projects ever since.

    I built tools for clients which handle/send millions of request per day, and it works like magic.

    I do believe that technology needs to support the business, and not the opposite way around.

    Everything my clients need (including my needs) suits Rails perfectly. It takes me the least time to get up and running without performance issues.

    I do prefer Rails over other languages because I'm swimming in it, but if I see a different stack is better for this or that service, and the performance would me significantly better than rails, I would more likely go for it.

  14. 2

    I'm not using it, but I completely agree with you. If I had a friend who wanted to learn to code specifically for indiehacking, I'd recommend learning RoR. It's not hypothetical either since I do have friends like that and have recommended it. If they're coming from WP and already know a bit of PHP, I recommend Laravel, which is heavily Rails-inspired.

    If they're already an experienced dev, then I bring them over to Elixir and Phoenix 😄

    1. 2

      Oh hey Alchemist Camp! I remember how you shared my blog post saying you also prefer learning by doing (small world, eh? 😅) I'm trying to learn Elixir/Phoenix and your YT is very helpful!

      1. 1

        That's the goal 😅

        It was great to see your update about getting some email signups! I unicorned your devto post.

  15. 2

    I tried Rails when it first came out, but just couldn't get into it - it seemed to add a lot of overhead which just wasn't needed for simple apps. I fell in love with Ruby, the language though, so now, I build everything using a Sinatra based framework (www.padrinorb.com). Padrino gives me all the goodness of Rails (including gems etc.) but is far less opinionated.

  16. 2

    No. I'va tried it back in 2014, when there was a bug hype about RoR. But somehow I didn't like it.

    so currently I'm using Meteor JS.

    1. 1

      That's interesting. Where do you think Meteor excels where Rails falls short?

      1. 1

        I can't tell you really a difference, because I've tried RoR 2014 and started with Meteor in 2018.