Ruby on Rails is Framework, which is used for web apps connected to database development, which are built-up on the model-view-controller architecture. This framework was created by David Heinemeier Hansson, Danish programmer, within his work on project Basecamp and was firstly released in July 2004. The main breakthrough happened in 2006, when Apple announced, that it will distribute Ruby on Rails with new version of their own operating system OS X v10.5 “Leopard”.

Convention before configuration

One of the basic principals used for this Framework is, that convention goes before the configuration. Programmer then configures primarily those parts of app, which are different from the ordinary settings.

Ruby on Rails’ impact on web app development

Ruby on Rails significantly affected web app development, its impact on other web frameworks is noticeable till nowadays, e. g. Django for Python, Laravel for PHP, Phoenix in Elixir or Sails.js or Node.js.

Advantages of Ruby on Rails

  • Best industry standards. Ruby on Rails is Framework “with opinion”, therefore it performs programmers its access to solution. One of the pillars is philosophy DRY (Don’t repeat yourself), which provides easier app maintenance.
  • Speed of development. Ruby on Rails was created to make it possible to quickly develop prototype and the final application. It uses system of modules, script generators and effective system for administration of packages, so it would be possible to create complex apps with the usage of few commands.
  • Community. Ruby on Rails is open-source Framework, which is supported by active community of talented programmers. Because they use Framework for their projects, they have an interest in constant improving of the base of the code and implementation of the new functionalities. Thanks to that, there’s a big chance, that the problem, which the programmer solves, has been already solved by someone else and he doesn’t have to solve, what has been solved already. Framework is regularly actualized, mistakes are being corrected and security keeps track with the best industrial standards.

Disadvantages of Ruby on Rails

  • Slower operating speed. Applications has worse scalability, because the operating speed is relatively slower in contrast to e. g. Djang or Node.js. Although it is unlikely, that the app would have observable efficiency problems, unless it hasn’t got the equal massive user base as e. g. Twitter. Twitter tried to improve the Ruby on Rails efficiency after the app gained world popularity. Although Twitter Framework did not leave completely, some of the components had to compensate with to solution with Scala usage.
  • Lack of flexibility. Ruby on Rails has adjusted many soli dependencies and modules, thanks to having “own opinion”. That can be useful, if the app has the usual functionalities. If the programmers try to create unique solution, Ruby on Rails probably won’t be the ideal choice.
  • High price of wrong decisions. Wrong decisions regarding to architecture in initial phases of project can have higher financial and temporal impact than with other frameworks. Structural flaws can be hard to repair with regard to the narrow interconnection of individual modules.

Summary

Ruby on Rails is one of the best development frameworks, it has great community, quality code base and lot of options. For its apps was chosen by e. g. Airbnb, GitHub, Zendesk or Bloomberg. However, it is not suitable for apps, which requires absolute control over the architecture, modules, database integration and sever deployment. In these cases, it can be more convenient to use e. g. Node.js.