The Joomla Content Management System (CMS) is built on top of a core of code which presents a standard Application programming interface or API to the applications built on it.
Although Joomla 1.0.x (and its predecessor, Mambo) had a core of code with a defined API, this was not well-structured and did not use modern design practices. The development of Joomla 1.5 presented the opportunity to completely restructure the foundations and resulted in the Joomla Framework which introduced design patterns such as Model-View-Controller (MVC) and Observer to the Joomla codebase. Although it is possible to build web applications on top of the Joomla Framework without involving the Joomla CMS some dependencies still exist and this continues to be true to a lesser degree with Joomla 1.6.
It has long been the plan to distribute the core Framework separately from the CMS, making it easier to build and distribute non-CMS applications without the overhead of having to include some of the CMS code. This plan is finally coming to fruition with the newly-branded Joomla Platform. Currently slated for its first release on 30 April 2011, this will be developed in a separate repository and on a different release cycle to the CMS.