cakePHP … wow!
I saw cakePHP a while ago and kinda skipped it by nearly forgetting it. I was recently reminded of it again by a colleague. I decided to take a second look as I've become so busy with work that I'm desperate for anything that could save me some time.
After checking it out and trying to wrap my head around the whole MVC structure and taking a crash course in object oriented programming (always done procedural php scripting in the past which I was quite happy with) I came to realize...WOW. It's magic. It really is and when they say it's easy...it really is. At least in regard to getting the framework of an application off the ground. You can very quickly and easily see a lot of progress within a few short hours of creating an application.
It's the refinements, look and feel, and special functions that I found to take the bulk of your time. That's fine by me! I'm a designer by nature.
Believe it or not, after working with it for about 12 hrs I'd say solid over the past two days, I've managed to create a light weight blog with user login and groups permissions! Of course this is the total time I've had my hands on Cake and about 11 hours of that time was spent reading and asking newbie quetsions on their irc channel.
I can very quickly see how cakePHP would save time. I like this because I feel more time should be spent on the look and feel and usability of web applications. There are far too many that are confusing and/or ugly.
I feel the most powerful feature of cake (aside from it's MVC model) is their "bake" script/feature. It gives a developer an almost non-scripting approach to developing an application. You merely need an idea and a database structure, from there you "bake" and simply follow what appears to be like a wizard for installing a program...answering questions and changing settings as you go along...a little while later, voila! Your code is generated and your application comes to life.
The only thing left to do is refine, build upon, and re-design the looks. Cake has a default look for their generated "templates" and it's not bad, but of course everything can't look the same.
Even if you end up going the long way around or not using cake at all (I don't see why not), you can quickly "mock" up examples to show others. This practice comes from more of a graphic designer's thinking. As designers, we like to show people how things will look before we start and with as much clarity as possible. Programmers don't really have that luxury, because if they start work it generally gets involved and if they don't do anything, then all they can do is sketch and not really show functionality. Well, with Cake, a developer can now quickly throw up a framework and show someone exactly how it would work very quickly.
I just hope that Cake doesn't demean the industry and make programming seem easy. While I feel PHP is one of the easier languages to learn, it certainly isn't something to underestimate. It takes a lot of time to get something working properly and securely. Cake or no Cake....but things certainly are changing in how we work and how we utilize the internet. I won't ever say, web something point "o" because I hate that phrase...but there certainly are many new and exciting things coming to life on the internet.
Other Blogs