2012-04-18 Update: People have pointed out that, in the year since I wrote this post, a lot has changed regarding Nooku and that many things I wrote about didn’t end up as I “predicted.” Keep in mind that I wrote this post with the knowledge I had at that time, and that I’m leaving this post up as part of my “Don’t unpublish anything” policy.
If you’re somewhat involved with Joomla! you’ll have heard of at least three new arrivals in the Joomlaverse. A lot of debates took place, some more civil than others. But let’s put emotions aside, and look at the facts.
Of course, there’s Joomla 1.6. A lot has been said about this “new version”. Arguments were had about the release cycle, about the features… Then, there’s Molajo. We’ve already explained to you that Molajo is a distribution, which will offer a selection of improvements that’ll improve people’s Joomla 1.6 experience.
We never got to Nooku, though. The reason for that was quite simple: before we open our text editor, we’d like to know what we’re talking about. With some help, we proudly present to you: our post on what Nooku is, and how it will affect you, the end user or developer.
Nooku, a framework for Joomla!
In this post, “Nooku” refers to the Nooku Framework – which is part of the “Nooku Platform”. For this post, we’re just going to focus on the framework. I can see you wondering: “What’s a framework, exactly?” We asked ourself the same question, so we called in the help of some experts, to find a “definition” of a framework.
It’s hard to define what a framework is, so we borrow the explanation from a well known site:
“a framework is a collection of the best solutions to common problems developers face often, to prevent reinventing wheels and repeated coding”.
To dumb it down: a framework is used by developers, because it makes it easier to develop whatever it is they develop, For example, there’s the .net framework, (Windows programs), Cocoa (Mac OSX programs) and DirectX (Games for Windows, Xbox).
The Nooku Framework is the second framework written for Joomla. Both the Joomla Framework and the Nooku Framework are creations of Johan Janssen. The goal of these frameworks? Help the Joomla! developers to create a variety of extensions for your favorite CMS.
Yeah, sure, but how does that affect me? I’m not a developer.
I’m glad you ask, because we asked ourself that very same question. The answer doesn’t lie in what you, the end user can do with it. but rather in what developers can do with it.
When using the Nooku framework, creating an extension for Joomla! is easier and less time-consuming. A lot less code is required, as the stats about Ninjaboard indicate.
Even though it’s not a panacea, Nooku FW has sped up my dev time by a factor of 4, compared to the J! FW. – Nikolas Dionysopoulos, Akeebabackup.com
This means the developers have more time to spend on the things that are important to you: the user experience, component features, or creating more great extensions for you to use! It’ll lead to better, richer components.
Nooku isn’t 100% “complete” yet, but there’s already a few cool extensions out there to prove my point. Take Ninjaboard for example. A neat, easy to manage forum extension, created using the Nooku Framework. Because less time had to be spent on the boring part (aka coding), they managed to implement an importer that’ll import a complete PHPBB3 forum (minus the users) in only a few minutes. In case you’re wondering… yes, that’s impressive.
Although many developers have been working hard to create new components for Joomla 1.6, there’s still a lot of work to be done. The reason is simple: Joomla 1.5 and Joomla 1.6 are completely different beasts. If your favorite component isn’t available for Joomla 1.6 yet, that’s not because the developer is lazy, but because it’s hard work. Doesn’t it sound like a huge waste of time to completely rebuilt a component?
Nooku will change that, as well. Once Nooku is ready for Joomla 1.6 it’ll be possible for developers to build a single component, that’s compatible with both Joomla 1.5, Joomla 1.6 (and Molajo) and… why not, every new Joomla version where you can install Nooku. To quote a Nooku developer on how soon “theory” will become “reality”:
“The PHP side is ready, we only have a few JS conflicts left to solve due to 1.6 using MT 1.3 without any kind of compatibility layer.”
We even heard someone mention WordPress would be supported as well. Proof can be found here, here and here Editor’s Note: Let’s hope the Ninja’s which we stole this info for aren’t out for revenge.
That means that you, the end user, would be able to use the same component on different Joomla version – if it’s built using the Nooku Framework. I probably won’t have to tell you that this is a good thing, right? You spend less money and waste less time figuring out if “the new component still works like it did.”
Everyone is a winner!
I’m not a developer, but for me it’s clear that “we all win” with the Nooku Framework. Developers win, because it’s easier for them to build great components. End users win, because… well, their favorite developers will be building more great components. The visitors benefit, because you’ll be worrying less about troubleshooting misbehaving components.
And Joomla? Joomla wins because all the stakeholders are winning.
Editor’s note: Our commenting policy is simple: Comment away! But please, behave. Don’t make us use the “Delete button of Doom.”