It is currently economically feasible to develop complex web projects using frameworks in one of the following languages: PHP, Ruby, Python, Java, and also based on .NET (this is a multilingual framework). And each of the languages has far from one framework written in it.
In this article, we will not consider the advantages of the Ruby programming language and the Ruby on Rails framework from the point of view of developers, everything is quite obvious here – they are quite powerful, convenient, and developers love them.
From a business point of view, development on RoR is very effective for the following reasons:
High speed of development – projects on Rails are developed really faster than analogues in PHP, Python or Java, this is confirmed by both our experience and the experience of our colleagues. This is due both to the technical features of the framework architecture (for example, thoughtful agreements simplify configuration), and development tools (console utilities and generators, ready-made libraries, extensions and modules). Development time is the Customer’s money, the more time development takes, the more expensive it is.
Complex business logic is easier and more transparent to implement – Rails-based coding conventions allow you to write really understandable program code, which is later easier to maintain and modify in adequate time. Compliance with the conventions and coding standards laid down in the framework makes the program code maintainable not only by the original developers, but also by any other specialists. Alienability – lack of attachment to the original developer – is a very important component of the project developed by the Customer by an external company, and not by its own forces.
High reliability and maintainability of solutions – Rails development usually uses a TDD approach, and the toolkit supports extensive testing capabilities, which makes the solutions created more stable and maintainable. The functionality of the framework itself is also covered by automated tests, which makes it really reliable to use – you can be sure that nothing will break. For business systems, this component is extremely important – the efficiency of the business as a whole often depends on the stability of the application.
Scalability, performance and high loads – the framework is “sharpened” for the development of applications that have high requirements for availability: Rails applications are perfectly deployed and work in server clusters or in the “clouds”. For web services, this is a very important criterion, since for their own efficiency and attractiveness in the eyes of the user, they must have serious uptime and good speed.
Competent Developers – The proportion of good Ruby programmers is much higher than in the PHP world. This is again based on collective experience – at interviews for PHP developers, about 90% of applicants are eliminated due to a low level of knowledge, for Ruby programmers this figure is significantly lower. The more competent the developers, the faster (cheaper) the project is developed and the more thoughtful, scalable and reliable it is.
We develop complex sites and web applications on Ruby on Rails – this platform has proven itself very well in the segment of creating technically complex web projects that have serious requirements.
Ruby on Rails framework
Rails is primarily a development environment that is great for building any type of web application: website management systems and e-commerce platforms, collaboration tools and web services for communication, accounting and ERP -systems, statistical and analytical systems.
Ruby on Rails (RoR or Rails) is a layered MVC framework for building web applications using relational and NoSQL databases (eg MySQL, MariaDB, PostgeSQL, MongoDB). The framework is written in the Ruby programming language. Rails is suitable for both developing ordinary sites that need to be really fast, fault-tolerant and working under high load, as well as for web applications with complex business logic and dynamic web interfaces. Ruby on Rails is open source and distributed under the MIT license.
It is worth noting the fact that mostly professionals work in the Ruby programming language: the entry threshold is quite high, so Ruby programmers usually come after several years of work in any other programming languages (most often from the PHP world). Therefore, even a novice Ruby programmer is an experienced web developer with a large stock of knowledge and experience. For the Ruby language, the most popular framework is Rails, more than 90% of web applications that are written in Ruby use Rails.
Ruby on Rails development culture
The core principles of Rails development are:
- The DRY principle (Don’t repeat yourself) – the framework provides mechanisms for reusing program code. This allows not only to minimize code duplication, but also to increase development speed.
- Convention over configuration principle – by default, the framework uses numerous configuration conventions that are typical for most applications. This greatly simplifies the creation of applications, since an explicit configuration specification is required only in non-standard cases.
- Automated testing – RoR provides tools for fully automatic unit, integration and functional testing, and the Ruby on Rails ideology involves the use of test-driven development (TDD – Test Driven Development). All this makes the developed applications really reliable.
Ruby on Rails extensibility
Ruby on Rails has a large ecosystem of plug-in open source plugins (“jams”, gems) that implement the most requested functions. “Jams” are very different: from low-level, responsible for some aspect of the internal operation of the application, to high-level, which are separate modules for solving a whole range of business tasks. The use of the plug-in system in many respects was the reason for the high popularity of the framework – the ability to selectively connect individual components and libraries greatly speeds up development, and the fact that the extensions used are well tested and debugged for years ensures the reliability of solutions developed using this approach.
Myths about the Ruby language and the Ruby on Rails framework
- “No Developers” Myth. There are developers. Of course, there are fewer of them than in PHP, but the average level is “head and shoulders” higher – many of those who call themselves a php programmer are actually just layout designers with superficial knowledge of the programming language who are not able to write even the most simple web application. If we compare Ruby with Java, then the number of developers is comparable, and in comparison with .NET, Python and Perl, there are more Ruby developers.
- “Very expensive”. Myth. Good web programmers are generally expensive, regardless of the development language and platform. The salary level of a PHP programmer and a Ruby programmer is comparable if the first and the second are able to write a program more complicated than “Hello, world!”, work on frameworks, know OOP, the MVC paradigm, and also have more than 3 years of experience in the field.
- “Slow” and “Not scalable”. Myths. GitHub, Groupon, Basecamp, Twitter, Lenta.ru and many other projects with thousands of visitors use Rails: they work fast, withstand loads and scale well.