Update: Apparently I was a bit too dramatic.  Saying CakePHP is going to be swallowed up into a black hole was a foolish thing for me to say and does indeed diminish the hard work that the current dev team is still putting in.  I apologize.  The post has been edited to reflect as such.

You heard right folks.  After spending probably two years with CakePHP, I am moving on.  For those who don’t know, CakePHP is a framework that sits over PHP and makes it possible to rapidly develop and deploy PHP-based web apps.  It’s a solid framework that seemed to be always improving, until one fateful day, the two top contributors decided to bail on the project and start another, competing project.  For the life of me, despite all of the reassurances that have come from the Cake camp and the new Lithium project, I can’t see how this is anything but a bad thing for the project, but others would surely disagree with me.

CakePHP and PHP are seeing a defining moment as PHP tries to move towards an Object Oriented approach.  At CakeFest, it was announced that there were two new branches of the project starting, CakePHP 2.0 and cake3.  On top of that, they were still developing the 1.2 branch.  Why are three different versions needed?  Well, Cake 2.0 is intended to embrace the new features in PHP 5.3.  Currently, CakePHP 1.2 doesn’t does work with 5.3, so users have to use a beta 1.3 that patches some of the incompatibility issues between Cake and PHP.  Cake3 was going to be a complete overhaul of the current project, but is now the aforementioned Lithium project.

Maybe this will all work out, and both Cake and Lithium will survive and strive in the ever growing PHP framework world, but for me, personally, it isn’t worth sticking around to see what happens.

So what am I going to do now?  Well, I am moving to a framework that inspired the initial Cake project, Ruby on Rails.  Just a short week into dealing with Rails and you can see how much Cake really took from this project.  However, Rails does a lot of things better, in my opinion, including better command line tools, including a complete debugger that lets you do backtraces, watch variables, etc.  You can also test code from the console, though I haven’t had any experience doing that yet, but it sounds great.

I don’t think my move is what everyone should do, nor do I think the CakePHP project isn’t worth taking a look at.  I have done several apps with it, and it is a very easy to use framework, that will have you deploying apps faster and with less headache.  However, from what I have seen, there is a higher level of support behind Rails which gives me the impression it will have more staying power in the long run.  I think if I had done PHP programming prior to Cake then I might be moving to another PHP framework like Zend or others, however I didn’t and so I am not married to PHP.

So far Rails has been fairly easy to pick up, just some syntax things to get my head around.  Railscasts definitely helped me figure out how to get a nice authentication system working with AuthLogic, which is something I didn’t have to worry about with Cake.  Nifty-generators has also proved to be a great gem to use.  If anyone else has any advice on sites or material to check out, I would appreciate it.


COMMENTS / 11 COMMENTS

Wow, it’s good to see that you have no idea what you’re talking about.

To anyone reading this: As someone working as a core developer on *both* projects (CakePHP and Lithium), this post is factually incorrect and highly uninformed in many places.

P.S. I’m not knocking Rails – I think it’s a fantastic framework and have used it on a several occasions. I’m only knocking this post for being ass-backwards.

Joel Perras added these pithy words on Nov 05 09 at 2:42 pm

Perhaps if you could add some insight into what is so “ass-backwards” instead of just saying it, that would help myself and others who read this. Not sure how posting a comment that does nothing more than insult me is at all helpful or presents any value whatsoever.

Ryan added these pithy words on Nov 05 09 at 2:47 pm

Ryan: I am afraid that your confusement or even worse – lost confidence is your fault. Fact that CakePHP and li3 projects do not share common future is in fact best thing for fans of both. Everyone can concentrate on things he likse, Isn’t that great? Btw, every OS project lives and dies with the community. I haven’t heard of anything from news that all CakePHP users died.

poLK added these pithy words on Nov 05 09 at 2:59 pm

Well the first inaccuracy would be that the current release of 1.2 (1.2.5 at time of writing) does not work with php 5.3. Which in fact it does. Furthermore, talking about the projects stability and impending doom seems ill timed when work is being done almost everyday both on 1.3 and 2.0, in addition to fixing issues on the 1.2 branch of code.

But each to their own, I hope at some point in the future you’ll consider using CakePHP again.

As an aside, you have incorrect version numbers for your PHP versions, I’ve never heard of this PHP 1.5.3 you speak of.

mark story added these pithy words on Nov 05 09 at 3:00 pm

I agree with the versions. There was and is no instability, just some “instable” persons who wanted to abuse cakephp to gain some personal glamor and goals from cakephp.

A lot of people were against announcing anything named “cake3″ because everbody who can count knows that 1.x is followed by 2.

Well, those brickheads did it finally and the result was, as expected, a lot of confusion in the community. Your article here just proofs that. I’m sorry for that.

But ok, the persons who caused these trouble are luckily finally gone and do now their own thing. That was the best thing they did for cakephp in the last few month since all this cake3 was started by them in secret.

