Nooku - Jam, BREAD and some DCI salt
October and November 2014 were busy months for us. We've been visiting various events (some small, some large). Technology wise, the Nooku Jam was the most interesting. Here's a view on the current state of the Nooku project and how this helped shape the Nooku Jam of 29/30 October 2014.
What is Nooku? What is its history?
First of all, a very basic question: What is Nooku? Nooku's roots lie with Joomla with Joomla 1.5 lead developer Johan Janssens being the founder of Nooku. Nooku started off as a Rapid Application Development (RAD) layer within Joomla. This layer - Koowa - acted as a layer between Nooku and Joomla, and allowed extension developers to build Nooku extensions for Joomla. While Joomla 1.6 was only progressing slowly, Nooku rapidly gained important features like multilinguality, HMVC and much more.
In the very beginning, Nooku was fairly unstable - the code changed rapidly and upgrading Nooku frequently refactoring your own code as well. While Nooku in its early stages was popular with many, Nooku was never meant to be an easy solution for less experienced developers: It was meant to be a perfect framework that experienced developers could use to build great software with.
While the popularity of Nooku has seen a major down fall, the Nooku community is now formed by a small group of hard-core developers - which should be seen as an advantage rather than a decline of success. Because the Joomla project was heading into a different direction at some points, Nooku added a couple of years ago a replacement CMS - dubbed the Nooku Platform - where all Joomla parts have been replaced with native Nooku parts. Currently, it is possible to build extensions based on the Nooku Framework within Joomla (Koowa) or the Nooku Platform without Joomla. For many projects, the Nooku team focuses on building on top of the Nooku Platform, due to which Nooku is currently seen as having less ties with the Joomla project.
So what is Yireo doing at a Nooku Jam?
In the early stages of Nooku, we were still running custom projects and we built a couple of sites with Nooku as its base (2010 or so). Since then, Yireo has been shifting away from custom development towards extension development (Joomla and Magento) for a larger public and Nooku was less fit for this job. To be honest, we did not do much with Nooku for the past years.
However, Nooku has always been our radar: Besides the Nooku framework, there's a lot to learn from the Nooku community. Personally, Johan and I met up in the early days of Joomla 1.5 Alpha. As Johan is a guru when it comes to design patterns and framework architecture, staying in touch is vital for staying up to date on modern PHP development.
The Nooku Jam itself - held on October 29th and 30st 2014 in Leuven - was just like we expected it to be. While there were numerous interesting sessions, the jam classifies itself as an "unconference", meaning that you are expected to interact and participate to give value to the conference. There was some talking on BREAD (Browse, Read, Edit, Add and Delete), some talk on DCI (Data-Context-Interaction by Herman Peeren) and many more (Grunt, Varnish, Vagrant, AngularJS, etcetera). The two days were filled with reading through state-of-the-art code, learning about modern design patterns and ofcourse, lots of fun. We are definitely going to be there at the next jam in 2015!