NubeBlog | Web Hosting en la Nube

Archivos de Tags: AJAX

Técnicas en AJAX que han mejorado la usabilidad en un sitio, y cómo implementarlas

Aunque algunos desarrollos en AJAX ya existían desde hace mucho tiempo, fue Google quien nos cautivó con GMail al implementarlo tan bien que vimos las posibilidades reales de una aplicación de escritorio corriendo en la web.

Luego de eso fueron surgiendo más aplicaciones, pero sobre todo técnicas implementadas en éste conjunto de tecnologías que mejoraron la experiencia del usuario, y el desarrollo web, que me gustaría enumerar algunas en éste artículo junto a enlaces con scripts gratuitos para que cualquier otro desarrollador pueda implementarlo en su siguiente aplicación.

Autocompletado

autocompletadoEsto nos ha sido de gran ayuda para completar formularios, la primera vez lo ví con Google Suggest que ofrecía sugerencias de posibles búsquedas, también lo incluye GMail para ayudarnos a ingresar direcciones de correo.

Scripts con ejemplos y tutoriales para su implementación:

Información en pestañas

Pestañas en AJAXMejoró la forma de presentar la información en un sitio web haciéndolo más ordenado, es común que ahora las barras laterales de un sitio contengan al menos un módulo de éste tipo.

Calificar un artículo o elemento

Calificado de artículos o elementosYoutube nos enseñó a calificar los videos ;) , es una forma práctica de lograr que los usuarios nos den retroalimentación sobre lo que publicamos para luego tomar decisiones en base a ello o sencillamente mostrar lo más popular a nuestros visitantes

Validación al enviar formularios

validacion de formulariosAtrás quedaron los tiempos en los que se enviaba un formulario y la página se recargaba diciéndo que no habíamos ingresado algún dato, lo que a veces ocasionaba que se perdiera la información y tuviéramos que llenar de nuevo todos los campos, ahora con AJAX se valida y muestra de forma útil cuando hemos cometido algún error.

Fuente:www.maestrosdelweb.com

Frameworks Javascript prometedores para tus proyectos

Los populares Frameworks para Javascript: jQuery, Prototype, MooTools y demás, no son lo únicos que existen. Actualmente disponemos de alternativas orientadas a diferentes públicos y tipos de aplicaciones, que no son populares, pero sí prometedoras. Es bueno recordar que los Frameworks son simplemente herramientas utilizadas bajo ciertas necesidades. A continuación te presento una serie de los Frameworks Javascript que deberían ser considerados como alternativas reales.

RightJS: El Framework JavaScript correcto

Frameworks RightjsRightJS está dirigido al público de los lenguajes dinámicos, intenta posicionarse dentro del grupo de los Frameworks Javascript más populares. Sus creadores le adjudican una sintaxis agradable, simple, fácil de leer y escribir que lo hacen sencillo de usar y extender, incluso para novatos.

Su instalación es prácticamente igual que todos los demás Frameworks, simplemente incluyes el archivo del núcleo en la página, de la siguiente manera:

<script src="/javascript/right.js"></script>

La librería viene con dos archivos, uno es el código actualizado y el otro contiene código soportado por navegadores viejos. No tienes que preocuparte por el otro archivo (right-olds.js), porque es cargado automáticamente cuando sea necesario.

Fue probado y funciona en los siguientes navegadores:

  • Firefox >= 1.5
  • Safari >= 3
  • Todas las versiones de Google Chrome
  • Internet Explorer >=6
  • Opera >= 9.25
  • Konqueror >= 3.10

En su sitio web puedes encontrar una interesante comparación con el resto de los Frameworks más populares. Su filosofía tiene 3 enunciados: “Causal, but Well Organized”, “Designed, not Evolved”, “Don’t Learn, Have Fun!” y “It’s Highly Hackable!”; estos describen la idea detrás del mismo. Para los más incrédulos, también han publicado los resultados de un test de velocidad realizado en diferentes navegadores. Entre los ejemplos están un calendario, un autocompletado, un LightBox, Tabs, Tooltips y más.

SproutCore: Un Framework para aplicaciones en HTML5

