views:

98

answers:

3

Which framework has the most mature, flexible, intergrated, centralized and easy-to-use plugins/extension system. My main requirements are:

  1. a centralized system/repository where i could find a extension i need
  2. no need to make changes in the source code, the plugin should be easily enabled and disabled
  3. large plugin/extension database

something like http://wordpress.org/extend/plugins/ http://www.symfony-project.org/plugins/

+4  A: 

I can't speak for Django, but I can tell you about Rails' open source community. GitHub is the central location for all Rails open source code.

Most ruby libraries/plugins these days are packaged as "gems", which are easy to install, update, and remove. RubyGems is the place to go for these pre-packaged gems, when you care less about the code and more about dropping the functionality into your application.

There is now a new tool called RVM that keeps the gems (and even rails version) isolated from one application to the next, on your system. That way if one app uses version 1.0 of a gem, and another uses version 2.0, they don't conflict with each other.

All in all, a pretty sweet setup.

Jaime Bellmyer
Thanks for explanation. +1 point for going with ROR so far, I'll wait though maybe someone could explain me how does it work in Django world...
TyrionLannister
Popularity contest for ruby/rails gems/plugins http://www.ruby-toolbox.com/categories.html
clyfe
A: 

There are lots of reusable django apps around. You can find many on the CheeseShop, but even more on GitHub and BitBucket.

There is also django-packages, which is a bit like the CheeseShop, but just for django packages.

VirtualEnv is like RVM (or rather, RVM is like VirtualEnv), which is a great way to isolate your python packages (I even use it in production). It has been around for ages, and works well with pip (the best python package installer).

Matthew Schinckel
A: 

Both of them are mature frameworks. I don't use ruby so I don't know about the rails plugin land. Given how popular it is (and my information from my lurking time on local Ruby lists), it's pretty good.

With Django, you have (like Matthew mentioned) django-packages and a few other places. I've been working on a largish Django project and it's pretty easy to just search for something like "django facebook" on google and get what you need. The Pinax project is an integrated collection of Django apps that lets you have most things out of the box. That's another thing you might want to consider. The packaging of the plugins are using the standard Python distutils libraries so installation is a single command (or if you're using pip/virtualenv, directly off the net).

VirtualEnv and related tools are not really Django specific. They're good practice if you're doing any python development though.

You should take a step back and evaluate both languages as well in my opinion. Python and Ruby are quite different in their approach to good code and it's likely that one will fit your brain better than the other.

Noufal Ibrahim