3 ms·
I've written sites in both Rails and Drupal, and so am somewhat qualified to say... it doesn't matter. Have your guy pick what he feels most comfortable with an
by ajessup 16y ago
I've written sites in both Rails and Drupal, and so am somewhat qualified to say... it doesn't matter. Have your guy pick what he feels most comfortable with and run with it. Either Drupal or Rails would be a fine choice.
This is especially true if you're in a rapid, early prototyping stage. It's FAR more important that your guy can implement and test your ideas quickly using best practices he (or she) already understands, rather than scratching heads learning an unfamiliar framework.
For what it's worth, from what you've mentioned about your project, if you'd hired me I'd have probably recommended Drupal for this project - IF you know what you're doing, the basics of a Yelp-style review service can be implemented pretty quickly using user-contributed modules in Drupal, and you get a bunch of things (basic user and community management, action level ACLs, RDF, blogs, and regular CMS style functions etc.) for free. You just need to apply a theme and away you go. Drupal is a great fit for your use-case.
The catch is that the learning curve to Drupal is substantial - sitting as it does in a strange gray area between being a CMS and a framework, it's got some strange idioms that take some time to appreciate. If I was new to Drupal, the time saved by having those functions built for me would likely be more than offset offset by the effort I would spend trying to hack/understand Drupals themeing layer, get modules to play nice together etc. Futher Drupal is essentially written in a functional style (few objects at all to be found), which may be a bit of a mindf&*k for someone coming from an OO framework like Rails.
There's also the PHP/Ruby issue - best practices for deploying a Ruby on Rails app (and scaling it) are in many ways quite different from deploying a Drupal/PHP app. Neither is 'better' necessarily, but bear in mind it may also be a whole set of new skills your guy has to master.
Both Drupal and Rails scale very well (assuming you use them right, of course). Whitehouse.gov runs Drupal, and the front-end of Twitter ran on Rails (at least until recently). If you ever hit levels of scale beyond what these sites need... well that's a good problem to have :)
Finally, if you do decide to use (or at least try) Drupal, make sure you check out the Drush and Aegir projects, which will help enormously in deployment.
- kaerast 16y agoI was agreeing completely with this entire post up until you mentioned Aegir. Whilst I keep seeing lots of people who absolutely love Aegir, it's caused me so many headaches that it really isn't worth it when you're planning on hosting just a single website. Instead I would look at Pantheon's Project Mercury. It's an entire Drupal stack based on Pressflow, MySQL, Memcached, APC, Varnish, ApacheSolr, BCFG2 and Hudson. Their main website is now really pushing their commercial hosted solution but it's still open source and available for download via Launchpad - check out http://groups.drupal.org/pantheon http://groups.drupal.org/pantheon
- cadencemcshane 16y ago> Futher Drupal is essentially written in a functional style I did not know this. Could elaborate or possibly share an example?
- mikey_p 16y agoGenerally Drupal doesn't use a class or similar OO construct to manage it's organization of individual modules. Some of the various sub systems of Drupal are moving to more traditional OO structure (such as the database abstraction layer) and some module do as well, but it is definitely not required by the framework the same way that most MVC apps such as Rails are setup. This doesn't mean that Drupal doesn't/can't have a clean abstraction of presentation, business logic and routing, but it's not enforced in the same way that some other frameworks handle things. See http://drupal.org/node/547518 http://drupal.org/node/547518 for some more examples.