I won’t call “cake3″ anyways cake, it was not, as you call it, an overhaul, it was more a very experimental rewrite, but not cakephp anymore – in my personal opinion. Further i don’t see any advantage in already going for php 5.3. Don’t get me wrong, i’m really looking forward to use namespaces for example, but the real world moves slower then we tech-freaks would like it to. For example there still companies using php4 apps and the industrial world has just started to accept and develop php5 applications.

somebody added these pithy words on Nov 05 09 at 3:01 pm

i am not saying that CakePHP is going to die, and if that was implied, I was way wrong to say that. It just concerns me that such a large percentage of contribution to the project was done by Nate and Gabe and now they are focused elsewhere. I hope that Mark Story and everyone else on the team will be able to do even better things than what has already come out of CakePHP.

Ryan added these pithy words on Nov 05 09 at 3:05 pm

Begin itemized list:

0)

“CakePHP and PHP are seeing a defining moment as PHP tries to move towards an Object Oriented approach”

You do know that CakePHP is almost completely object-oriented in it’s implementation (and was pretty much right from the beginning when it first started in 2005), right? And that PHP has had a fully implemented, functioning object model since PHP 5.0, which was released in 2004 ? So how is it that we are just only *now* seeing a defining moment ?

1) CakePHP 1.2.5 runs just fine under PHP 5.3. There was a whole post to the Bakery that announced this (along with other things) at the time of the release, and it’s also contained in the changelogs, all the tickets that complained about it around the time when Snow Leopard was released (since it included PHP 5.3 by default), as well as noted on several other well known blogs & lists in the CakePHP community.

2) I thought it was a typo at first, but you repeated it several times. There never was a 1.5.3 release of PHP (it was called “Personal Home Page Tools” back then), and the 1.x version was released in 1995. Do you even know the significant differences between PHP 3.x, 4.x, 5.{0,1,2} and 5.3 ? And I don’t think this is being nitpicky. If you’re trying to discuss a topic that requires some precision in version numbers, then you might try and make an effort to get those version numbers right.

3) CakePHP 1.3 is not in beta. What was released at CakeFest was a ‘development’ release. Please look up general naming conventions for software release labelling (dev -> alpha -> beta -> release candidates -> gold master). For what it’s worth, we just released CakePHP 1.3-alpha the other day.

4)

” …incompatibility issues between Cake and PHP.”

Since CakePHP is 100% built on top of PHP, they can hardly be incompatible. I’m guessing you meant to say “incompatibilities between the versions of PHP that CakePHP explicitly supports”. Sentence structure matters. Of course, given point #2 above, this statement is no longer even valid.

Additionally, your post doesn’t even attempt to answer the pseudo-teaser-thesis that you state in your introduction:

I can’t see how this is anything but a bad thing for the project.

You never once state why the splitting of the two projects is a bad thing, save for two of the developers leaving. Have you ever taken a look at the contributors roster for pretty much *any* open source project out there ? There’s a huge amount of turnover, all the time. Look at CakePHP, Rails, Django, Zend Framework, MySQL, Apache. The list goes on. Just because some people move on does not mean that the project will die, and drawing a conclusion based on that is a logical fallacy.

I’ll never, ever knock someone for using a different framework or language. I’m language-agnostic in my programming preferences – I’ll use whatever is the best tool for the job. Learning Ruby and Ruby on Rails is great, and will only be a good thing for your career and understanding of programming paradigms and techniques. What I don’t like seeing are factual inaccuracies and clear misunderstandings such as the ones listed above.

Joel Perras added these pithy words on Nov 05 09 at 3:16 pm

Also, I’m sure you meant ‘gwoo’ (his real name is Garrett Woodworth, FYI) and not ‘Gabe’. Good thing you spent a few seconds looking up the names of the people you are discussing.

Joel Perras added these pithy words on Nov 05 09 at 3:19 pm

Ok, so you are angry, I can understand that. I did mean gwoo, which you could apparently figure out but needed to be snippy about it, but that’s fine. I made corrections addressing many of your concerns. My experience with true object-oriented languages has been nothing like PHPs implementation so in my opinion, it is still trying to come to grips with it. Maybe that is completely off, but that has been my experience.

Ryan added these pithy words on Nov 05 09 at 3:24 pm

Yes, Garrett and Nate did a lot for CakePHP in past. A lot of code, commits, dealing with user base, other services CSF is running etc. But I am not sure what makes you think they did most of what was done… Anyway – if you will take look at CakePHP timeline, you will notice names of people who are not core developers. People who forked CakePHP repository, did some changes and offered them to CSF. Can’t you see how wrong you are with your worries about cake? ;-)

poLK added these pithy words on Nov 05 09 at 3:32 pm

Hmmm, trouble on a OSS project because of egos, and it’ll probably forked out of usefulness? Shocked, I am.

All I am saying is that if someone was to get all ego-trippy on .NET 4.0, he’d be shot down in the street like the dog he was. Just offering a friendly suggestion.

dotNetSupremacy added these pithy words on Nov 05 09 at 3:50 pm

SPEAK / ADD YOUR COMMENT
Comments are moderated.

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Return to Top

Goodbye CakePHP, it has been fun

last.fm