|
Uso de AJAX
AJAX parece ser la palabra de moda en el mundo del desarrollo de aplicaciones Web, AJAX no es una tecnología, sino la unión de varias tecnologías que juntas pueden lograr cosas realmente impresionantes.
AJAX, en resumen, es el acrónimo para Asynchronous JavaScript + XML y el concepto
es: Cargar y renderizar una página, luego mantenerse en esa página mientras scripts y rutinas van al servidor buscando, en segundo plano, los datos que son usados para actualizar la página solo rerenderizando la página y mostrando u ocultando porciones de la misma. La intención de todo esto es que la web tenga un comportamiento más receptivo o sensible a la hora de gestionar pequeñas cantidades de información, de esta manera la página web no tiene que recargarse por completo cada vez que el usuario hace un cambio. Por lo tanto aumenta la posibilidad de interactividad de la web, la velocidad y la usabilidad. El hecho de que se genere HTML de manera local en el navegador a través de código JavaScript permite que se mejore notablemente lo que se denomina la experiencia
de usuario, la información puede mostrarse parcialmente según el usuario la demande, evitando así que el exceso de información
convierta la web en algo confuso y poco usable.
Sin embargo, AJAX también presenta algunos problemas o retos para los desarrolladores
de aplicaciones web que quieran realizar una web que cumpla las normas de accesibilidad establecidas por WAI (Web Accessibility Initiative-Iniciativa para la Accesibilidad
Web). Por ejemplo, las páginas web creadas dinámicamente no quedan registradas
en el historial del navegador, por lo tanto si el usuario pulsa en el botón de Atrás de su navegador posiblemente no pueda acceder
a los datos que tenía en la pantalla que había visualizado previamente. Ajax utiliza javascript, y esto significa también que la aplicación web no funcione en la siguiente versión del navegador y necesite actualización.
Desde hace tiempo se ha demostrado que basar mucho un desarrollo web en el uso de javascript es poco fiable y difícil de mantener sobre todo teniendo en cuenta que Microsoft no cumple la compatibilidad de javascript en Internet Explorer.
Rails tiene un modelo consistente y simple
de implementar las operaciones con Ajax. Una vez el navegador ha renderizado y mostrado la página inicial, la interactividad del usuario hace que se muestre una página nueva o que desencadene una acción en Ajax, esto es:
• Se produce una acción por parte del usuario, esto es, pulsar en un botón, cambiar los datos, de un campo en un formulario, o una acción que sea periódica
basada en un temporizador.
• La información asociada con la acción se envía de forma asíncrona al handler en el servidor vía XMLHttpRequest,
• El handler del lado del servidor ejecuta una acción basada en la información y devuelve un fragmento de HTML,
• El JavaScript en el lado cliente (que Rails ha creado automáticamente) recibe el fragmento de código HTML y lo utiliza para actualizar una parte específica de la página HTML en la que se encuentra el usuario, generalmente será el contenido de una etiqueta <div>.
La existencia de GEMS
Para hacernos aún más fácil la vida, existen las RubyGems que es un sistema de empaquetar
en Ruby.
Un gem es un aplicación o librería de Ruby empaquetada, tiene un nombre (por ejemplo rake) y una versión (por ejemplo 0.4.16).
La existencia de gems permite que:
• Exista una forma estándar de distribuir los programas y librerías de Ruby,
• Tener una herramienta que permite el fácil manejo e instalación de los paquetes de gems,
• Un servidor de gems que permite disponer
de las gems desde cualquier máquina donde RubyGems está instalado.
Las gems se gestionan desde cada ordenador utilizando el comando gem. Se pueden instalar, eliminar, buscar (entre otras posibilidades) paquetes
de gems mediante el comando gem.
RubyGems es el nombre del proyecto que ha desarrollado el sistema de empaquetado de gems y el comando gem. Se puede obtener RubyGems en el repositorio de RubyForge (http://rubyforge.org/projects/rubygems).Veamos cómo utilizar el comando gems para obtener distinto tipo de información.
Listado de las gems disponibles
Si ejecutamos:
gem query --remote # atajo: gem q -R
entonces obtendremos un listado de todas las gems que se encuentren en el servidor remoto.
La información obtenida de la ejecución del comando sería (la hemos reducido considerablemente),
ver Listado 1.
Listado 1. Gems en servidor remoto
activerecord (0.8.4, 0.8.3, 0.8.2, 0.8.1, 0.8.0, 0.7.6, 0.7.5)
Implements the ActiveRecord pattern for ORM.
BlueCloth (0.0.4, 0.0.3, 0.0.2)
BlueCloth is a Ruby implementation of Markdown, a
text-to-HTML conversion tool for web writers.
Markdown allows you to write using an easy-to-read,
easy-to-write plain text format, then convert it to
structurally valid XHTML (or HTML).
captcha (0.1.2)
Ruby/CAPTCHA is an implementation of the 'Completely
Automated Public Turing Test to Tell Computers
and Humans Apart'.
cardinal (0.0.4)
Ruby to Parrot compiler.
cgikit (1.1.0)
CGIKit is a componented-oriented web application
framework like Apple Computers WebObjects. This
framework services Model-View-Controller architecture
programming by components based on a HTML file, a
definition file and a Ruby source.
Si queremos buscar gems en el servidor remoto para posteriormente poder instalarlas, lo haríamos de la siguiente forma:
gem query --remote --name-matches doom
# atajo: gem q -R -n doom
Se obtiene como resultado lo siguiente:
*** GEMS EN SERVIDOR REMOTO***
ruby-doom (0.8, 0.0.7)
Ruby-DOOM provides a scripting API for creating DOOM
maps. It also provides higher-level APIs to make map
creation easier. |
Siguiente
Páginas: 1 2 3 4 5
|