Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I've got a different perspective about these two frameworks on how they compare. I'm still a noob in these two as I am a Java developer looking for something more exciting to do on my sparetime. I have been observing these two frameworks closely and came up with this:</p> <h2>Rails</h2> <p>As you know Rails is born out of a web based application made by 37signals, which affects the architecture of if. I haven't really use Rails in real application yet though, but I think I might use it for my next pet project. </p> <ol> <li>Basically what I can see from Rails is that it is a monolith type of framework (Though this will change in Rails 3 as it will adopt Merb architecture). This architecture from my point of view will also affect the way you deliver/package your project. Monolith kind of project I reckon is good if you want to deliver all of the application in one bundle to your customer. </li> <li>As per the architecture, Rails use plugin if you want extend or add another feature. I reckon this is good if you want to have a community based product where user can add plugin. </li> <li>They said Ruby is slow, but then if you want to package Rails apps as a product, it's quite worted to package it as war file with JRuby and warble. E.g: Thoughtwork's Mingle use this approach.</li> <li>With that in mind, IMHO (well DHH also said this in Ruby vs Snakes conference too) Rails is suitable for web application. </li> <li>Rails has a good built-in ajax support (rjs). Django people it's easy to add Ajax support on django, but an abstraction like in Rails still makes it quite worth it I reckon. </li> </ol> <h2>Django</h2> <p>Django born out of a newspaper site, so in one way and the other that also affects the architecture of django itself. I've only used django in my sandbox website and so far I really like building websites with it. </p> <ol> <li>Most of the dirty work has been done for you (RSS Feed framework, Generic view, admin, commentig framework, etc)</li> <li>Django has an architecture of 'pluggable application'. Which is good if you want to plug already made django applications that is made by the community, or share those application at several of your sites. </li> <li>As I said if this is an internal/in-house websites I reckon it's really good to use django because you can re-use this apps in several websites. But it would be really tough to deliver this into one bundle type application because usually (well the best practice as I would say) this django apps lives in a PYTHONPATH instead of bundling it all together in your application. Though Pinax distribute the whole apps in one package, and I'm curious how Ellington does it.</li> <li>As the current Python is faster than the current Ruby(1.8), that makes django itself way faster than Rails (there's alot of benchmark about this on the web). With that kind of performance IMHO django is really suitable for high traffic websites (Think of twitter like traffic websites)</li> </ol> <p>Some people might not agree for me, as they can find workaround to use Rails as websites and django as web application. But this is what I reckon distinguished the two based on their architecture. Thus it will also define what are they good for. Feel free to disagree with me :-)</p> <p>Cheers.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload