This post is also available in: 日本語 (Japanese)
Over the years ago, I was researching many sites about Django and Ruby on Rails when I started developing, but I couldn't find a decisive reason which framework is better.
So now, I would like to write a note of what I have compared to both Django and Ruby on Rails as a result of the comparison of the two frameworks.
It would be good if you could contribute to your judgments in the future.
- 1 Summary:Which framework(Django or Rails) is better after all?
- 2 You have not been write much Ruby? Haven't you?
- 3 The share of Django vs Rails?
- 4 The share of Python vs. Ruby?
- 5 The learning cost of Django vs Rails?
- 6 Django vs Rails - Advantages and Disadvantages
Summary:Which framework(Django or Rails) is better after all?
Personally, Djangois a good option.
The reason to choose the Rails is that the code amount is less, but the code is too abstract to be abstracted, and that skills are effective only Rails.
Rails is a strong impression that it is hard to fix an error that does not get on the "rails" or the cause of the problem.
There is a lot of black box.
Djangois an impression that the sense of black box is low.
The main reason for this is that, regardless of the programmer of the first level or senior, the code will be similar.
There are many other reasons for this, so please reffer to the later subjects "Django vs Rails - Advantages and Disadvantages".
You have not been write much Ruby? Haven't you?
Ruby is the only way to use Rails.
In addition, because I have been write machine learning by Python, it is obvious that easier to use Django for me.So, it's more likely to be more skilled in Python than Ruby.
The point which framework(Rails and Django) is more favorite as programmer is also big.
It is a personal image (because it is a religious war), and Rails looks like how cool code is to be developed(so it is abstracted and short code), and Django has an explicit impression of how to keep it independent(so it is highly readable and easy to modularize).
The share of Rails is greater.
So, the person who says "Django is recommended!" is a minority.
The language comparison is easy to say, because it depends on what you develop, but this is written in a personal sense.
I think that Python is clearly a major outside of the world.
Comparing with a share, Python has a large share of science or machine learning community, and Ruby has a large share of WEB Development(Rails).
It is clearly Python in terms of the community and information volume of the English language.
The learning cost of Django vs Rails?
Ruby when writing in rails, So rather than writing Ruby, it's a sense of how to write a piece of Rails.
It is convenient to use Rails when runnning sample project on Github as quickly as possible, but it is very difficult when there is an error caused by a combination of libraries(personal impression).
And it is difficult to read the abstraction Ruby code when the errors are caused.
I think Django is easy to understand because it is composed of candid code, as long as understood Python to some extent.
The template(for example, helper notation) out of MTV is a unique notation for Django, but I think it can be used to help you with the tutorial.
Even when errors are caused by a combination of libraries, there are relatively easy-to-read, high-readable.
Django vs Rails - Advantages and Disadvantages
The reverse of each of the advantages is almost like a disadvantages.
Mainly lists of advantages, and writes the disadvantagesin parentheses.
Finally, I think it is better to decide by the skill set of the team you develop, rather than the advantages and disadvantages.
The Advantages of Rails:
- Rails has fewer code and simple writing (it's not explicit)
- Rails is quick to version up(fatal in maintenance)
- Rails has a convenient library (with many black boxes, and very hard when an error occurs)
The Advantages of Django:
- The code written by advanced and beginners does not change much(with much code)
- Django is explicit code and easy to understand(Django has more code than Rails)
- (Personally)Django is easier to port modules to different apps than on Rails(many duplicate code in an app)
- (Personally)Django is a convenient library (fewer black boxes than Rails, relatively easy to handle errors)