Dear .NET – You’ve been an excellent development platform. Thanks to corporate America, I got to ride business class – not only flights but with your Visual Studio 2012 Ultimate (funny, it actually costs as much as a business class ticket to the other side of the planet!), Sharepoint, TFS and other sweet tools you’ve got to offer. But when it comes to start ups and cool things out there, you’re like getting married to a rich old woman who loves to go shopping every weekend (that’s a terrible comparison, I know!) and it’s hard to turn away from other good tools in the other side of the developer world.
I was introduced to Ruby on Rails recently. Although it was a bit odd initially, coming from a world with ; (semi-colons). It was pretty hard to wrap my head around some of the loosely typed syntax. Nevertheless, I’ve started to realize the full potential (Or atleast 80%) of what Rails can do and would like to explore it to the fullest.
Although there are lots of good resources out there for Rails. I’d like to blog about the teensy-weeny information I was able to gather as part of my ongoing Rails expedition.
To begin with, I started with these resources -
- Rails for Zombies (http://railsforzombies.org/)
- Some of us would have seen this guy from the MVC videos from way back when. Gregg Pollack – He is absolutely phenomenal. After a couple of screencasts – I was like “Whaaat?? Did you just cover MVC, CRUD and Queries (LINQ as we call in the .NET world)?? Is it that simple??”
- CodeSchool (http://www.codeschool.com/)
- Having gotten through 50% of Rails for Zombies, I automatically got a Pro subscription with CodeSchool (which teaches Rails from the basics with it’s sweet web editor) and has more Gregg Pollack tutorials
- RailsCasts (http://railscasts.com/)
- CodeSchool TV (https://www.youtube.com/user/CodeSchoolTV)
- CodeSchool’s youtube channel FTW!
- PeepCode (https://peepcode.com/screencasts/ruby-on-rails)
- I haven’t started this one yet. But I’ve been told it’s pretty good. Definitely something worth checking out.
Having acquired some rogue skills in RoR from these screencasts, I decided to get a book to discipline myself. So I bought this one (which had pretty good reviews) – Ruby on Rails 3: Learn Rails by Example by Michael Hartl. It’s a very nice book where the author takes you through an example of creating a Twitter like site from the scratch. He does it with TDD (Test Driven Development), so that’s a plus (as other resources I’ve looked into didn’t go deep into TDD as this one did).
Having spent almost a month learning and playing with Rails. I decided it’s time to do some code. So I formatted my Windows 8 gaming machine (Alienware M15X) and installed Ubuntu 12.04 (No regrets!).
I got these installed to start with -
- I followed this article in Smashing Magazine (step by step) and got rails working almost perfectly.
- Next stop IDE – I’ve used Netbeans before and it looked like Netbeans had some good Rails plugins, so I went straight ahead and grabbed Netbeans with its plugins.
- I was told Aptana Studio, Eclipse etc are also good IDE’s for Rails
- While we’re talking about IDE’s – as I explored Rails, I found that IDE’s hardly play a major role. You can almost do everything from the terminal / console. And it’s a lot simpler too.
- I used a Mac machine for Rails development too. I loved the Sublime text editor – way more than TextMate and other text editors I’ve used in Mac.
- Having covered the front-end, I wanted to get a good DB environment with a decent toolset (as I will always feel nostalgic without SQL Server). PostGreSQL looked like a pretty good option. I configured it as mentioned in the article and it worked like a charm.
- Rails comes with SQLite which isn’t too bad too.
- Having gotten the development environment ready. It was time for source control and code hosting. I went nowhere but GitHub. I followed this article and got my repository setup in seconds.
- There is a similar hosting application like GitHub called BitBucket – It is really sweet especially if you’re working as a team. Definitely something to checkout.
- To get fancy – I found that there was a free CI (Continuous Integration) environment for Rails which plugged into GitHub’s public repository for free! Yes – TravisCI
- Another good CI alternative – CircleCI which helps you plug into private repositories of GitHub
- Deployment == Heroku == Cloud (9)
- Heroku is a sweet place to park your app no matter if it’s Camry or a Lamborghini.
Next stop – App structure and writing some code (which I hope to cover in the next post – God knows when)