sproutcoreSproutCore se distingue por su énfasis en el uso de funcionalidades para llevar aplicaciones de escritorio a la web. Cuenta con guías para empezar de manera rápida y un grupo de Google para quienes desean utilizar esta herramienta. Es una plataforma de código abierto para construir rápidamente “rich cloud applications”. Publican en su wiki un About muy completo, exponiendo las metas y las “no-metas”.

Con la frase: “Produzca impresionantes aplicaciones web en cualquier navegador moderno sin la necesidad de plugins”, SproutCore logra inspirar a los visitantes de su sitio web a conocer más sobre este Framework que actualmente se encuentra en versión Beta; aunque ya es utilizado en el sitio iWork y cuenta con el apoyo de Apple Inc., lo cual hace sospechar que los creadores del iPhone puede que utilicen Ruby en algunos de sus sitios

SproutCore, está diseñado para ser utilizando con Ruby, lo cual limita su público y puede ser instalado como una gema, usando el siguiente comando:

sudo gem install sproutcore

Entre los ejemplos están un Reloj, un Reproductor de Video, Controles y otros.

Adobe Spry: la propuesta de Adobe Labs

Framework Adobe SpryPatrocinado por Adobe y mantenido por Adobe Labs un Framework muy útil liberado por este gigante del software. Spry, esta altamente integrado en las recientes versiones de Dreamweaver. Desde la versión 1.6.1 es compatible con Adobe Air en su totalidad y se implementa como un conjunto de bibliotecas JavaScript.

Para utilizar Spry en una página, basta con incluir la biblioteca Javascript que contiene las características que necesitas. Tiene tres partes: Spry Data, Spry Widgets y Spry Effects. Se pueden utilizar juntas o por separado una de la otra. Los Spry Widgets son avanzados componentes en HTML, CSS y Javascript que pueden ser personalizados para diversos fines. Responden a la navegación por teclado y se desactivan correctamente cuando Javascript no es soportado por el navegador.

Spry Effects, como su nombre lo dice, es una colección de efectos que pueden ser incluidos en cualquier sitio. Algo muy interesante de este framework es la facilidad con que se puede trabajar con datos, soporta XML, JSON y HTML, propiamente. Cuenta con una extensa documentación y una lista muy completa de ejemplos.

JavaScriptMVC: Desarrolla con dirección

JavaScriptMVCJavaScriptMVC es un completo y robusto framework para crear aplicaciones en Javascript. Utiliza JQuery para las funcionalidades en Ajax y el manejo del DOM. Más que una simple librería, es un conjuto de scripts en donde está contemplado el Testing y la documentación de la aplicación. Su última versión pesa 6.2 MB (incluye tests y ejemplos) y puede ser descargado desde su sitio web.

Este framework es algo ya más bien parecido a una plataforma para desarrollar y utiliza el patrón Model-View-Controller, lo que explica el nombre. Entre las razones de por qué usarlo, destacan: Refuerza las “Buenas Prácticas”, aumenta la mantenibilidad y reduce el tiempo de desarrollo. JavaScriptMVC suple las siguientes herramientas:

  • Generador de Código.
  • Manejador de Actualización y Dependencias.
  • Suite de Pruebas.
  • Comprensión.
  • Documentación.

Podemos ver un video donde se muestran las características de este framework. No parece ser tan simple, pero es indiscutible que es un framework muy completo.

Qooxdoo: creación RIA

qooxdooEs un Framework compresivo e intuitivo, orientado a objetos, que facilita la creación de Aplicaciones Ricas de Internet (RIA). Es soportado por lo siguientes navegadores:

  • Internet Explorer 6+
  • Firefox 2+
  • Opera 9+
  • Safari 3.0+
  • Chrome 2+

Está basado completamente en clases, 350 clases para ser exacto; implementa constructores y destructores. Soporta Internacionalización, es decir que soporta todos los lenguajes del mundo, utilizando herramientas internamente de gettext. También integra un UnitTesting para depurar las aplicaciones.

Está bien documentado y consta con una buena cantidad de Ejemplos, entre los que se destacan está un DataGrid, Fromularios, Árboles, Data Binding, entre otros. Algo que queda por destacar que este framework es auspiciado por 1&1 la empresa de hosting.

SimpleJS: Un Framework simple

