Sistema de plugins y eventos común para kune y emite
Hola majos: Después de estar pegándome estos días con kune y emite (la librería de xmpp que se ha estado currando Dani este tiempo atrás), creo que deberían tener un sistema común de eventos y de plugins. Así daríamos opción a que otros ampliaran tanto emite (con extensiones Xmpp) tanto el cliente chat en ext, al igual que permitiríamos que se extendiera kune. También usaría tipos genéricos <T> ahora que con gwt 1.5 rulan o otra forma de abstraer para los parámetros que le pasamos al PluginManager o al Gestor de Eventos y a las acciones (así kune pasaría unas cosas y emite otras). Sería ponerse de acuerdo y generar un jar conjunto como estoy haciendo ahora para emite (kune-core-0.0.1.jar que tiene básicamente Plugin* + View, más alguna otra tontería) pero con código común. Si usamos también el sistema de ExtensionPoints, el cliente chat podría ser extendido por terceros de la misma forma que kune y a la par que la librería emite. No se si se me escapa algo, ya sabéis, novatillo en Java, pero bueno... es una primera propuesta. Abrazos, -- Vicente J. Ruiz Jurado http://homes.ourproject.org/~vjrj/blog http://ourproject.org "If I have seen further, it is by standing on the shoulders of giants." [Sir Isaac Newton]
2008/3/23 Vicente J. Ruiz Jurado <[email protected]>:
Hola majos:
Después de estar pegándome estos días con kune y emite (la librería de xmpp que se ha estado currando Dani este tiempo atrás), creo que deberían tener un sistema común de eventos y de plugins.
...pues yo no lo veo muy claro. en primer lugar el sistema de eventos es muy particular: * los eventos siempre son xml pensado para xmpp * muchos de los eventos son de uso interno y no deberían estar expuestos a otros componentes que no tengan que ver con xmpp * el dispatcher no sólo dirige los eventos, sino que está íntimamente relacionado con el componente Bosh (pronto escribiré sobre eso en el wiki del proyecto, pero como adelanto os cuento que el dispatcher tiene un ciclo de ejecución y cuando se disparan eventos dentro de este ciclo se tratan de una manera particular que tiene que ver con que solo se permiten dos conexiones simultáneas dentro del navegador) * existen unos ganchos (listener) para recibir eventos que se suponen públicos (externos a emite) * tres cuartos de lo mismo pasa con el sistema de plugines * los extensions points no tienen mucho sentido en emite,entre otras cosas porque según yo lo entiendo la librería no tendrá componente gráfico (es decir, emite-ui o como queramos llamarlo deberá ser una librería independiente del núcleo donde, quizá, si podamos aplicar todo lo que propones: eventos kune, extensions points, etc...) yo creo que la solución pasa por crear una adaptador tanto para el sistema de plugines de kune como el de eventos: 1. crear un plugin en kune que actúe de wrapper sobre todo emite 2. crear un adaptador de eventos para que ciertos eventos de emite (los de los listeners) se publiquen en el sistema de eventos de kune además, de momento, emite está muy verde: estos días sin internet :-o me han dado tiempo para reflexionar y todavía pienso intruducir fuertes cambios a nivel arquitectura y diseño... en fin, estas son mis ideas... por cierto, lo del logo me parece que te cagas! ¿qué te parece subirlo y ponerlo en el emite.googlecode.com? bueno, besos dani
dani wrote:
* los extensions points no tienen mucho sentido en emite,entre otras cosas porque según yo lo entiendo la librería no tendrá componente gráfico (es decir, emite-ui o como queramos llamarlo deberá ser una librería independiente del núcleo donde, quizá, si podamos aplicar todo lo que propones: eventos kune, extensions points, etc...)
Sí, yo lo entiendo así. Lo único que esa parte de ui quiero que extienda a otras (en principio kune) y se extienda como cualquier otra parte y también que se subscriba/este-subscrita a eventos... En fin, que veo que tengo que abstraer más el sistema de eventos y el dispacher de kune para usarlo en cualquier Plugin y me preguntaba si podíamos unir esfuerzos.
yo creo que la solución pasa por crear una adaptador tanto para el sistema de plugines de kune como el de eventos: 1. crear un plugin en kune que actúe de wrapper sobre todo emite 2. crear un adaptador de eventos para que ciertos eventos de emite (los de los listeners) se publiquen en el sistema de eventos de kune
Sí eso es en lo que pensaba antes de proponer algo conjunto. Bueno, poquito a poco, vemos sobre la marcha. Besotes, -- Vicente J. Ruiz Jurado http://homes.ourproject.org/~vjrj/blog http://ourproject.org "La mejor forma de decir es hacer" [José Martí]
participants (2)
-
dani -
Vicente J. Ruiz Jurado