Faster Development Rails or Django?
I have around 2 Weeks of Real development time to churn out a contact database system to replace various spreadsheets and pieces of paper laying around.
Also I need to develop two websites (with dynamic content) and a small AJAXian web service.
I have no experience of rails or django, but I can learn fast.
Both claim to be all about the fast develop开发者_开发知识库ment.
What is it that rails has that django doesn't have and vice versa that would accelerate the development of this application?
Also the contact database benifit more from the admin panel (dj) or the scaffolding of views (ror)? (there will be a lot of CRUD operations)
The Django admin will generate a CRUD application that you can customize to suit almost any need, from your model definitions. I've used the admin for the main user interface for several projects and can tell you that it is a real timesaver. You don't have to spend any time whatsoever at writing templates or Javascript.
Django also has generic views which can do object detail, list views, update or delete on any model without you worrying about the logic of the app. You just supply the templates, hook into the urls and you're basically done.
For deployment I'd say Django and Rails are now equal. Rails has been painful to deploy, but things have changed greatly.
For a simple contact database the admin might be the biggest difference between Rails and Django. And the fact that you can run your Django project locally, with a real webserver without any configuration ('python manage.py runserver').
unless you are exactly equally experienced on both, you should definately use the one you are most comfortable in. If you don't know any python and you don't know any ruby, then you probably shouldn't use either. If you know PHP, you can get similar results with CakePHP or CodeIgniter. If you another language, you can ask about a Rails like MVC framework for that language on this website
Without experience in either one, with only two weeks to deliver a product, I would choose neither. If you have limited time, you need to leverage what you already know. It would take you two weeks just to get comfortable in either environment. Rails and Django are both popular and make it easy to accomplish a lot with a little time because of the number of details that are done for you in the background, without you having to think about it. If you don't know what those details are, you're not going to be able to leverage the power of either platform, and you're going to end up with a codebase that is a tangled mess of code that you don't need and is going to impact maintainability.
I do take issue @knutin's comment about the ease of deployment with Rails. That might have been true a few years ago, but today a Rails app is pretty easy to deploy even on a naked server, and if you plan on deploying on heroku its even easier. As far as I know there isn't a platform for django apps that offers anything like the scalability or ease of deployment that heroku and rails offers.
if you're dead set on doing one or the other, I'd recommend rails with the use of formtastic for generating your CRUD forms. Formtastic offers far more flexibility than the built-in Rails scaffold generators do, so you can go back and make things better while still using them.
Lastly, if you're determined to use something despite a learning curve, I've heard a lot of good things about hobo though I haven't yet used it on a project. You may find it easier to get started with than straight-up Rails.
This article has a good comparison, involving two developers without previous experience with either framework: https://docs.google.com/View?docid=dcn8282p_1hg4sr9
This is a question I still am trying to find the answer too, here is what i can tell you so far.
Preface When it comes to scripting langauges I always prefer python, not only I feel more strong using python, but also the libraries are better and work faster. Also (and ruby devs will have something to say) I find Python a more understandable and readable code that Ruby.
Said this, Rails is an excellent framework! It has a lot more "magic" that Django, and now with Rails 3 you can write your ajax in unobtrusive Javascript which makes it beautiful to read. Also the path and form features are far better that Django's.
The big problem is this: As I said Rails does a lot for you (aka magic), the only problems is that if you want to escape those conventions for some reason you find yourself dealing with lots of problems, while with Django you have more control over your application.
Django also has the super-hardcore Admin and User application, no need to install any plugin, this is ALL done for you! Setting up users is incredibly easy and the Admin backend gives you CRUD for every model.
Overall I prefer Django, I understand it better and it does what I say, although I must say that, as far as things are going nowadays, Rails will have more support in the future.
Feel free to ask any question!! Hope it helped
Dan
精彩评论