After months of development the folks at JoomlaTools have finally announced the Nooku Framework project publicly. Nooku Framework is an Object-Oriented, full-stack but very lightweight web development framework for Joomla 1.5. Anahita Social Engine is built using Nooku Framework.
Nooku Framework is installed as system plugin on Joomla. On the system initialization it replaces the core Joomla elements such as database, application, document with its own enhanced version.
It also offers it’s own Factory Class called KFactory that would let the developers to virtually extend or modify any part of Joomla without editing the core files.
For application development, Nooku Framework offers a far better implementation of MVC (Model-View-Controller) design pattern that what currently Joomla has. RESTful controllers, enhanced view classes with ability to inject custom template rules and models that recognize their own tables are the few to name.
Being a Ruby on Rails developer, what most attracted me the most to Nooku Framework is its own implementation of Table Gateway and Row Gateway Pattern. This implementation sort of works the same as the Active Record. It uses naming convention to map your table objects to the actual tables and it encapsulates the database access, and adds domain logic on that data.
Here’s an example of how it works
Even though Nooku is quite young and still taking its shape, it has enabled development of many high profile open source projects. Bundled with Joomla platform, Nooku Framework undoubtedly provides all the tools a developer needs to start the next generation web applications.
To learn more about Nooku Framework please visit their website at http://www.nooku.org/en/framework.html
Aaron Handford 12:32 am on May 16, 2009 Permalink
Wow it looks like you have designed Anahita for great scalability.
Rastin Mehr 9:02 am on May 16, 2009 Permalink
Developing social web involves a whole new set of challenges that are different with Content Management Systems. Primarily because everybody is constantly writing into the database and file system.
peerglobe 1:27 pm on May 16, 2009 Permalink
In dealing with Social Network type projects, there is a lot more challenges than just building a software. To find the best reads regarding dealing with common scalability issues check out facebook engineering blog.
http://www.facebook.com/notes.php?id=9445547199