viernes, 7 de diciembre de 2007

Casting de wikis escritos en Java

Después de un trabajo intensivo he terminado el proceso de selección de wikis escritos en Java. Tal y como había previsto, el trabajo ha sido más complicado que en el caso anterior. Probablemente se deba a las peculiaridades de cada lenguaje. Todos sabemos que PHP es un lenguaje un poco "caótico", por así decirlo, cosa que no le ocurre a Java. Para entendernos, escribir código claro en PHP requiere cierta voluntariedad, sobre todo en cuanto al uso de elementos como patrones de diseño y demás refinamientos del mundo de la programación. Esto es así porque este lenguaje se suele usar/asociar más para cosas pequeñas por lo que no se suelen atender todo este tipo de detalles. Sin embargo, el lenguaje Java ya se considera algo más "serio", por así decirlo. Además de tener una sintaxis más clara, obliga al uso del paradigma de la orientación a objetos, lo que hace que haya que pensarse más las cosas antes de ponerse a programarlas.
Por otra parte, pude observar que la gran mayoría de los wikis seleccionados para esta fase del proceso de selección, independientemente del lenguaje de programación en que estaban escritos, eran proyectos muy serios, cuyo código respondía a las espectativas que su funcionalidad externa había generado.
Así las cosas, presento a continuación las conclusiones del estudio de los wikis escritos en Java.

Daisy


Este wiki es bastante curioso por su arquitectura, ya que está divido en 2 partes bien diferenciadas:

  • Un repositorio accesible a través de HTTP/XML (usando servicios web REST).

  • Una interfaz web para edición y publicación.


Esto hace que me plantee qué sería lo que podríamos aportar debido a la idiosincrasia del proyecto que pensamos desarrollar. Aparentemente no tendríamos nada que hacer pues ya está todo desarrollado, no obstante sería necesario profundizar en el estudio del código para estar seguros de ello.
Por otra parte, cabe destacar también una documentación bastante buena y el hecho de estar construido utilizando el framework MAVEN.

JAMWiki


En este caso se trata de un wiki pensado para ofrecer las mismas características que MediaWiki pero desarrollado en Java. De nuevo, está construído utilizando el ya citado framework MAVEN y a simple vista parece una opción interesante.
Sin embargo, hay un par de detalles preocupantes, como son la escasa documentación y el hecho de tratarse de una versión 0.x,con lo que ello conlleva (no obstante, en la página www.wikimatrix.org el autor asegura que se trata de un software en etapa madura).

JSPWiki


Hay poco que decir sobre este wiki, pero la verdad que todo es bueno. Además de estar implementado utilizando el patrón de diseño MVC y todo lo que ello conlleva en muchos sentidos (como ya he dicho, queda fuera de los objetivos de este blog hablar de las ventajas del uso de patrones de diseño, aunque a lo mejor un día me animo :D), está el hecho de contar con una documentación de calidad, que permitirá comprender mejor y más rápidamente el sistema.

SnipSnap


Este wiki no tiene nada especialmente interesante que comentar. Parece interesante y tiene una documentación relativamente amplia. Nada más.

VQWiki


En este caso los desarrolladores se han "olvidado" de documentar lo desarrollado. El wiki parece interesante. Nada más.

XWiki


Se trata de un wiki bastante interesante. Posee abundante documentación, que, según me indican no está obsoleta a pesar de lo que se indica en su sitio web. No obstante, me dicen que el próximo lunes estará disponible el nuevo servidor de documentación, así que habrá que echar un ojo.

yaWiki


Este wiki está tan falto de documentación que me ha sido imposible averiguar nada más sobre él.

Teniendo todo lo anterior en cuenta, opino que el mejor candidato es JSPWiki, aunque en este caso la diferencia ya no es nada ostensible. Sin embargo, las razones expuestas en su favor me parecen tan importantes que, mientras no sea necesario el cambio tras un estudio más profundo, considero que es el único wiki escrito en Java que continúa con el proceso. De este modo, las listas quedarían de la siguiente manera:

C#/ASP.NET



  • ScrewTurn wiki


JAVA



  • JSPWiki


PHP



  • bitweaver


En este momento, creo que lo mejor sería consultar con el director del proyecto para definir la dirección a tomar, aunque es posible que escriba una nueva entrada con el que considero el mejor wiki para trabajar.
¡Hasta pronto!

2 comentarios:

Unknown dijo...

Hi there,

Sorry my spanish is a bit rusty so I'll write in English... :)

I'm the one working on moving the documentation to the new xwiki site.

Just wanted to let you know that the current documentation is NOT obsolete at all. It's completely up to date. The only reason I put the warning on pages is to let users that they should not edit pages that have been migrated already. Maybe I shouldn't have done that if it makes people think the doc is obsolete.

On the migration itself it'll be finished on the coming Monday.

Thanks
-Vincent

rober dijo...

Ok, thank you for your comment!
The information has already been rectified.

Rober