开发者

Django or Ruby on Rails - user extensions, plugins

Which framework has the most mature, flexible, intergrated, central开发者_如何学JAVAized 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/


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.


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).


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