YUI vs. Dojo and Zend Framework
I'm starting up a somewhat complex PHP project and have choosen to use Zend Framework as my backend swiss army knife. ZF is quiet flexible in allowing you to structure and architect your application the way you want whilst making use of many of it's time saver features. The standard MVC pattern implementation is great as well, but I need to spice up my application with some client-side goodness.
Having previsouly worked on a Flex project, I've been looking for a good component-based Ajax framework/library for integrating with my PHP backend. Seeing as how Zend now includes Dojo in it's framework and IDE, and the numerous other Dojo big-name supporters, I thought this would be the most obvious choice.
I spent a good part of today trying to get a simple dojox.data.DataGrid example going and hit nothing but problems. Documentation on both the ZF and the Dojo sites is either sparse, incomplete or out-dated. I followed three or four different tutorials to the letter and none gave me the results I wanted. After five hours of trying all I had to show for it was a table with two columns, no formatting, no styling and overlapping text (I tripple checked all stylesheets were included and servable, I checked my .htaccess settings, etc...).
Needless to say I got fedup with Dojo quite quickly. If it takes me this long to do something so basic, then it's not a very productive toolkit. I thus jumped ship and tried out Yahoo UI. The online documentation is superior to what I found for Dojo and Zend, and within two hours I managed to get a nicely looking paginated data grid with inline asynchronous editable fields saving changes to my DB backend!
Maybe others have had a better experience with Dojo. Or maybe I just didn't approach it the right way. All I know is YUI let me do something with zero prior knowledge in a short amount of time with little mucking around. Still no where near as good as what you get using Flex Builder, but seems workable. Just need to create a good JSON-REST Zend backend framework and I should be sweet!