Building web applications from a business owners perspective: the reasons why we use Ruby

That’s something we do here, (my business), we build web apps.

A fair while ago now I had to make a decision which way to go for web app development, language wise.

I ended up choosing ruby.

Why?

Well not only does ruby have a really cool framework, Rails, but the language is very easy to use and learn.

The main reasons that swayed me to build a team of ruby developers over php and asp

  • No more SQL… Yeah, no more having to write sql. For a programmer that’s a shocking statement. But I’m not a programmer. I’m a business man, and as a business man I need apps built quick, I need fast development cycles and cutting out the whole sql side of things defiantly does that.
  • Ajax is built in. To do lots of fancy and cool java (ajax) things, you typically have to code it all yourself, which means as a business person I need a java programmer on staff too, but ruby has ajax helpers that do the majority of the java code for you. Again a time saver.
  • Rails environments. Rails can run in different environments, so development, test and production. This also means there are 3 different databases, it’s a big thing to explain, but it’s fantastic.
  • Version control. This leads from that last point almost, and sets up the next, we use SVN and Capistrano to manage versions and deployments, a new version gets deployed and then migrated.
  • Migrations. New additions to the database and system can be deployed and migrated to the test environment on the server (beta pretty much) for testing, if it looks all good, you can then do a production migration, so migrate all the updates to the production environment with a few lines in your shell on the server. Saves taking down a site, manually migrating databases etc etc etc. This does it all for you.
  • Reverse Migrations, again, I can’t mention it enough, if you push something into production and there is an issue, you can roll back to your previous version with 1 line in your command shell. This rolls back everything – files, new columns in databases, everything… You can then fix the issue in the test or development environment, and then deploy the new version. Super cool, all with no downtime.
  • MVC framework, models, views and controllers are fantastic, that’s a framework advantage and most developments use frameworks now days, php and asp, but rails is still very nice and I think does a great job of it. Easy for any developer to jump in and start working without having to read comments or a manual, or having to search through random code and files.
  • Easy to learn, I’ve found it one of the easiest languages to learn, which is great when brining on new staff, if you take on php or asp coders you need to be prepared to take a risk on how good they actually are, theirs skills overall might be alright but their actual coding ability could be average. With ruby, it takes lots of the coding out of the coders hands, an example is sql, you don’t have to worry that your php programmer is really bad at sql or not, or he might know sql backwards but be average with php. At least with ruby you know the developer is skilling up more and more on ruby and other languages or systems.
  • Gems are very nice, gems are like plug and play add-ons for your apps, you can install a gem with 1 line of text in your shell and right away you can start using its functionality. A gem can be big or small, it’s a whole application in itself, your app basically interacts and uses a gem like an API, but it’s all wrapped in together and deployed with your app.

Anyway, there’s lots of things you can compare and push back and forth about why one is better than the other, personally ruby on rails makes more business sense to me, it’s a rapid application development language and framework, it’s an actual object orientated language not a scripting language like php, we can build, fix and maintain fast, and still deliver a quality product, which is all that counts in my opinion.

Programmers will always want more control and flexibility with their language, they want power etc, ruby takes lots of it away from them so they assume its inferior and not worth changing from their super powerful asp or php, in reality that matters in certain conditions, when you need to really write an app well to achieve maximum performance etc, or to do extremely complex things.

However we’re not doing extremely complex things, and as far as power goes – servers are cheap, and we use grid layer servers, so scalability and performance isn’t an issue. For us rapid development and easy manageability is key.


Related Articles

  • So long LiteSpeed, hello former Soviet Union - nginx (0)
  • oDesk is cool and easy to outsource small jobs to (0)
  • So yeah, wonder if they’ll relist (0)
  • From $0 to $4,000 per month in 14 months – without quitting your job (4)
  • Is it no surprise that ebook sites are ‘quick sales’? (0)
  • Subscribe to TalkingDynamics

     Subscribe in a reader
    OR Subscribe via email, enter your email address:

    Delivered by FeedBurner

    Digg it like you mean it: These icons link to social bookmarking sites where readers can share and discover new web pages.
    • StumbleUpon
    • Technorati
    • del.icio.us
    • Fleck
    • Digg

    Leave a Reply