Talk with the Experts: Glenn Goodrich
This is a recap of our recent AMA with Glenn Goodrich, our Ruby channel editor and author behind Rails: Novice to Ninja on SitePoint. Our 1-hour AMA’s is your opportunity to talk with an expert, directly.
Recapping Ruby on Rails
Most of you have heard of Ruby on Rails (RoR), even if you’re not proficient with it yourself. Ruby is an object-oriented scripting language which is incredibly powerful, and Rails is the predominant framework for building web applications with Ruby. Ruby on Rails is very well known – many people even learn it before really learning Ruby – and it can serve as the platform for all sorts of applications.
Combine all of that with the fact that Ruby and RoR developers are in high demand, and you’ve got plenty of reasons to get involved and learn Ruby! Glenn covered a lot of material about Ruby and Rails during the AMA – let’s take a look at some of those questions and answers!
Hey Glenn, if you were building a brand new website today from scratch, would you still build it with Rails?
Glenn: Hey, thanks for the question. The answer is “maybe”. I am a pretty big “use the right tool for the job” kind of programmer, so if Rails is a good fit, yes. For example, my last big project had microservices, etc. (all the buzzwords) and we did the services in Rails but the UI in Node/Express. Make sense? I think Rails is excellent for many applications, but not all of them.
Have you used Action Cable for anything? Seems like an exciting feature, but I haven’t really got any projects where there is that much of a use case.
Glenn: I used ActionCable in a prototype for a client recently. The use case was a “Kudos”-type app that looked a bit like Slack. It was easy to use and pretty cool, if you don’t mind the Redis dependency.
What is the perfect use case for Action Cable?
Glenn: Well, really anything that requires a more real-time experience, like a chat app. Incidentally, we have a tutorial on the Ruby channel about that very thing. If you want to see when someone comes online or someone mentions/messages you, etc. That kind of stuff.
Who is the intended readership of your book? Would more experienced developer learn something new?
Glenn: The intended readership are those new to Rails, for sure. However, I will tell you that I learned a fair amount writing this book. So, I think anyone will learn something new!
What’s it like writing a book?
Glenn: Well, for someone that loves to write, it’s great. It was a lot of work, but we were lucky in that the previous edition (written by Patrick Lanz) was extremely well done. I used a fair amount of his content and examples, which allowed me to focus on the upgrading aspects more. I enjoyed it.
What’s your testing setup?
Glenn: I love RSpec, so I almost always reach for it. The
context syntax really allow me to make my specs expressive. Minitest is great, but I have been using RSpec for years and it’s like a favorite tool.
Would you recommend that people new to Ruby/Rails learn some Ruby first or do you think it’s ok to jump straight into Rails?
Glenn: I talk about this in the book a bit, but the quick version is: Many people (including me) come to Ruby through Rails. You can be productive and get some stuff done without diving into Ruby. However, if you’re serious about Rails development, you must learn Ruby well. It doesn’t matter how you got here, but it matters that you cover all the bases eventually.
I’m a front-end developer who is also interested in programming… do you think that there are more suitable languages and tools rather than RoR and Python?
Glenn: I think you can definitely add to your skills learning Ruby or Python. I recently wrote about why I thought Rails was still a great thing to learn, and one of my reasons was it teaches you the conventions of the web. As you study Rails’ conventions, you learn why they are there and what problem they solve. This tells you the challenges of the web. Then you can learn to use other tools (gems) to solve them or make your own. I would certainly encourage you to learn a backend framework/language, and, of course, I would say go with Rails…
Wrapping it Up
Thanks again to Glenn for participating in our AMA, and thank you to everyone who had questions and discussion about Ruby and about Rails! If you want to take a look at the entire AMA, head over to the SitePoint Forums thread.