Presentación de Nooku Framework en JoomlaDay 2009 BCN

Nooku logo

Entre el día 11 y 12 de Diciembre ha tenido lugar el JoomlaDay 2009 Spain, esta vez en Barcelona, al que por varios motivos no he podido asistir, aunque me hubiera gustado.
Una de las cosas más interesantes que he podido ver, desde mi casa, ha sido la presentación del framework Nooku, un CMF (Content Management Framework) para Joomla desarrollado por Johan Janssens, uno de los máximos responsables en el diseño del framework MVC de Joomla 1.5, cofundador de Joomla y Lead Developer .

johan El framework de Nooku (Koowa) se instala como un simple plugin en Joomla y a partir de ahí puedes empezar a usarlo. Está pensado como un añadido que permita disminuir drásticamente el número de líneas de código, con la mentalidad de «Rapid Development» como base, es decir, no reinventar la rueda y todo eso…
Aunque a decir verdad la característica que más me ha convencido es la de la seguridad.
Joomla es un CMS bastante criticado por su seguridad, a lo que los miembros de OpenSource Matters responden que el problema no es de Joomla, es de las extensiones de terceros. Esto es cierto, el problema es que cualquiera crea una extensión, y la cuelga, y luego la gente la instala sin saber exactamente cual es la procedencia de esta extensión.
El framework Nooku, pretende que se minimice el número de líneas escritas y por lo tanto, la posibilidad de cometer errores de programación, ya que Nooku haría todo el trabajo sucio por debajo. Se puede ver un ejemplo de su potencia a continuación.

Punto de entrada implementado con el framework de Joomla

// Require the base controller

require_once( JPATH_COMPONENT.DS.'controller.php' );

// Require specific controller if requested
if($controller = JRequest::getWord('controller')) {
  $path = JPATH_COMPONENT.DS.'controllers'.DS.$controller.'.php';
  if (file_exists($path)) {
  require_once $path;
  } else {
  $controller = '';
 }
}

// Create the controller
$classname      = 'HellosController'.$controller;
$controller     = new $classname( );

// Perform the Request task
$controller->execute( JRequest::getVar( 'task' ) );

// Redirect if set by the controller
$controller->redirect();


Punto de entrada implementado con framework Nooku sobre Joomla

// Check if Nooku Framework (codename=Koowa) is active
if(!defined('KOOWA')) {
 JError::raiseWarning(0, JText::_("Koowa wasn't found. Please install the Koowa plugin and enable it."));
 return;
}
// Create the component dispatcher
KFactory::get('admin::com.hello.dispatcher', array('default_view' => 'greetings'))->dispatch();

Como se puede observar, la tarea de crear el controlador genérico, instanciarlo y ejecutar el método display con la vista por defecto queda relegada totalmente al framework Nooku, que tiene un dispatcher para tal efecto. Aunque con Joomla 1.6 esto precisamente también se ha mejorado. Puedes ver una comparación más detallada aquí.

Mi opinión es que es una muy buena opción para desarrollar en Joomla, aunque yo prefiero el método de toda la vida, pese a que se tenga que escribir algo más de código, ya que me gusta saber exactamente lo que estoy haciendo en cada momento y además la documentación no abunda demasiado.

Compartir:
Share on facebook
Share on linkedin
Share on twitter
Share on whatsapp
Share on email
Abrir chat
¿Tienes alguna duda que podamos aclarar?