Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Launching CakePlate, a boilerplate CakePHP distribution for fast web apps (cakeplate.posterous.com)
40 points by garbowza on Nov 30, 2010 | hide | past | favorite | 33 comments


'fast' and 'CakePHP' shouldn't be used in the same sentence. Cake is great for RAD (Rapid Application Development) but the framework itself is massively bloated to almost the same level as a full CMS.

You'll get to market faster, but you'll also be planning a rewrite or migration sooner should you enjoy some degree of success.


I'll bite. I write CakePHP apps for my clients, and I've heard this "cake is slow" meme before. Never been a problem for us, and we've shipped a lot of apps.

In almost all cases, the benchmark was done with no caching. I don't know who launches web apps with no caching, but they shouldn't be doing benchmarks.

I don't concede that Cake is slow for any meaningful definition, but as a matter of point - I'll trade faster developers for a couple CPU cycles any day of the week.


I sort of agree with you - if you need twitter type scale, you will need to rewrite.

Most frameworks are bloated (not setup to REALLY scale) out of the gate.

CakePHP is very flexible, and if used correctly can scale for 99% of workloads. Especially if you leverage some of the php5 only nuances (cake 1.3 has been developed to support php4 and php5).

CakePlate can steer you in the right direction - but is not an end all. It helps turn your idea into reality quicker. If your idea twitter scales, then you have cash to throw at the (good) problem.

If you give Cake an honest shot, I'm confident you will like it.


Could you expand on what you see as the bloat? I find the base distribution of CakePHP to be very lean, and using it on half dozen production projects, I have found no issues with speed, especially with proper use of memcached and media compression.



These benchmarks are from two years ago. The version of Cake used isn't even a stable release (1.2 RC1). Either way 1.3 has replaced 1.2 and is plenty fast for 99.99999% of sites.


No to mention that these kind of things are going to be hard to really measure. Each framework is doing such diverse things that each website will get different performance. Also I wouldn't trust a framework maker to do these tests.


Another benchmark source... http://www.yiiframework.com/performance/

Take with a grain of salt.


This benchmark seems to be either out dated or somewhat falsified. I ran the same benchmark on my system and CI out performed Yii ( https://github.com/JosephMoniz/BlueElephant/blob/master/docs... ) . The main point though is that with or without caching (APC) CakePHP is the slowest by an order of magnitude.

EDIT: yeah, pretty sure the original Yii benchmark is dated as the graph has older versions while the phpmark repo has slighlty newer ones ( http://code.google.com/p/phpmark/source/browse/#svn/trunk )


http://www.phpkode.com another PHP Framework source


Here's a more recent benchmark: http://symfony-reloaded.org/fast


Odd that they didn't include codeigniter in the test


Probably because if they had, wouldn't have been the fastest in all tests, or at least not by much.


fair enough, it was the newest one i could find.

this and similar reports from others are the reason i don't use cake, though, and it seems like it would be in their best interest to get some newer information out there. (i made my choices years ago though)


agreed. i like codeigniter, which is an order of magnitude or two faster than cake.


Consider Kohana, then, which forked off from CodeIgniter years ago and learned from the many mistakes CI made (most notably being a complete inability to adapt), and was designed with PHP 5 in mind from day one.


i considered it in the past, and i might make the switch with all the internal crap going on with CI. but my biggest current project is CI-based and making the conversion would be...tough. plus, their docs suck.


It looks like they've been working with the community to try and clear a lot of that stuff up, I really enjoy using CI myself so I've been interested. http://codeigniter.com/news/the_official_codeigniter_communi...


You may also want to look at CI's 2.0 development branch.

They've rebuilt much of the base code on top of PHP 5 natively now instead of being built on PHP 4 with hacks to make it also work with 5.

Although it is still in development, it has been said that it is stable.


i use it already. it isn't anything especially different.


Can you expand on "all the internal crap going on with CI"? I'm building with CI for a project so I'm curious.



This is excellent. I've been wanting a similar PHP version of the Html5Boilerplate for some time now. If this saves me as much time as the Html5 version, I'd hop on this in a heartbeat. Seeing more PHP frameworks take this approach would be a great thing, I believe.

The RoR commmunity has had this opportunity for quite some time now with Thoughtbots' Suspenders (https://github.com/thoughtbot/suspenders) template.


Why not some form of user self-registration and admin management tool as well? I see a facebook connect in there, which helps, but a pure cake-based user reg/management system would go a long way towards a faster 'out of the box' experience.


CakePHP comes with that out of the box. You can use the built-in Auth component for registration and user management, and the "Bake" tools will give you the option of creating admin functions, similar to Django's.


I use CakePHP (actually forced to). You can't compare the bake tools with Django admin. The UI of Django admin is usable in fact it's actually nice. I've had lot's of clients who like it. But the generated CSS by the bake tools is non-usable. I usually end up having to write the views for admin when using CakePHP compared to not having to do anything much when using Django.


Unfortunately, bake's default skeleton is indeed pretty lame, but it is possible to replace this with other skeletons (https://github.com/josegonzalez/app_skellington for example, which does auth etc.)

And Django Admin? I've since stopped my work on app_skellington in order to work on https://github.com/josegonzalez/cake_admin. It isn't complete, not by a long shot, and php's syntax makes it difficult to use a DSL without going outside the language into something like yaml files, but it will do.


I actually like the bake tools better than Django admin. The problem with Django admin for me is that the skeleton is just "magic." By that I mean I often want to go in and customize the admin interfaces and forms, but Django makes it hard to do that. Bake actually produces real MVC files, which I can then customize to my liking.


> the generated CSS by the bake tools is non-usable.

Bake doesn't generate css, it generates view scripts. The default CSS is supposed to be over ridden by your own style sheet. Django-admin is like a gimped version of bake, it's actually closer to Cake's auto scaffold.


Coming with an auth component vs something that provides pre-done models, views and controllers are two different things. Having something provided out of the box with some common defaults that I don't need to configure would be much handier for rapid development.


You might want to update your copy to state that you are using the 1.3.6 version of CakePHP, and not the 1.3.3 version.

As well, Bitly and Tinyurl would be better served as Behaviors or Datasources, but that's a separate discussion altogether.

Good job otherwise.


Good catch! Fixed.





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: