A critical architectural decision for future product success
Ruby on Rails and Django are widely used frameworks for web development. 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.
This week we interview Alexander, a highly experienced senior developer from Gera-IT in Kyiv. He will help us better understand these frameworks and to define which one to choose – Rails or Django?
Rails vs Django?
Tristan: To start with let’s identify the difference between Django and Ruby on Rails?
Alexander: To start with, people often tend to confuse programming languages and frameworks. So let’s clarify that Python and Ruby are programming languages while Django and Rails are web frameworks, powered by Python and Ruby respectively.
In addition to this we have add-ons to Django and Rails 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 these 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 Rails and Django already have an established reputation.
If we had to choose between Django or Rails, 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 rails?
Tristan: For MVP prototype development which one would you typically choose and why? Django or Rails?
Alexander: It’s a complicated question based on what I’ve mentioned. Still, if I had to choose it would be Rails. I came to this decision a few years ago. 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 Django and Rails is bright and you expect they will continue into a future in terms of their evolution. Just to finalise which one Django or Rails do you prefer in general and why?
Alexander: As I have mentioned before my choice is Rails, 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 Rails because Ruby code is very easy to interpret and continue to work with.
Django vs ruby on rails?
Tristan: Just to close, how do you think you chose Rails: It’s because you initially became specialised in it or you made a conscious decision a couple of years back that you prefer working with Rails.
Alexander: Actually Python was the first programming language I 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. Nevertheless, for my current work, I prefer 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.