First Impression of Zend Framework

posted by: gwoo :: Mar 6th 2006, 14:11

So, if you have not heard, Zend released a preview of what they are calling the Zend Framework (ZF), http://framework.zend.com/. Check it out, I think most will see the same thing I do....

What are they thinking? Have they not been paying attention to web development progress over the last year? Are they really this thick headed?

Sure the ZF has some nice classes in it. But can anyone tell me why a class needs a method call getDir, which does not nothing but mirror the dirname() method already in php. I guess its supposed to make your code cleaner? Probably the best part of the code they released is the ZMail. That could be helpful, but brings up the larger point that has been troubling me for some time.

Why does Zend need a Framework? They are the PHP company, why do they not just write this stuff into the core of php or make a module that can be compiled. The only answer I have come up with is so they can keep up with the Jones'. Every language has a framework so PHP must have one. Well, this preview release is further from a framework than I had expected.

To me, a framework should help structure your app, allow you to write code faster, not involve require_once or include from the user perspective, and have some nice conventions that really speed up the development process. the ZF maybe does one of these things. Granted, I am still waiting to see some better tutorials beyond the provided code snippets, but still there is no inherent structure in the ZF. I look at the ZF as a component set like PEAR or ezComponents, not a framework.

Should I go into some other things that bother me? Ok, how about a class dedicated to printing an html textarea. Yes, look in /Zend/View/Helpers/ you will see some really great classes there, like one for a form button. Ok, so we can extend it woop tee do. I must be missing something huge here, cause I cannot see the advantage of having 14 seperate classes for something like html form elements.

There are somethings in the ZF that I like besides some of its components. They are pretty aggressive code commenters, which is cool. The other thing that I like is that they did nothing that would make me want to switch from CakePHP. CakePHP does the things a framework should. Its still early, but I see a lot more promise in how Cake is approaching RAD than ZF. Sure ZF has huge corporate sponsors and the backing of some old school php programmers, but who cares. CakePHP is open source, with some darn good developers of its own. I am pretty sure PHP was successful before the big, corporate sponsors decided to get involved. CakePHP will be successful cause it makes programming in PHP beautiful, not to mention teaching how to be a better coder. Maybe ZF will get there one day, but right now it does not look like the ZF will be anything more than a set of useful classes. So, I will put the ones I like in vendors and use them. Maybe I will even make some Cake components for the things that are really nice.

As always, I plan on keeping up on what is going on with the ZF. When preview release 2 comes maybe there will be something more to look at, but for now there is not much to get excited about.

4 comments

bottom

1. Saša Ebach :: on Mar 06, 2006 (Your reg form doesn't support unicode characters like the š in my name: Saša Ebach)

Clearly, both "frameworks" were not extracted, but architected. Which make me wonder a little bit, since ezComponents should have been extracted. They probably started clean because to be PHP 5 compatible only...
2. Nate :: on Mar 06, 2006 Saying that Cake is "architected" is not exactly accurate, since (a) Cake started it's life as a port of a framework that *was* extracted, and (b) as a principle developer of Cake, I have as many as a half-dozen applications in development on the trunk version of the code, and many of the added features are extracted directly from that work.
3. Saša Ebach :: on Mar 07, 2006 Oh, by both I meant Zend and ezComponents :) I know where Cake is coming from.
4. Nate :: on Mar 07, 2006 Oh, my bad ;-)

add one

 
 
top