Archivo para Junio, 2006

De DHTML a DOM scripting

Martes, Junio 13th, 2006

Cada día se escucha más hablar de DOM y cada vez menos de DHTML. Hay discusiones larguísimas acerca de estos 2 términos sobre todo porque no está del todo claro si es lo mismo o no lo es. Cómo siempre depende del enfoque que cada uno le dé a un término y otro.

Hay quienes defienden DOM cómo la tecnología del futuro (y sin duda tienen razón) objetando que DHTML es cosa del pasado (cosa que no creo). DOM-scripting lo interpreto cómo parte de DHTML (HTML dinámico), que en este caso se consigue actuando sobre nodos en vez de actuar sobre capas.

Hoy me he topado con un artículo muy bueno sobre cómo pasar de DHTML a DOM-scripting. Salvando el hecho de que yo considero DOM cómo una parte de DHTML, el artículo es muy instructivo por tener cómo meta querer ayudar a evitar técnicas antiguas y enseñar a usar técnicas actuales.

El autor diferencia DHTML de DOM-scripting por el hecho de que DHTML no es ningún estándar del W3C sino que es un conjunto de estándares (al igual que lo es Ajax hoy en día) y que DHTML aparenta cambiar la página sin recargarla, cuando DOM es capaz de enviar y recibir datos a otros sistemas (pe servidor). Lo último en realidad nada tiene que ver con DOM y mucho menos es un estándar (aunque lleva mucho tiempo vagando por el mundo de los navegadores).

Estoy muy de acuerdo en que DOM es el futuro…. de DHTML… y si se hace uso de Ajax de manera reservada (quiero decir que no se intente usarlo porque si) pues aún mejor.

Bueno… aquí va el enlace (el artículo está en inglés):
http://icant.co.uk/articles/from-dhtml-to-dom/from-dhtml-to-dom-scripting.html

Otro tutorial interesante trata de objetos literales (también en inglés):
http://www.wait-till-i.com/index.php?p=239

Ventanas flotantes (dialog.js)

Miércoles, Junio 7th, 2006

Tras probar muchos scripts para ventanas flotantes por fin he dado con uno que se basa en Scriptaculous, es funcional y bonito. Hace uso de skins, lo que lo hace facilemente adaptable al entorno de la aplicación que estemos programando y permite cargar los contenidos dinámicamente… y de allí a cargar los contenidos mediante Ajax ya solo queda un pequeño paso :-)
La única pega que le veo es que no ofrece la posibilidad de adaptar su tamaño al contenido, aunque si ofrece la funcionalidad de scroll.

Podeis ver la demo en http://net4visions.com/dev/dialog/dialog.htm.
Para descargar el código… http://net4visions.com/dev/dialog/

La implementación de dialog.js en nuestra aplicación es muy fácil…
Después de cargar prototype.js y scriptaculous.js se carga _dialog.js.
Para abrir una ventana flotante se usa

var dlg0 = new Dialog(null, {options});

Las opciones disponibles y el manual completo lo encontrais aquí.

Miguel

Ajax… ¿ha cambiado la definición de la palabra?

Miércoles, Junio 7th, 2006

Jesse James Garett, el inventor de la palabra “Ajax” admite que Ajax ya no define solamente “Asynchronous JavaScript + XML” sino que es válido para todo tipo de aplicación web que hacen uso de:
- un modelo de interacción asincronea
- tecnologías nativas del navegador.

Ajax se ha convertido en la palabra de moda para todo tipo de aplicaciones web. Muchas de estas no merecen el nombre Ajax porque las funcionalidades son puramente DHTML o DOM Scripting sin comunicarse con el servidor.

Pero hay otras muchas que usan iframes para la comunicación o devuelven (x)HTML en vez de XML (caso de Prototype)… y esto si debe considerarse Ajax… y ahora con el beneplácito de Jesse :-)

Miguel

Prototype y JSON

Sábado, Junio 3rd, 2006

Una particularidad que tiene Prototype es que la respuesta de un request JSON la espera en la cabecera de la respuesta, dentro del tag propietario X-JSON. En principio eso no causa ningún problema hasta que no coincidan 2 elementos… el uso de Internet Explorer y un tamaño excesivo del contenido devuelto.

Desconozco la motivación para usar la cabecera para el transporte del contenido JSON, pero a la vista de los problemas que nos puede dar con IE es algo que debería replantearse.

Miguel