Distinction between two great web development frameworks
Ruby on Rails and Django are widely used frameworks for web development. Some founders and CTOs, and DevOps struggle when choosing the right framework for their web project. In this article, we seek to gain some insights into:
- Which is better to use for a variety of different applications; and
- What are the preferences of web developers.
We decided to consult a specialist on the topic, so we’ll interview Alexander, a highly experienced senior developer from Gera-IT in Kyiv, Ukraine. Alex has been coding using these frameworks for more than 8 years. He will help us understand them better, and to define which one to choose for a development project — RoR or Django?
Selecting the framework is a critical architectural decision for future product success
Rails vs Django?
Tristan: To start with, let’s identify the difference between Django and Ruby on Rails?
Alexander: People often tend to confuse programming languages and frameworks. So let’s clarify that Python and Ruby are programming languages while Django and Ruby on Rails are web frameworks, powered by Python and Ruby respectively.
In addition to this, we have add-ons to Django and RoR which expand the basic capabilities of these programming languages with additional features like for example:
- Support of git templates,
- Extending basis language libraries with some new methods,
- Additional production, development and test environments, which optimise everything for web development.
Tristan: Well, I personally also confuse them as there are so many of frameworks these days. So to summarise — both are frameworks, powered by their core programming languages?
Alexander: Yes, correct and it should be fundamental knowledge for developers.
Tristan: Which one is a more popular framework? Ruby on Rails or Django?
Alexander: From a customer’s perspective, it can be difficult to choose as so many new technologies that change the programming world emerge almost every day. Both RoR and Django already have an established reputation.
If we had to choose between Django or RoR, it is difficult because I’d say that both are good for the production projects. Google and Dropbox were developed on Django whereas Twitter and GitHub were written on Rails. Each of these frameworks have a potential capacity for further development.
Google and Dropbox were developed on Django whereas Twitter and GitHub were written on Rails. Each of these frameworks have a potential capacity for further development.Click to tweet
Tristan: So we can conclude they are both popular and reliable as web development frameworks.
Alexander: That’s true also because Django and Rails have a long history of successful application. Django was released in 2005 and Rails in 2008.
Django vs Ruby on Rails?
Tristan: If you were about to build the MVP, a prototype of your software, which one would you likely choose and why? Django or Ruby on Rails?
Alexander: It’s a complicated question based on what I’ve mentioned. Still, if I had to choose it would be RoR. I came to this decision a few years ago in a similar scenario. The main reason why I chose Rails is that it has a rich set of third party modules which are constantly developed and supplemented by the Rails community.
If you need an application with registration, roles-based system with access to a full admin panel you can easily develop this on Rails, within the course of a few hours. With Django you often will need to rely more heavily on your skills in code implementation. It is more time consuming as you need to go through testing and debugging. So if you needed a product prototype, yesterday you’d better go with Rails.
Tristan: You’ve noted that both communities — Django and Rails — are friendly and supportive. And they both are pretty convenient to use. In terms of the preferences of American and European customers, which one do they prefer?
Alexander: Quite a lot of projects are developed with Django and Rails, and there is great potential for each of them in the American and European marketplace. There is already a wide range of web applications developed with Django or Rails in different areas such as e-commerce, healthcare, retail, and marketing, etc. Here are two examples of applications we developed on Rails:
- Freehomerisk is a real estate application we implemented for one of our American clients
- Readingwise is an education app written on Rails for one of our UK clients
However, there is always a huge demand for both Django and Rails developers.
Tristan: You’ve mentioned that the future of both Django and RoR is bright and you expect they will continue into a future in terms of their evolution. But you still prefer Ruby on Rails, right?
Alexander: With Rails and its wide range of packages available you can create a product within 2 or 3 weeks max. Rails is also very compatible with AngularJS and React. It is like building an app with Lego bricks, very easy and fast. Furthermore, I can easily support and contribute new features to the app.
It is very easy to write code with Rails because it is like a big platform for developers. The team members are fairly interchangeable if you use Ruby on Rails because Ruby code is very easy to interpret and continue to work with.
Django vs Ruby on Rails?
Tristan: Is your choice connected with the fact that you initially became specialised in Ruby on Rails, or you made a conscious decision a couple of years back that you prefer working with it?
Alexander: Actually Python was the first programming language I ever learned, and I even had experience mentoring a group of students with Python — preparing lectures and different tasks for them. So my advice at that time to those students would have been to use Django as a high level Python web framework to build a website or an app. Despite such a big Python experience, in my current work, I prefer Ruby on Rails.
Alex Stets is the Senior Ruby on Rails developer at Gera-IT. He has 8 years of overall experience in software development. Before switching to Ruby on Rails, he educated students on Python at the university.