James Watts is a core member and community manager of CakePHP, a web application framework favoured by our developers and designers. We were very excited to hear about the future of CakePHP, and in this interview we learn more about the benefits of 3.0, challenges, CakeFest and the forthcoming 10th anniversary.

Firstly, thank you James for doing this interview! Tell us a little bit about yourself, and how you came to be involved in CakePHP.

Sure, my name’s James Watts, and I’ve been involved in open source for about 8 years now. I started contributing to Mozilla, but also created and lead some projects myself, as well as author a few specs, such as XHTTP and DocML. I discovered CakePHP in around 2009, where I’m a core member, and also help out a lot with community tasks for the Cake Software Foundation. I joined the Cake Development Corporation about 2 years ago, where I now lead the team with Larry Masters, founder of CakePHP.

What are the biggest changes to the upcoming CakePHP version 3.0? And how do they benefit new adopters and veteran CakePHP’ers?

Right now, I’d say the new object-oriented ORM is the biggest step forward. I think veteran bakers and developers are going to have a great time with the new version, as a lot of the underlying issues over the years have been addressed, so those typical pain points and topics of discussion are mostly gone, and replaced with fundamentally improved alternatives. There are some other noteworthy improvements and items on the menu, like the use of Composer and the separation of the app, revisions to the routing, a rewrite of the HttpSocket, a reworked FormHelper, and also a venture into rewiring the stack to expose it better as middleware.

I think the biggest statement to make is that 3.0 isn’t a break from what CakePHP is at the core, but more an addressing of the legacy which has built up over the years. CakePHP is one of the major PHP frameworks, and 9 years is a long time. We not only contend with advances in the language itself, but also a community which has matured and grown up with those advances. We want CakePHP to keep pushing the mark, and providing a solution that makes development an enjoyable experience, where the focus is on building great experiences and services, and not wasting time on just making things work.

What is/has-been the most fun/interesting/challenging feature the CakePHP team has worked on, in both v3 and v2?

For 2.0, probably the rewrite to use the PDO, as well as the migration to PHPUnit. Anyone still working on 1.3 or earlier for that matter should really look at upgrading. For 3.0 I would say the new ORM, which has been an amazing job, along with a significant amount of input from the community. It really does push the framework, and put CakePHP in a leading position. I recommend everyone check out the 3.0 branch from the repo on GitHub, and also review the 3.0 roadmap to see where they could maybe help out.

In your experience, are there any underused feature(s) you wish people would use more of?

Definitely, the events system in CakePHP is probably the winner of that prize. It’s a very powerful aspect of the framework, which is greatly underused. However, there are also still too many developers and companies who avoid unit tests, which in my experience is mostly due to them not fully understanding the benefit they provide for any project. CakePHP is offered as a broad solution, which aims to cover a fair amount of terrain so people can build robust and professional applications, which scale and perform. But if people don’t take advantage of the integration the framework offers, they’re only limiting themselves. The worst offenders are the amateur benchmarks, which don’t show real scenarios for optimized environments. There are plenty of counter examples.

What was your favourite part of CakeFest last year? And do you have any other fond memories of other community events?

Oh, too many to mention. Last year we celebrated our annual CakePHP conference in San Francisco, and there was an incredible turn-out. I think, apart from that crazy pic from the lightning talk and the community power pose, it was probably the “Hour of Contribution” that did it for me. A group of us the night before were talking over drinks about doing something new, and I don’t know if it was the moment, the totally acceptable levels of alcohol, or both, but we came up with the idea to spend an hour introducing people to open source and helping some make their first contributions to a project. It was a very humbling experience for us, and a wonderful sight for some taking their initial steps into open source. This is what happens at CakeFest, it’s these magical things that come out of nowhere and just happen, it’s what makes CakePHP such a special project.

How do you see the CakePHP platform evolving in the future?

Well, that’s an interesting question, and a discussion which surfaces a lot. There’s been a tendency in recent years for “frameworks” to break out into a collection of components or modules. We’ve even seen these mixing between projects, where some projects adopt parts of others, or where some projects are simply just a collection of different parts. Composer is helping push this idea, and the PSR initiative by the FIG is helping lower the threshold for integration. There have even been people asking if we can switch out layers in the framework for other alternatives. I don’t think this is a bad thing, but it’s not really the philosophy behind CakePHP. We’ve always tried to ship an out-of-the-box solution, something which you unpack, and with some minimal settings, just works. That’s not to say the framework isn’t extensible, as we’ve got almost 1500 plugins registered on our site alone, and you can easily use third-party vendor libraries, or even some of those packages from other projects. But we want the sum of it’s parts to be built to work perfectly together. I think it’s something which has always distinguished CakePHP from the rest of the pack.

Have you got any plans for the CakePHP 10 year anniversary next year? Happy Birthday Cake!

There are some ideas floating around. 10 years is an important checkpoint for any project. It’s a major milestone for us, the project and the community as a whole. We’ve always had a great love for the people around us. CakePHP wouldn’t be what or where it is today without our community. They are everything, and who make it all happen. So you can bet that, whatever we do for our 10th birthday, it’s going to be big, and all about them! :)

What are your experiences with CakePHP? Leave your comments below. Learn more about CakeDC, the experts behind the CakePHP framework, here.

NuBlue is an award winning CakePHP Web Design Company and a UK CakePHP Web Hosting provider. Please get in touch and we will be happy to discuss your requirements.

Subscribe to RSSShare on Google+Share on LinkedInShare on StumbleUponShare on TumblrShare on FacebookTweet about this on Twitter