Re-imagining the Joomla Framework
Request Access
Request access to the code, the wiki, the discussion group and other resources, by filling out the form .
What is Nooku Framework?
As Lead Architect of Joomla 1.5, Johan Janssens did a great job of creating a new framework to replace the "black box" that was Joomla 1.0. Joomla 1.5 is thriving, and developers are slowly discovering the full power of the framework. But the job isn't done. Below the Nooku multi-lingual extension, Johan and Mathias Verraes (of DOCman fame) created a new framework, that takes Joomla extension development to new heights.
What if you combine the development speed of Ruby on Rails, the flexibility of Symfony, and the power of the Zend Framework, with the simplicity of the Joomla Framework? What if you have an API that is so intuitive it speaks for itself? What if every part of your code becomes reusable, extensible and replaceable? And all of that with writing just a fraction of the lines of code you need today? Nooku Framework delivers all that, and more.
The Nooku Framework can be installed in Joomla as a plugin. It allows developers to build more powerful extensions, or even to develop standalone web applications. One of the first major third party Joomla extensions using the framework is Anahita Social Engine and of course our Nooku extension itself.
How is the Nooku Framework Different?
Although the Nooku Framework reuses many common design patterns and concepts, there are some things that make it stand out:
- Dedicated team. Nooku Framework development is driven by a team of dedicated people, under the leadership of Johan Janssens, the principal architect of the Joomla 1.5 framework.
- Strict PHP 5.2 OOP. Offers many benefits: visibility protection, automatic class loading, overloading, interfaces, abstracts, and singletons.
- Extremely lightweight. Nooku Framework has no dependencies on PECL extensions or PEAR libraries or any other libraries. Large, monolithic libraries are avoided in favor of optimized solutions.
- GET, POST, COOKIE, and SESSION arrays all work as expected. Nooku Framework does not limit your access to global data, but offers automatic filtering and XSS protection.
- True auto-loading of classes. True on-demand and dynamic loading of classes, as they are requested in your extension.
- No namespace conflicts. All classes are suffixed to allow similar names between components, for a more coherent API.
- Unparalleled extensibility. Almost every part of the Nooku Framework can be overloaded or extended without editing core files. Plugins can be created to transparently extend and modify the behaviour of Nooku Framework based extensions.
- Powerful command chain and event handler. Command chain and observer-style event handlers allow for extreme levels of customization potential.
- Rapid development cycle. Rapid development results in faster response to user bugs and community requests.
- Completely design pattern driven : Design patterns like MVC, Table Gateway, Decorator, Proxy, Mixin, Factory, Chain of Command, Observer, Dependency Injection... lower the learning curve and adoption time.
Community Testimonials
"Writing for Nooku Framework is simpler and faster than writing for Joomla. We simultaneously wrote the AMIGOS Affiliate extension for both Joomla and Nooku, and the difference in the amount of code necessary was startling. (...)"

