Hi everyone, I wrote this tutorial. Any questions about it and I'll be around to answer them today :)
Full credit to you for taking the time to write this piece. It's a shame that far too many people in our industry are guarded about their knowledge, in the misguided fear that sharing their skills will somehow lead to a lack of paid work.
The only part I take umbrage with is:
"Our site looks so 1995 right now"
Man, I did some bitchin' stuff in 1995, full on blink-tag-extravaganza-animated-gif mayhem! It's a shame that shit predates the wayback engine, I can't find any of my work earlier than 1998.
Ok, honest question here:
Is RoR still relevant? It starts to seem like a fading trend, now that everyone is moving to the .JS phenomenon.
I really don't know much about backend, thats why I'm asking
You can achieve a lot with Rails in a very short amount of time. I used to teach how to make a basic version of Airbnb to beginners in two days - that would include payments, geo-location, user registration and more. Once you understand the principles behind how it works, there's a lot you can achieve.
Check out Coffeescript!
+1 here, coffeescript solves those problems quickly. Having programmed extensively in both ruby and coffeescript, I feel like they are very close as far as read/writeability. In some aspects coffeescript is actually cleaner.
What are good resources to learn coffeescript? I find a lot of times finding snippets in js but not knowing enough to make it into coffeescript
This might be what you're after: http://arcturo.github.io/library/coffeescript/
The coffeescript.org reference helps a lot too, and is very detailed.
You wouldn't happen to have a write up on the Airbnb tutorial online anywhere, would you?
I don't unfortunately, the material is owned by my old company, sorry!
That's too bad. Thanks though! Great write up
CodeAcademy has a Airbnb tutorial but isn't for rails. http://www.codecademy.com/skills/make-a-website
Yeh, that's just the front-end and design of the site, nothing to do with Rails or any of the functionality of Airbnb :)
Brilliant answer. I learnt Ruby and then Rails first up and it was definitely a lot easier than my failed attempts at learning JS.
For people trying to decide here, this is the correct answer. As the OP said here, it's trendiness has absolutely nothing to do with whether it's worth using, and this is always the case for every tool. In fact, I'd be cautious of more trendy tools, as they tend to be as such because they attract more beginning developers, and if you are a full time dev, tools that are good for beginner devs are not what you want most of the time.
If you are just trying to get something off the ground quickly, rails is a great solution. It's been around for a while and has a ton of gems you can use to not write extra code, as you can see in this tutorial. To be good with rails, you do really need to understand it's internals, which is a monumental task though. So if you are investing heavy in rails, know that you will hit certain walls after a while that you won't be able to get past without understanding exactly how it works under the hood, which takes some time and a good foundation in both programming and ruby.
If you are tying to build a more stable foundation for a larger app, starting off with an API is probably the way to go. Once you have a good API, then build out the front end in backbone/angular/whatever, or even as a native app if you want. You can also build APIs in any language more or less equally well. Sinatra is great for ruby (it's like a mini-rails), express is great for node, and flask is great for python. The flexibility of APIs is their strength.
RoR is very much relevant.
Some simple proof:
GitHub just made a pretty large effort to migrate to a newer version of Rails (Rails 3). See this writeup.
The master branch of Rails, which is at Rails 4.2.0 was last updated 2 hours ago at the time of this comment.
2,446 contributors have made Rails what it is today, and it runs some of the most useful applications on the web.
Relevance isn't about how old or "in" something is. Relevance is about matching the solution to the problem. In many cases, Rails exceeds simply because of the Ruby community and the wide range of gems available to do tons of common tasks. Making similar applications in Node is possible, but may not be as easily accomplished, simply because Node is still relatively young.
Hey Rik! Thank you for putting together this tutorial! I'm on a Mac 10.9.5 and I can't find a link to install Rails for my version. Would you please be able to help me out?
For 10.9, all you need to do is open Terminal and type in either:
gem update rails
gem install rails
Hopefully that should do something!
duh, my bad! thanks man :)
Bleh my comment was deleted. I was wondering if there was a way to make a rails app more simple. Rails just feels so bloated for a simple app like a job board or a blog. I'd be interested in any tutorials of simplifying an app down to as few files and directories as possible.
Try looking into Sinatra: http://www.sinatrarb.com/
Personally I don't mind the "bloat" of Rails. If I want to make anything more fully featured, all the tools I need are there ready for me to get going - no need to write everything from scratch. Plus if I ever take over someone else's code, I know exactly where everything is.
+1 for Sinatra if you want something a little less bloated, but its all about choosing the right tool for the job. Rails can get you a lot more functionality out of the box so if you are building something more complex, the simplicity of Sinatra's core means you might end up having to do more work on your own, which isn't necessarily a bad thing either.
great i was looking this thanks for sharing
I'm going to try this on Sunday
Hey, is the tutorial still available? Thanks!