I wanted to share some valuable resources I've come across in recent months while looking for information to help with Joomla 4 extension development. The short of it is, this lovely eBook on all facets of Joomla 4 development by German author Astrid Günther and this article series on how to create a Joomla 4/5 MVC component from TechFry.com.
I will try to update this guide if and when I come across more resources.
I consider myself pretty knowledgeable on Joomla development basics, like templates, modules, and content plugins. However, more complex projects like components and diving into the framework itself is a bit more challenging.
Unfortunately, there is a lack of well-written developer resources available. I often have to reverse-engineer other extensions or look at Joomla's source code to figure out how things work. While this isn't a bad way of learning, it's certainly more time consuming than just being explicitly told how things work or what conventions to use. Occasionally I've found myself rewriting functions and entire classes that already exist in elsewhere within Joomla's library, simply because I didn't come across any documentation on the topic and didn't know the functions already existed!
I've recently been engaged in developing some of my first Joomla 4 components. As they're arguably the most complicated type of extensions, the lack of good documentation has been at times infuriating. Thankfully, I have come across some good Joomla 4 development resources including the eBook by Astrid and the TechFry article series I listed earlier.
Astrid Günther - Joomla Extension Development Manual
Astrid has published an eBook on Joomla 4 development at the start of this year. It is available for free in both PDF/ePub formats and in full on her blog. It contains full walkthroughs on plugin, component, module, and template development.
This is an incredible free contribution to the community! I wish I came across this sooner, before I started creating my Joomla components. Perhaps they would be a bit more... properly written.
TechFry's series on Joomla component development proved invaluable to me while I was first creating my quiz/test extension YaQuiz. At first, just getting an empty component ready to go with a page in the front end and a page in the back end proved a challenge. Components are organized with many required files spread out across several directories. This series guides you through developing a basic MVC component from start to finish. Without this, I don't know where I would have started.
Joomla's Official Manual
For whatever reason, this isn't linked directly on Joomla.org's docs area.
Joomla has a manual. It looks like they're trying to create a fully featured series of guides on using Joomla, including the development of templates and other extensions. It's largely incomplete, but perhaps it will be a good resource in the future.
While the above resources are great, I do wish more would be done to update the official Joomla documentation itself. It's a little hypocritical for me to wish this, considering I myself write tons of Joomla documentation and have never attempted to contribute to the official Joomla docs.
As an author and web designer, I can see why people would rather keep their works on their own sites rather than publishing everything for free to Joomla's wiki. If I publish it to the wiki, I'll likely be a nameless contributor. The amount of people who return to my website to contribute monetarily would be even less than it already is. I also have far more control over the style and presentation of my content if I publish it myself rather than through Joomla.
As it stands, this site doesn't really bring in any profit. In fact, I'm actively losing money on it every month, even with the occasional $20 donation. At the very least, it might help me get job opportunities, but I've yet to see anything come to fruition aside from the occasional $40 tutoring session.