Health Minister Zweli Mkhize has said that Phase Two of the COVID-19 vaccine rollout in South Africa will kick off from 17 May. Mkhize…
With the plethora of choice presented to you in deciding the best coding language and framework for your next development project, it can sometimes become a bewildering undertaking to know which is the right one for your specific solution.
Each development project is in some way unique, be it a website, mobile platform, analytics engine, back office system or the consumer facing interface of your business. I have long believed that, given this enormous diversity of choice, there is no right answer to the question of which coding language is the single best option.
We are in fact advocates of the school of thought that each unique challenge should have an equally unique solution. In other words, to be platform agnostic and not dogmatically try to box every project into any one particular language regardless of its relevance or efficacy.
We have nevertheless in our decades of combined technical experience found that Ruby on Rails has presented itself to, in many cases, be the most versatile, extendable and dynamic option.
There is still much that is misunderstood about the differences between the various coding languages and frameworks out there today and which particular benefits each is able to bring to any given project. As such, I would like to provide some of the insights that we’ve gained through our hands on knowledge gained through the delivery of over 30 development projects mostly using Ruby on Rails as our preferred framework.
But first, perhaps a short history lesson to give you some context as to why Rails has become the powerhouse that it is today in less than a decade.
Ruby was first created by Yukihiro Matsumoto, or “Matz”, in Japan in the mid 1990s. It was initially designed for the express purpose of programmer productivity. This was based on the premise that programming should be fun for programmers.
It had therefore emphasized the necessity for the language to be understood by humans first and computers second, which lead to its popularity within the development community.
Ruby on Rails as it is known today however hadn’t come about until David Heinemeier Hansson extracted the coding practice from his work on the project management tool Basecamp.
From there Hansson first released Rails as an open source framework in July 2004, where it has since gone on to form the basis of some of the most recognisable web platforms used today, including AirBnB, Hulu, Shopify and even GitHub.
With that brief introduction out of the way, let’s get into five reasons why we believe you should consider Ruby as the coding language of choice for your next development project.
Ruby on Rails developers are likely to have a couple of years coding experience under their proverbial belts given the relative complexity of the language. Being something of a specialist area, it’s not usually the first port of call for most beginner developers. The expertise then tend to lie with established engineers who are well versed in development methodologies and coding best practices.
There are of course many exceptions to this, but in our experience there tends to be a fairly solid correlation.This means that where Ruby is concerned you are probably going to find some pretty capable resources behind the curtain.
Any open source development framework is only as good as the developers who maintain it. Fortunately, Rails has some of the most passionate and skilled communities of any development language. These devs are fiercely dedicated to keeping their work clean and up to date and ruthless in routing out substandard projects.
Having the support of an enthusiastic community means that problems can be solved quicker, technical documentation is more prevalent and new and more efficient standards are constantly being invented and refined. This provides an undeniable edge over other less popular or immature languages and frameworks who leave developers to struggle for hours being the first to solve a new problem.
Speaking of saving time, what bigger waste of a project budget can there be than having to constantly reinvent the wheel on every new build. Rails as a framework has well established defaults for almost everything you need and is modular enough for you to adapt it for nearly any use case.
Moreover, there are extensive libraries of pre-existing “Gems” — which essentially act as smaller self contained programs that can be plugged into the greater system. This leads to considerable efficiencies in not having to rewrite these functions entirely from scratch every time.
Odds are, you’ve probably already used many of the applications that were built with Rails: Basecamp, GitHub, Shopify, Airbnb, Twitch, SoundCloud, Hulu, Zendesk, Square, Highrise. Those are just some of the big names, but there are literally hundreds of thousands of applications built with the framework since its release in 2004.
Some of our bigger systems developed on Rails included Soccer Laduma, M-Net and Discovery Africa but to name a few.
Some security features are built into the framework and enabled by default. Using Ruby on Rails also means following the Secure Development Lifecycle, which is a complex security assurance process. And if your site is custom built specifically to meet your requirements it would be less prone to security vulnerabilities that would otherwise have been present when using theme based templates or third party plugins on platforms like WordPress.
These are only some of the top reasons why we think Rails represents a formidable option for building some of the best looking, most powerful and adaptable sites that can be found on the web today. These are of course not exclusive to the Rails framework and, as with anything, there are a few downsides to be considered as well.
Some of the negatives that bear mentioning are the relatively higher cost of Ruby on Rails based projects given the scarcity of engineers proficient in the language (especially in South Africa), the often steep learning curve for new developers to pick up a project mid cycle and the ever changing nature of its practices that can lead to engineers who are not keeping up with the latest developments being left behind.
These hurdles are for the most part, however, outweighed by the strengths of the platform.