viernes, 25 de enero de 2008

¿Tiene futuro XML en la Web?

Ayer encontré casualmente un artículo en el blog de Douglas Crockford en el que habla de un debate sobre el futuro de XML en la Web.

Al parecer, Douglas Crockford es un fuerte defensor de JSON y tiene incluso algún artículo en el que dice que XML está muerto.

Según dice, en la charla arrancó sorprendiendo al público diciendo que XML tenía futuro en la Web. Tras dejar una pequeña pausa, remató diciendo que XML tenía futuro porque sería algo parecido a Cobol, que habia penetrado tanto en la industria que sería imposible librarse de él, de la misma forma que siguen existiendo compiladores de Cobol.

En esa misma mesa redonda participó Michael Sperberg-McQueen, uno de los creadores de XML y que también ha creado otro blog reciéntemente. De hecho, en ese blog incluye otro artículo hablando sobre lo mismo.

Personalmente, comparto más la idea de Sperberg-McQueen y pienso que XML tiene futuro en la Web por las características que representa, es simple y flexible, a la par que facilita una cierta disciplina mediante la validación.

El blog de Sperberg-McQueen tiene algún otro artículo interesante, como éste, en el que explica las motivaciones que llevaron a definir tipos primitivos en XML Schema.

1 comentario:

Diego dijo...

Creo que el problema es, como siempre, no la tecnología, sino el uso que se hace de ella.
Yo estoy convencido que para bien o para mal, XML sí que tiene futuro en la web, aunque quizás no tanto como pudiera ser previsible. Me explico:
XML tiene un "hype" enorme, y no se si se usa tanto por el bombo que se le da, o se le da tanto bombo por todo lo que se usa, pero el caso es que hay un montón de proyectos fuertes y serios que se apoyan mucho en ello, y están ahí para quedarse. Con lo cual, Crockford tiene razón en lo que dice, puesto que ya es tarde para intentar desterrarlo de la industria. Se va a quedar ahí, independientemente de que lo merezca o no.

Mi opinión personal, como don nadie en el mundillo, es que XML se está sobreutilizando de manera fatal en muchos ámbitos. Es un metalenguaje excelente para tratar de forma automatizada, y muy adecuado para documentos donde se necesite marcar el contenido. El problema que veo es que se utiliza para eso... y para todo lo demás. Personalmente, odio tener que escribir o leer XML minimamente complejo (más allá del XHTML, por ejemplo).

Creo que podría decir que no hay mucha gente a la que le guste trabajar "a mano" con XML, y desde luego nadie me va a convencer que es un lenguaje cómodo (por muy buena que sea X herramienta). El problema es que parece haber gente empeñada en que debe gustarte escribir XML tú mismo (de hecho hay una anécdota al respecto con el creador de Python). No comprendo cómo alguien pudo pensar que XSLT era una buena idea: un lenguaje menos engorroso probablemente hubiera calado más en la industria (en Tiobe creo que está en el último puesto del ranking, debe estar cerca de brainfuck y cosas similares :P )

YAML, y su subconjunto JSON (aunque creo que no es un subconjunto perfecto, se podría decir que casi casi), creo que no compite en la misma liga que XML, sino que es un lenguaje de marcado ligero, y lo más importante, que es fácilmente legible para el ojo humano.

Si de mi dependiera, usaría XML siempre que no tuviera que ni mirar los archivos que genera (y cuando tuviera unos datos jerarquizados, las bases de datos XML de propósito general me parecen un invento nefasto), y YAML siempre que fuese razonablemente probable que tuviera que acabar editando el fichero a mano. Aunque probablemente para muchos casos donde se está usando XML, sea mucho más sencillo otra solución que nada tenga que ver. Ya veremos cual es la "next best thing" en el campo de serialización y marcado de datos :-)

Un saludo.

P.D. ¿Vaya, has quitado los anónimos y has puesto moderación, o se ha cambiado solo?