views:

401

answers:

5

I'm about to start building a tumblr clone that handles multiple users (so premade clones like Gelato won't cut it) and I'm not sure which framework I'd like to build this is.

Right now, I'm only intending to build a prototype. Something I can get a dozen friends on to test the concept and grow to maybe a couple hundred users to prove the market, so I'm not worried about long term scale. My biggest concern right now is quick deployment. I'd like to get from zero to signups in as short a time as possible, with as little customization to the framework of choice as possible.

I have experience with PHP, but not Ruby. However, I don't think the learning curve would be too steep so I'm not ruling out rails. I just want the framework that is most appropriate for a system like a multi-user tumblr clone so that I can build it with as little hassle, and as quickly, as possible.

If anyone has experience with a similar project, or with these frameworks and can offer an insightful perspective, I'd be very appreciative.

Thanks for taking the time to read.

Cheers, ~Jordan Feldstein

A: 

CodeIgniter is very lightweight, which is probably to the detriment of this project if you want to code as little as possible.

Finbarr
A: 

CakePHP is pretty much an attempt to port Rails to PHP, so choosing between those two frameworks will depend on other factors.

One factor would be whether you want to learn Ruby or not. I have dabbled in it, and feel it is superior to PHP, but more practical concerns keep me from experimenting with it more (have to use PHP at work).

Another concern would be hosting. I use Dreamhost, and the fee is the same for PHP and Rails. However, a friend of mine just got a GoDaddy hosting account, and he actually has to pay a higher monthly fee to have a Passenger-enabled host.

W_P
CakePHP is nowhere close to Rails. It's an amibitious attempt, but it really fails in some key areas (the ORM for a start).Hosting for Rails is actually pretty straight forward - there are a ton of options to fit any budget (from $0 to $$). Godaddy has a pretty bad rep as a hosting service in general :P
Toby Hede
I've also got a dreamhost setup, so hosting rails wouldn't be an issue. I think the lack of functioning ORM in PHP might just be pushing me into Rails. Thank you both for the input.
Jordan
+6  A: 

Definitely Rails. It'd much faster to develop project like this in Rails.

As far as I saw, PHP is lightyears behind from Rails in ORMs. And Rails routing is much better than any PHP framework's as well.

Mantas
A: 

I have been developing in PHP since 2000, and still have a bunch of PHP systems in production (using both CodeIgniter and CakePHP).

I have found Rails to be incredibly more efficient to develop in ... easily 50% more productivity, depending on the use-case. Faster, higher quality. Easy choice for me.

Toby Hede
Perfect insight. Thank you.
Jordan
+2  A: 

+1 for Rails.

I can't speak about Codeigniter. My general understanding echoes the above statements. Lightweight and no fully object oriented.

I have developed in CakePHP since Jan 2006, after trying to get Rails deployed on my own server and failing badly. Rails was not easy to deploy back then...at least not for me. At the time Cake was the best alternative, and still is in many ways.

Cake is a very competent framework. However, I agree with the statements that it is in many ways far "behind" Rails. Some features are not as well designed, less integrated or simplified in comparison.

A few months ago I spent a couple of day porting one of my Cake apps to Rails2. Just as an exercise. The learning curve was very shallow for someone like me (with a decent grasp of the concepts that Cake and Rails are built on). We recently started porting one of our apps at work to Rails (also from Cake) because we found that support for a lot of things that are important to us are available in Rails or Ruby but not available or as complete in Cake and PHP.

If you are unsure about switching to Ruby you might want to look at Lithium (previously CakePHP v3). It is PHP 5.3 only and still a good way from 1.0 but the community is active and generally it looks like what Cake might have been if it had been started today and not 2005.

Martin Westin