Este Framework intenta ser, como su nombre lo dice, simple. Realmente ligero, proporciona un conjunto de librerías para la implementación de Ajax. Desarrollado para principiantes y para proyectos pequeños. Las funciones son extremadamente simples y ha sido probado en IE6, IE7 (beta), Firefox 2.0 y Opera 9.02.

Para utilizarlo solo tienes que escribir la siguiente linea:

Luego de descargarlo, podemos ver un carpeta con ejemplos de Efectos, de cómo funciona el acordeón y un SlideShow sencillo.

UIZE: Una opción Open Source

Es un Framework Javascript Open Source, orientado a objetos, soporta Efectos, Widgets, AJAX, DOM, plantillas y más. Luce ser muy completo, pero no tan simple de implementar. En su sitio podemos encontrar la documentación del mismo y una amplia gama de ejemplos. La mejor opción para aprender a utilizar este Framework es descargarlo y estudiar la lista de implementaciones.

Midori: opción ligera

Es un framework ultra-ligero muy completo. Permite Selectores CSS, Ajax, Tabs, Drag & Drop, Efectos, Pop-up Menú, Autocompletado, Editor “Inline”, Selectores en Tablas y más. Está bien documentado, pesa 47.5 KB y puede ser descargado desde su sitio web. Es fácil de implementar y soporta los navegadores más utilizados.

Fuente: www.maestrosdelweb.com

Comparación de Frameworks en Javascript

Hemos pasado de páginas estáticas basadas en solamente HTML y CSS a páginas dinámicas que utilizan motores externos como PHP, ASP y Coldfusion para dar este dinamismo. Aunque Javascript no es una tecnologí­a reciente ha tomado mayor popularidad porque enriquece la experiencia de los usuarios de los sitios web.

La evolución nos ha traí­do el Cloud Computing o “Computación en Nube”, los Sistemas Operativos Web y las Aplicaciones basadas en Web. Todo esto gracias, en parte, a la implementación de Javascript y los frameworks. Entre dichos frameworks, se encuentran jQuery, MooTools, ExtJs, Prototype, Scriptaculous, Dojo Toolkit, YUI, y más.

Características de los Frameworks:

Es necesario entender que un framework es una abstracción de código común que provee funcionalidades genéricas que pueden ser utilizadas para desarrollar aplicaciones de manera rápida,fácil, modular y sencilla, ahorrando tiempo y esfuerzo. Entonces, un framework es concreto y también “incompleto”. Concreto porque es, desde un punto de vista simple, un conjunto de componentes; incompleto, porque por sí­ mismos no pueden ser utilizados, ya que guí­an a la solución de problemas de programación recurrentes, empero, por lo general, no son la solución específica completa.

En su mayorí­a, los frameworks javascript proveen componentes para:

  • Compatibilidad. Agregan la posibilidad de escribir código javascript totalmente compatible con todos lo navegadores y motores Javascript más utilizados. Esto aumenta la portabilidad y eliminan el “gran dolor de cabeza” de incompatibilidad entre navegadores y sus motores intérpretes javascript.
  • Comunicación asíncrona (Ajax). Usando este acercamiento, es fácil utilizar XMLHttpRequest para manejar y manipular los datos en los elementos de un sitio bien, aumentando la interactividad y experiencia del usuario.
  • DOM. Máximizan la capacidad de agregar, editar, cambiar, eliminar elementos de manera dinámica agregando librerías que facilitan usar DOM.
  • Validación de Formularios. Permiten de una manera relativamente fácil validar campos dentro de uno o varios formularios. Esto, desde el punto de vista del desarrollador, simplifica y reduce el código para procesar dichos formularios, ya que los datos llegan previamente validados, reduciendo los errores de tipos de datos.
  • Efectos visuales. Utilizando la manipulación de los elementos, se pueden crear efectos visuales y animaciones. Entre los efectos se encuentran: Aparecer y Desaparecer, Redimensionamiento, Move, Aparecer y Desaparecer, y más.
  • Almacenamiento Client-side. En adición provee funciones para leer y escribir cookies. También proveen una abstracción de almacenamiento que permite a las aplicaciones web guardar datos del lado del cliente, persistente y de manera segura.
  • Manejo JSON. Incrementa al máximo el manejo de datos, que pueden ser utilizados para presentar informaciones de manera dinámica y en tiempo de ejecución.
  • Manejo de Eventos. Esta caracteréstica agregada, permite reaccionar de una manera u otra dependiendo de las acciones del usuario.
  • Recibidores de Datos. Permiten utilizar diferentes formatos de datos como XML, HTML, Texto, JSON, ATOM, entre otros.
  • Arrastra y Suelta“. Mejor conocido como Drag and Drop. Es una funcionalidad que brinda la posibilidad de arrastrar elementos dentro de una misma página que interactúe con el resto de los elementos.

