jcontroller: Controlador para javascript con jQuery

Hace tiempo que no escribo, así que he pensado, voy a coger (agarrar para los argentinos) algo que haya hecho en los últimos días para algún proyecto, y voy a hacer un post, que estoy perdiendo usuarios, y esto no se puede permitir :p

El caso es que últimamente he notado que el código en javascript que estaba escribiendo era un poco caotico, sobretodo cuando en la página había varios eventos, etc… Si comprendes lo que quiero decir, es que es un buen momento de que dejes tu también de hacerlo :|

Total, que me dije: “tio, puedes hacer dos cosas”

  • Puedes buscarte un buen controlador o plugin para jQuery (CorMVC),  o incluso buscar un framework como JavaScriptMVC o Jamal
  • O puedes cometer la estupidez de hacer tu propio controlador para javascript

El lector avispado se habrá dado cuenta de lo estúpido que soy.

Pues nada, os presento jcontroller y su versión minificada (con yuicompressor).

Tiene tests (que no incluyo), pero básicamente se pasan en Firefox, Chrome e Internet Explorer. Un segundo que no me cuesta nada… también funciona en Opera. Vale, pues mira por donde que parece que se lleva bien con los browsers (asumo que funciona en Safari).

Entremos en materia:

¿En qué consiste jcontroller?

Básicamente sirve para no tener una maraña de código y controlar un poco las acciones que realizar según los eventos del usuario (normalmente los clicks).

Como contar más cosas es una tontería, os voy a enseñar un ejemplo y ya cada cual que haga lo que le parezca. En este momento es cuando yo paro de escribir el post para hacer el ejemplo en mi ordenador. Este post ha surgido tan repentinamente que no tenía nada preparado… :(

Vale, el ejemplo chorra ya está preparado, sólo comento lo principal:

  • Nada se ejecuta sólo, hay que iniciar el controlador con  la función “init”. Si le das el nombre “controller” pues “controller.init()”
  • El controlador ejecutará la función ‘_init’ que hayamos definido en nuestra implementación, al principio.
  • Las funciones que empiezan con ‘_’ son privadas y no pueden ser ejecutadas desde fuera (excepto _init, _default y _clear)
  • El controlador automáticamente, cuando se carga, mira lo que hay en la parte de hash ‘#’ de la URL, y llama a la función que considere apropiada
  • Aunque ahora mismo funciona todo para detectar los enlaces tipo ‘#whatever’, se puede implementar el “trigger controller” que quieras, devolviendo una función en tu implementación de ‘_init’ (ignora este parrafo de momento)
  • Se pueden definir tantos controladores como quieras, cada uno es independiente a los demás, aunque si todos usan el mismo “trigger controller” todos se van a ejecutar a la vez (ignora este parrafo de momento)

Aquí os dejo los enlaces principales:

Realmente el ejemplo es muy chorra, jcontroller en sí es muy chorra, echadle un vistazo.

Nota: Ahora mismo usa jQuery, pero no creo que lleve más de 10 minutos cambiarlo por otro framework

Finalmente os vuelvo a poner los enlaces, para quien se lo quiera descargar:

Pues nada más que contar por el momento.

Las críticas constructivas son bienvenidas y las destructivas ignoradas.

Un saludo ;)

Trackback URL

, ,

25 Comments on "jcontroller: Controlador para javascript con jQuery"

  1. Castyll
    02/02/2011 at 4:42 am Permalink

    Una pregunta amigo, no te valía algunos de los que mencionas arriba?, es que estoy en busca de, como bien dices, organizar toda la locura que generamos al trabajar con Jquery.

    Saludos.

  2. Pau Sanchez
    21/02/2011 at 1:48 pm Permalink

    @Castyll básicamente mi idea era hacer algo que cubriera mis necesidades, que ocupara poco y que fuera fácil de usar.

    Como siempre, cada proyecto tiene sus matices, al igual que cada librería.

Hi Stranger, leave a comment:

ALLOWED XHTML TAGS:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Subscribe to Comments