X Library VS CBE API
En cross-browser.com nos proporcionan dos librerías distintas para el trabajo con DHTML. En realidad se trata de un mismo conjunto de funciones, siendo una librería la evolución de otra. CBE API es la librería original y X Library es su evolución, que todavía (en el momento de publicar este artículo) se encuentra en fase experimental.
CBE API es la librería más antigua y todavía tiene mayores funcionalidades, pero en un breve espacio de tiempo X Library dispondrá de las mismas funcionalidades que la otra, aunque con diversas mejoras como una considerable reducción del peso de los archivos Javascript.
En principio, si entramos a cross-browser.com, nos presentan X Library, aunque un poco más escondido encontraremos su antecesor CBE API. El consejo es que se utilice X Library para proyectos nuevos. De todos modos, CBE API sigue perfectamente vigente (por ahora). Por ejemplo, en DesarrolloWeb.com utilizamos la librería CBE API para gestionar el tema de las capas, en concreto en el menú de la cabecera de la página.
Cómo utilizar X Library
Tenemos que empezar por descargar la versión actual de X Library. Para ello entramos en cross-browser.com y accedemos a la sección de Toys (para el creador de este sitio web, sus juguetitos son librerías DHTML). Aquí podemos hacer el download de la última versión, donde encontraremos las librerías y ejemplos de uso.
Una vez descomprimido el paquete, podemos encontrar una carpeta llamada "x", donde están las librerías. Nos fijamos en que hay una buena cantidad de archivos .JS, cada uno con diversas funciones. Dependiendo de la acción que se desee realizar tendremos que llamar a una función u otra, y tendremos que saber en qué archivo .JS se encuentra. Las funciones más habituales se encuentran en el archivo x_core.js. En nuestras páginas no tenemos por qué incluir todos los archivos del directorio, sólo los que vayamos a utilizar. Podemos ver en qué archivo está cada función en la documentación del propio programa, más concretamente en la referencia de funciones (el directorio donde se aloja la documentación está dentro de la carpeta "docs" que está dentro del directorio "x").
Dentro del directorio "x" también hay una carpeta de ejemplos, llamada "examples", a los que podemos echar un vistazo para empezar a familiarizarnos con las posibilidades de la librería. Nosotros hemos creado un par de ejemplos para comprobar las bondades de este software. Para ello hemos seguido el esquema del código de la propia página cross-browser.com y el de los distintos ejemplos que se ofrecen. Algunas funcionalidades de los ejemplos, como la función xInclude() están todavía en fase de experimentación, por lo que nosotros no las hemos utilizado y en su lugar incluimos los archivos que necesitamos tal como se hace habitualmente en Javascript.
Ejemplo mostrar y ocultar capa
X Library dispone de una sencilla función para mostrar y ocultar una capa. Simplemente recibe el identificador de la capa que se desea mostrar u ocultar. En principio, podemos enviarle a la función el propio objeto capa o bien un string con su identificador (que se indica con el atributo id en la etiqueta <div>).
| Referencia: En el manual de CSS tenemos explicaciones de lo que son las capas y la forma de crearlas y definir su posicionamiento y apariencia. |
| Nota: setTimeout es un método del objeto window. Tenemos varios artículos que utilizan esta función, por ejemplo: Reloj en Javascript o Texto en movimiento en la barra de estado. |
| Por: Rodrigo Damián Orlando | 14/10/04
|
"Recomendamos que no reinventéis la rueda. Ya que se dispone de herramientas de trabajo con capas tan versátiles como X Library, es mucho más interesante basar nuestros scripts en ella que rompernos la cabeza para inventar mecanismos compatibles con cada navegador."
Ya que soy desarrollador, (recientemente para la web), y he aprendido mucho con su sitio.
Es muy fácil y simplista, dar esta opinión, ya que otro se rompió pensando por usted.
Cuando se tiene que terminar un trabajo y no se dispone de tiempo, o no so quiere hacer el todo el trabajo, está perfecto lo que se propone, pero eso de no reinventar la rueda, me paréese que va en contra del aprendizaje (me pareció que la idea del sitio era que pudríamos aprender). Si conocemos como funciona algo al derecho y al revés, estaremos aprendiendo, pudiendo hacer incluso mejoras, o adaptarlo mejor a nuestras necesidades, generar scripts con otro tipo de funcionalidades, etc. (puede dar ideas), de hecho estoy terminando algunas librerías (para soft. de escritorio), que facilitan la tarea del desarrollador, pero en ningún caso, mi intención es pensar por otros, sino ayudarlos.
La única forma en la que estaría de acuerdo es en que el resultado sea hecho por arte de magia (algunos lo pueden pensar), y no dudo que sea una magnifica herramienta (no la he probado), pero si alguien se molesto en hacer una herramienta que te sirve agrádesele, pero por tu comentario parece más bien que lo insultas por hacer algo que tu no puedes, porque que si el hubiera pensado igual, no contarías con esta magnifica herramienta.
Hay que tener cuidado, cuando uno es el encargado de trasmitir.
RESPUESTA
Ante todo gracias por tus comentarios y el tiempo en enviar tu comentario. Te contesto como redactor del artículo. Estoy de acuerdo con muchas cosas que dices y creo que algunas deberían tener un matiz.No se me ocurriría desmerecer el trabajo realizado por el creador de Cross-Browser, es una gran herramienta y de hecho, mi intención publicando este artículo, es divulgarla y ayudar a que los desarrolladores la conozcan.
Insisto, en mi experiencia trabajando con DHTML, he tenido muchos momentos difíciles haciendo un código compatible con todos los navegadores y ahora mismo, no sería capaz de desarrollar un trabajo tan bien hecho como estas librerías. Salvo que invirtiera una ingente cantidad de tiempo y estudiara muy bien cada uno de los miles de detalles necesarios para conocer cada navegador.
No merece la pena que invierta todo ese tiempo en desarrollar otras librerías o hacer un código compatible. Lo que sí me parece interensante es que utilice las librerías para hacer más trabajo, a partir de donde se quedó el autor de Cross-Browser.
Por ejemplo se puede desarrollar una interfaz gráfica o menú por capas, que sea fácilmente configurable y utilizable en muchos desarrollos distintos. Lo que habría que hacer en este caso es enviarle al creador de las librerías ese código para que lo publique en la página y esté accesible a otras personas. De hecho, estamos publicando una línea de artículos con ejercicios DHTML que utilizan estas librerías y es mi intención enviarlos a Cross-Browser para su conocimiento. A ver si sale algo bueno.
Haciendo mias unas palabras que he visto hoy en producto de Microsoft: "Se trata de inventar, no de reinventar".
| Por: David | 14/2/05
|