Aplicaciones Web vs. Sitios Web

Suele confundirse los conceptos de Aplicación Web con Sitio Web, lo cual lleva a la eterna discusión sobre cuál es el mejor framework, independientemente de la eficiencia de los mismos. Una aplicación Web intenta portar las clásicas aplicaciones de Escritorio hacia entornos Web, que son utilizadas a través de los distintos navegadores, agregando portabilidad y capacidad de acceder desde diferentes dispositivos.

Un sitio web es simplemente eso, un portal, una página, un grupo de páginas, una serie de documentos dinámicos o no. En ambos casos se puede mejorar la experiencia del usuario utilizando javascript y en efecto, frameworks. Aparte de la eficiencia, simplicidiad, rendimiento, documentación, forma de uso, entre otros factores más, la finalidad de lo que se quiere crear con estos frameworks es uno de los más importantes a la hora de elegir entre uno u otro.

Otro factor importante que se debe considerar es la curva de aprendizaje y la facilidad de uso cuando se crean Proyectos donde intervienen más de una persona. Una variable a considerar es la buena práctica y los patrones de programación aplicados.

Datos importantes y ejemplos

Cada framework tiene sus características que los diferencian de los demás. Podemos destacar lo siguiente.

Dojo Toolkit:

Está compuesto por Widgets que son componentes de código en Javascript pre-empaquetados que puede ser utilizados para enriquecer sitios web con varias caracterí­sticas que trabajan a través de la mayoría de los navegadores, tales como: Menúes, Tabs, Tooltips y Tablas ordenables.

Aunque la funcionalidad talvés única de Dojo es la capacidad para el Dibujo de Vectores en 3-D. También es posible utilizar temas para mejorar el look and feel de la aplicación. En 2007 Dojo incluyó ejemplos de almacenamiento del lado del servidor que son implementaciones del namespace dojo.data.

IBM y Sun Microsystems han anunciado el soporte oficial a Dojo, incluyendo contribuciones de código. De la misma forma Zend  Technologies, la compañía detrás del motor de PHP, lo ha incorporado en Zend Framework. Dojo es utilizado por Lucid Desktop, un WebOs open source. También puede ser integrado en aplicaciones creadas con AdobeAIR.

Una galería de Imágenes a estilo del iPod Touch, un Juego de Matemáticas, un Reproductor de Videos y una Lista con efecto FishEye son unos de los ejemplos que podemos encontrar en la web de Dojo Toolkit.

ExtJS:

Originalmente fue construido como una extensión de YUI. Incluye interporalidad con JQuery y Prototype. Posee controles para Campos de Textos, incluyendo Areas de Texto. Controladores selectores de fecha, Campos Numéricos, para Radiobox y Checktbox.

También componentes para crear y manipular DataGrids donde goza de cierta ventaja sobre otros frameworks. Es pobile crear “ventanas” con Barras de Herramientas y Menúes con estilo de aplicaciones de Escritorio, Dialogos modales y eventos.

ExtJS puede ser adquirido bajo licencias Libres y Comerciales. La compañí­a detrás de este framework ofrece cursos de capacitación y un extenso soporte. Entre los ejemplos ofrecidos en su sitio web encontramos ejemplos de Tabs, Ventanas, Árboles, Menúes y más.

jQuery:

Es una librerí­a liviana que enfatiza la interacción entre Javascript y HTML. Microsoft integra jQuery VisualStudio para el uso en aplicaciones desarrolladas en ASP.NET. Nokia usa jQuery en sus aplicaciones web. Contiene selectores de elementos DOM usando el motor Sizzle y permite la modificación de DOM (incluyendo soporte para CSS 3 y Xpath).

