Top positive review
Pretty good at the 'how', rather less so at the 'why'.
on 30 May 2014
OK, so I'm not a professional programmer but I've been programming since my teens (a looong time ago). I've used lots of languages, mostly procedural, but I do sort of get the OO paradigm.
I fell into developing a web site and selected Joomla as the framework, a decision I'm very happy with. I like to make things exactly the way I want them and that led me into needing to develop custom code. All fine and good. I can cope with PHP fairly well - actually quite like it - and did some fairly sophisticated stuff on the query side, but I want / need to progress in the data input / form / transaction space.. And this led me to this book.
What's good about it is that it pulls a lot of intermediate level material together very well and walks you through a series of examples of the different kinds of extension. Joomla development documentation is very fragmented (if you think I'm wrong and can refute with examples I'll be forever in your debt) and this book pulls it together well. I have however noticed recently that it seems be heavily based on material that is freely available on the web - if you have the time, patience and organisation to find and collate it. Again, all well and good. That's a value add that this book delivers that I'm very happy to pay for.
My personal challenge is the API. Another review identifies the API as the heart of any framework and I think this is certainly true with Joomla. The problem is that the Joomla API (a) is extensive and complex, (b) has recently changed (Legacy to v3.3) and (c) is poorly documented, at least for the neophyte (e.g. Me!) The available documentation for the 3.3 API goes down to the method level but provides, as far as I can see, absolutely nothing about the parameters. I have torn my hair out trying to reconcile the API calls used in this book to the documentation and have failed miserably.
This then is why I have marked the book down a star. If you follow the sequence in the book, you will end up with a well-constructed component using the Controller-Model-View paradigm. But you won't have a clue how to transpose it to your own component. I've followed the steps and tried to apply them to the component I want to develop, and up to a very limited point it has worked: I've created pages with my data on them that pretty much hang together. But there are bugs that I'm struggling to resolve and I have no firm idea on how to extend the scope of my component beyond the functionality encapsulated by the book's Folio component example.
In summary this book consolidates existing material on Joomla extension development very well but it adds nothing new and of value to anyone wanting to really understand the nuts and bolts of Joomla development.