Avantica Ruby on Rails Expert Christian Segura
August 23, 2010 Leave a Comment
We interviewed our most senior Ruby on Rails expert Christian Segura about this growing technology movement. Read his opinions below.
When did you start learning Ruby on Rails (RoR) and what interested you about it?
I started learning RoR more than 2 years ago based on the fact that I am a web developer specialized in scripting languages and at that time I used to work mostly with PHP. The forums, discussions and the web in general terms were pretty hot regarding the Ruby programming language and its most popular framework Rails.
What type of applications is RoR suitable for?
In general terms, RoR is suitable for most types of web applications that currently exist. However many people have been using it for quite a long time in apps such as e-learning systems, content management systems, blogs, CRM, social networks, e-commerce solutions, web services and API connectivity applications among others.
Do you think there is a real benefit for customers who choose RoR?
Indeed they are going to perceive real benefit from the start. RoR allows you to set up a basic application literally in minutes, which makes it great for the customers that enjoy watching results sooner than later (what customers don’t like that?). In that same line, Rails gems and plug-ins allow you to add core functionality into the application (authentication, pagination, etc.), that have been used by many applications and even more important are being tested around the world, so you can focus on development of customer specific business rules.
What are you favorite parts about working with RoR compared to other languages and frameworks?
I have to say that what I like the most from RoR is the fact that it is based in a pretty solid language. Ruby native core functionality provides developer with powerful tools such as metaprogramming and reflection which makes it really flexible and effective in some tasks that in other languages would be painful to accomplish. I think definitely Rails has an advantage over other frameworks because it is based in simple principles like convention over configuration, DRY and even the Model/View/Controller pattern (MVC). Any developer with the notion of MVC will feel comfortable working with RoR. The ramp up process for new developers that join an existing RoR project is clearly minor than with other languages/frameworks.
You are now the company teacher about RoR. Can you tell us how you train new engineers?
I like to start by taking a look at the powerful functionality that the language provide. Ruby has many interesting features that any developer can take advantage and that definitely is worth it to teach first. Also, I think it is important for developers to recognize where the programming language ends and the Rails framework starts. After that, I like to teach the basics and theory behind the framework: Active Record, Action Controller, Action View, etc. After some basics, I like to combine theory with the creation of a project from scratch since it is great for developers to see before their very eyes how fast they can build an application. At the very end, I include other more complex topics/tools not only from the framework but also that help to create better products.
What is interesting about upcoming changes in the language and framework? Do you like the direction it is going?
The next major milestone is going to be Rails 3. It’s really interesting because they are also merging the Merb framework (another popular Ruby framework) into Rails, and the core dev team is going to receive great input from Merb. Besides that, I think some of the interesting features are going to be ActiveModel which is going to allow the use of validators and other ActiveRecord functionality into regular classes, Responders which will allow to set specific business logic to be wrapped when you are sending a result back from controller to views (like the format of response, etc) and also performance improvements among others. They are also planning on defining more standards to have better API integrations, for example, new ActiveModel would make easier to include a particular ORM’s (by following the standards) instead of ActiveRecord if needed. The direction I think is the correct one.
Why do you think engineers like RoR so much?
I’m one of them! I can say that in general terms we like the flexibility that Rails and Ruby allow without leaving out important topics such as security or performance. Definitely Rails facilitates the learning process when you need to move from one project or application to another since you don’t need to learn the whole stack and architecture from scratch. The conventions will show you the way to go. One thing that every human being appreciates is having an easier life.