Entre quienes utilizan jQuery están: Google, Dell, Sun, MLB, digg, NBC, CBS, Netflix, Technorati, mozilla.org, WordPress y Drupal.

Con facilidad podría ser considerado el framework más utilizado en la actualidad. En adición, en internet existen bastantes plugins que agregan funcionalidades extras al framework.

Actualmente su última versión estable, la 1.3.2, viene un solo archivo de 19KB, y su funcionalidad puede ser extendida utilizando plugins. Algunos plugins útiles son: jQueyUI, un set de plugins, componentes para interfaces de usuario y efectos visuales y jExpand, un ultra-liviano plugin que permite crear tablas expandibles que ayuda a organizar mejor los datos. Entre otros más.

Mootools:

Liviano, modular y orientado a objetos, la meta es ser un intermediador para los desarrolladores ayudándolos a crear código javascript en una manera elegante, flexible y eficiente. Contiene un gran número de componentes, pero no todos necesitan ser cargados en cada aplicación. Consta de un Core, que es una colección de librerí­as que el resto de sus componentes necesitan, Class, que es la librerí­a básica.

También provee una componentes que enriquecen a los objetos nativos de javascript, para agregar compatibilidad y simplificación de código. Fx es su API avanzado de efectos para animar Elementos. Algunas aplicaciones utilizando MooTools son: ape, bing, joomla, vimeo, palm, Nintendo, phpMyAdmin y netvibes.

Demostraciones como Eventos Básicos, Acordión, Slider, Peticiones JSON y algunos Efectos muestran lo útil que puede llegar a ser este framework.

Prototype y Scriptaculous:

Prototype es una simple implementación de un solo archivo de código en Javascript que provee un framework para Ajax y otras herramientas. Contiene varias funciones para programar en Javascript que van desde accesos directos a funciones, elementos y objetos Javascript, hasta funciones para lidiar con XMLHttpRequest.

Scriptaculous es una librerí­a javascript basada en Prototype que agrega efectos visuales dinámicos y una interface para elementos a través de DOM. Viene incluido en Seaside y Ruby on Rails.

Entre quienes usan Scriptaculous están: NASA, Apple, CNN, Basecamp y Feedburner

En el Wiki oficial de Scriptaculous existen más de 30 ejemplos que podemos analizar y aprender a utilizarlos.

Comparación JQuery, MooTools, YUI, Prototype+Scriptaculous

La eficiencia de estos frameworks están muy atados al navegador que utiliza el usuario final. En marzo de 2009 Peter Velichkov se dio a la tarea de comparar el rendimiento de jQuery, MooTools, YUI, Dojo y Prototype+Scriptaculous entre los diferentes navegadores.

Las pruebas de Rendimiento se hicieron siguiendo estos puntos:

  • Todas las pruebas realizadas bajo el mismo Sistema Operativo con las últimas actualizaciones aplicadas (Windows XP SP3, Ubuntu 8.10, Windows 7 Beta 1).
  • Sclickspeed fue corrido tres veces por navegador con el caché limpio y reiniciando por cada intento.
  • Los promedios de cada resultado fueron redondeados a enteros.
  • Nada más estuvo corriendo durante la prueba.

Los puntos, brindan confiabilidad a las pruebas. Estos fueron los resultados por navegadores:

Estos fueron los resultados por Framework:

Podemos notar un aspecto muy importante, y es que los resultados dependen del navegador y el sistema operativo utilizado por el usuario. jQuery, Mootools y Dojo, técnicamente, son más eficientes que el resto, mas no podrí­a considerarse cuál es mejor que el resto, debido a sus caracterí­sticas propias y los diferentes factores que tienen participación a la hora de evaluar qué tan productivo es implementar uno u otro framework.

Llegando a conclusiones

Determinar cuál framework es mejor es prácticamente imposible. Es importante recordar que estos frameworks son simples herramientas que nos ayudan a realizar diferentes tareas de diferentes tipos, todos basados en el mismo lenguaje, javascript. Lo correcto es seleccionar uno u otro dependiendo la utilidad y la capacidad de saber cómo utilizarlo.

