Background: I am almost new to Joomla! though I have been programming in PHP since many years now. I am mainly a Python developer, I develop with Django on regular basics, and I have to say that I find the MVC Joomla! implementation very weak (honestly I have to say that I am quiet critic on PHP generally speaking, so maybe my opinion is biased).
But for a project I could't use Python but I needed to be proficient in Joomla! in a very quick time, in order to be able to write a component following the MVC design pattern.
I have starting collecting many materials on the web, mostly on the Joomla! web site: in many case the material was not as updated and completed as I wished.
Then I started looking at the Amazon web site for books about this topic, and I have selected this one, and I must say that this choices was a life-saving!
After reading the whole book I can safely say that this is a must-have book for every serious developer who whish to master how to customize this popular CMS.
The whole stuff is very well packaged in a nice order: in the first two chapters there is a gentle introduction to the topic.
Chapter 3 will teach you the Joomla! database structure and the database naming conventions. You will also learn how to query the database with the Joomla! classes of the framework, including the base CRUD methods.
From chapter 4 starts the core of the book: in that chapter there is an excellent overview about the structure of the extensions (components, modules and plugins), followed by 3 chapters dedicated to each kind of extension with a dedicated tutorial.
So in chapter 5 you will design and develop a component, in chapter 6 a module and in chapter 7 a plugin. Code is very well documented (and it is actually working if you go along), and the training is really very well structured.
Finally at chapter 8 you get more informations about component backends, in chapter 9 there are useful instructions for customizing the page, chapter 10 is dedicated to how manage XML, AJAX, LDAP and Web services, chapter 11 to Error handling and security, chapter 12 to utilities and other classes (Dates, File system, arrays, trees and log files).
The book ends a rich appendix about Jooomla! core classes.
As I have already said, this is a must-have book for developers working with Joomla!, and I think the price of this book is very worth even only for reading chapters 4 and 5 (about 100 pages long) that are the core of the book and that will put you definitely in the right way for Joomla! development.
So for me, 5 stars without doubt!