8
11 Comments

JavaScript vs RoR

Aiming to be able to prototype web apps quickly, not much of a technical background.

I have an engineering friend who is mentoring my JS, but I'm reading that Ruby on Rails is easier for prototyping.

Is Ruby on Rails significantly easier or only slightly? Broad question as I'm not sure what the web app is yet.

on September 14, 2019
  1. 6

    Rails is far faster for building an MVP. I realized this when I played around with Rails for a total of two weeks and was already able to build prototypes faster with it than I could with Node, which I'd been using professionally for years.

    Why? It's a full MVC framework, it has DB migrations, it's got a great router DSL and ActiveRecord saves a ridiculous amount of time. Even more importantly, it's a unified standard. Drop into almost any Rails app and you'll see the same conventions. Google a problem and odds are very high that the architecture of your app is similar to everyone else's. With JS, it's mix and match at every level.

  2. 4

    I’m a javascript developer for many years, and honestly, if you want to focus on shipping prototypes and developer productivity, definitely go with Ruby on Rails.

    Hacker News will probably be a better place to find answer to your question.

    https://news.ycombinator.com/item?id=20717886
    https://news.ycombinator.com/item?id=20920555

    There isn’t anything really close to maturity and conventions of Ruby on Rails in javascript and node.js world, hence it’s significantly more productive.

    However, it doesn’t mean you not need to know JavaScript, you’ll still need it for some of your frontend work.

  3. 2

    One is a language, the other is a framework. RoR has a much higher learning curve but once you get over the hump, you'll be much more productive with it vs. building something without a framework.

  4. 2

    Seems like most people say JavaScript, and I would agree in this situation, but for a different reason.

    If you have resources that are capable in X, then you can hit the ground running with X. No technology will make up for experience, except for specific use-cases, such as client-side heavy applications (JS has a near monopoly on the client-side) or integrated.

    Stick to what you have available when starting out to test the waters :)

  5. 2

    You already received multiple comments in favor of JS. So I'd like to support JS choice as well, despite that I work with Scala.

    In your particular case you have one huge advantage — friend who is mentoring you. Since you have such an option, it's definitely better to start using JS. In addition to that JS community is one of the largest in the world of programming languages. So you will never feel yourself alone in your software development journey with JS.

    And of course don't forget that modern JS is able to solve problems on a server side, on web frontend and on mobile platforms as well. So you will not need to spend your time on learning something extra ;)

  6. 2

    If your goal is to prototype. Javascript.

  7. 2

    So as a non tech who learned some coding basics via tutorials myself - do you want to be a coder or do you want to work on your app ideas?

  8. 1

    Go look at something like NextJS deployed on Zeit Now or GatsbyJS deployed on Netlify. Those two options will help you achieve developer productivity and allow you to use your friend who is a JS resource.

    Don't underestimate having a friend to talk tech with 🙂

  9. 1

    Hi! I have been developing software with multiple technologies in the past 8 years including JS and Ruby, there is nothing faster to build robust prototypes than Ruby on Rails, the community is strong, awesome features have arrived with Rails 6 (check them out) and its conventions and great framework will give you a very complete solution out of the box (this includes Routing, Data Presentation, Data manipulation and Database Storage, so basically.... Your work is to build your product). The framework has a lot of features that will take a lot of time to build from scratch in other languages. You can create solutions that interact with React or a more Rails like framework like AmberJS, although, for a prototype I recommend sticking with Ruby on Rails full framework (Of course you will use JS here and there).

    Some online courses dont have the sensibility to transmit how easy it is to use Ruby on Rails, if you have some programming and database knowledge, I recommend you to learn Ruby first as a language https://ruby.github.io/TryRuby/ Read its documentation and features and then jump to Rails Guides Tutorials.

    Please read this: https://naturaily.com/blog/who-gives-f-about-rails

    If you decide to go for the Rails path. I have a guide that I have created for the new entriees at my company and I can share it with you, just drop me a line.

    Have a nice day.

  10. 1

    I would use whatever you're most experienced with. I can build prototypes much quicker in RoR than JS but that's only because I've had more practise with Rails.

  11. 0

    Second JS (as someone that has a lot of experience with both). Ruby is slightly easier IMO but not as flexible, it's worth learning JS for the extra it gives you with doing client side. You can even bypass coding any backend by using Firestore if you're prototyping.

    If you want to try Ruby then stay away from erb/haml for rendering client side and favour single page JS app for client side, it's just painful to clean up later.

  12. 1

    This comment was deleted 4 years ago

  13. 1

    This comment was deleted 7 years ago

  14. 1

    This comment was deleted 3 years ago