den-materials / wdi-orientation

[tools]
Other
0 stars 1 forks source link

What is Ruby on Rails used for? #7

Closed cg923 closed 7 years ago

cg923 commented 7 years ago

I wanted to learn more about Ruby and Ruby on rails because I really didn't know anything about it.

This link gives a good overall description of Ruby, Rails, and how they work together: http://railsapps.github.io/what-is-ruby-rails.html

This link talks about why Ruby on Rails is so popular and such a good language for devs to learn: https://skillcrush.com/2015/01/29/13-ruby-rails/

Rett didn't know much about ROR but did point out that it's not listed on a Stack Overflow Developer Survey for most popular languages. So that's interesting. I'm pumped to see what it's about though!

ZebGirouard commented 7 years ago

So we'll start with what you may already know:

1) Ruby is a language (like Javascript) 2) Ruby on Rails is a framework (like Angular, but on the back end)

What is Ruby? It is a language explicitly designed to be human readable instead of computer-friendly. So its syntax reads much more naturally than JS and other languages. But apart from that and some other slight differences, it has the same features (arrays, loops, conditionals, etc.)

What is Ruby on Rails? It is an incredibly opinionated framework built around the MVC (Model-View-Controller) paradigm we will discuss in Unit 2. Basically, it creates files that manages data (model), files that manage what the user sees (view), and functions to connect that (controller). It prides itself on self on ease-of-setup (one of the classes below shows how you can get an app up in < 5 minutes). However, its most common criticism is that ease-of-setup relegates much code to "magic" until you gain expertise in RonR. Since it does so much for you, it can be hard to troubleshoot because you don't know where everything is. This makes it a great fit for small teams and start-ups that need to build working code incredibly quickly.

This is basically the polar opposite of Node, which we will teach in Unit 2, and can take a while to set up, but is not opinionated, so you write everything yourself precisely, which makes it easier to troubleshoot.

Until fairly recently, we taught this stack in Denver, so feel free to use these as an intro to the topic:

https://github.com/den-wdi-2/intro-ruby https://github.com/den-wdi-2/intro-to-rails

I have also used these tutorials, and they're pretty solid:

http://railsforzombies.org/ http://guides.rubyonrails.org/getting_started.html

But I would hold off on this investigation until the end of this course (Week 11 or later).

Does that answer your question?

cg923 commented 7 years ago

Thank you, Zeb. That totally answers my question. I feel like I have a much better idea of what RonR is, what it's for, and I thought the idea of how "opinionated" a language/system is is very interesting. I'd like to know more about that (I'm sure we'll get there).