jQuery ha tenido gran éxito, ya que es fácil de usar y aprender, además de que existe en internet una gran cantidad de documentación y plugins que extienden su funcionalidad. Ha sido muy utilizado por Diseñadores con pocos conocimientos en programación. Scriptaculous, basado en Prototype, se integra bastante bien con Ruby On Rails, lo cual ha beneficiado a desarrolladores independientes y empresas al momento de crear aplicaciones de vanguardia.

Dojo Toolkit, en su incorporación con Zend Framework promete mucho, pero no goza de la popularidad de MooTools, que aunque es liviano y orientado a objetos, en algunas ocasiones resulta complicado realizar simples acciones, que utilizando Prototype suelen ser bastantes sencillas, como Peticiones Periódicas y acceso a diferentes elementos.

No cabe duda de que si lo que se quiere crear es una apliación web con estilo de aplicación de Escritorio, ExtJs es la mejor opción, inclusive se podría crear un Sistema Operativo Web utilizando este framework de forma relativamente fácil. Lo importante es saber utilizar las herramientas con las que se cuentan y sacarle el máximo provecho ¿Cuál framework para Javascript utilizas y por qué?

Fuente:www.maestrosdelweb.com

Cómo manipular la altura de capas paralelas con JQuery

Aprende a nivelar la altura de dos capas (etiquetadas con DIV) independientemente de cual de ellas sea más alta que la otra, tal como lo haría una tabla con dos columnas con contenidos diversos.

Lo que pretendo a través del siguiente artículo es enseñar a nivelar dos capas (etiquetadas con DIV). Por ejemplo una capa derecha, que contenga enlaces y bloques de un sitio web, y una capa principal, que contenga artículos puedan nivelar sus alturas independientemente de cual de ellas sea más alta que la otra.

Existen otras formas de hacerlo como las tradicionales tablas que constan de columnas y filas que permiten nivelas los contenidos, pero vamos a aprender hacerlo de otra forma para obtener el siguiente resultado:

jquery.jpg

Maquetación del ejemplo

Para el ejemplo colocaremos dentro de las etiquetas body el siguiente maquetado:

test test test test
test test test test test test

Pueden notar que el contenido de columna tiene menos texto que el de contenido, en otras palabras será menos alto que esta última.

Aplicando los estilos

El primer paso será generar nuestra hoja de estilos, la cual consta de una capa contenedora a la que llamaremos contenedor. Además, dos capas flotantes, una a la derecha denominada: columna. La otra a la izquierda denominada: contenido. Los atributos que colocaremos a cada capa serán los siguientes:


Lo que hicimos es básicamente posicionar las capas y aplicarle un color de fondo. Si ahora cargamos nuestra web en el navegador veremos que se mostrará con las capas desniveladas en altura.

Qué es JQuery

JQuery es una librería de JavaScript rápida y concisa que simplifica el trabajo con documentos HTML, maneja eventos, realiza animaciones, y agrega interacciones de Ajax en tus páginas web. JQuery ha sido diseñado para cambiar tu forma de escribir JavaScript.

Aplicando el JQuery

Para nivelar las columnas debemos usar JavaScript, para este ejemplo usaré una librería llamada JQuery. La librería de JQuery la pueden descargar desde su sitio web. El código que usaremos para nivelar las capas es el siguiente:



En la primera línea llamamos a la librería jqueri.js. Luego llamamos al evento ready() que es muy similar al windows.onload, es decir, no permite que ninguna función sea ejecutada a menos de que el DOM este listo para usarse.

Lo que hacemos en el condicional es comprobar si el alto de la capa columna es mayor que el alto de la capa contenido, si es así le asignamos a esta última el alto de la capa columna, en caso contrario hacemos lo opuesto. Para todo esto hacemos uso de la propiedad height() que nos calcula el alto de la capa, y de height(valor) para asignarle una altura.

Como ven el código no es muy complejo, como es obvio es posible de hacerse también con JavaScript puro, opté por jQuery porque lo estoy usando en el rediseño del sitio web de mi empresa.

Este artículo es una colaboración del autor el cual fue publicado originalmente en willywg.com por William Wong Garay.

Fuente: www.maestrosdelweb.com

afiliados