Links

Sunday, November 26, 2006

Ajax en el Search Engine.

Puedes encontrar un gran ejemplo Ajax en este Search Engine de Qooqle Video> Web 2.0 para el servicio YouTube. Aquí está el ejemplo de los resultados de la búsqueda "South Park":




Buscar para “South Park” en el Web page Qooqle Video

Saturday, November 25, 2006

JSON

Puedes encontrar la descripción aquí en http://www.json.org/

JSON (JavaScript Object Notation, notación del objeto del Javascript) es un formato ligero del dato-intercambio. Es fácil que los seres humanos leer y escriban. Es fácil que las máquinas analizar y generen. JSON es un formato de texto que es totalmente las convenciones de la independiente pero de las aplicaciones de la lengua que son familiares a los programadores del C - familia de idiomas, incluyendo C, C++, C#, Java, JavaScript, Perl, Python, y muchos otras. Estas características hacen JSON una lengua ideal del dato-intercambio.

JSON se construye en dos estructuras:

  • Una colección de pares del nombre/del valor. En varias idiomas, esto se observa como un objeto, un expediente, un struct, un diccionario, una tabla de hash, una lista afinada, o arsenal sociable.
  • Una lista pedida de valores. En la mayoría de las idiomas, esto se observa como un arsenal, un vector, una lista, o secuencia.

Éstas son estructuras de datos universales. Virtualmente todos los lenguajes de programación modernos las apoyan en una forma u otra. Tiene sentido que un formato de datos que es interchangable con lenguajes de programación también se base en estas estructuras.

En JSON, adquieren estas formas:

Un objeto

(object) es un sistema desordenado de pares del nombre/del valor. Un objeto comienza con { (apoyo izquierdo) y los extremos con } (apoyo derecho). Cada nombre es seguido por : (dos puntos) y los pares del nombre/del valor son separados por , (coma).

Un arsenal

(array) es una colección pedida de valores. Un arsenal comienza con [ (soporte izquierdo) y los extremos con ] (soporte derecho). Los valores son separados por , (coma).

Un valor

(value) puede ser una secuencia (string) en cotizaciones dobles, o un número (number), o true o false o null, o un object o un array. Estas estructuras pueden ser jerarquizadas.

Un string es una colección de cero o más carácter de Unicode, envuelto en las cotizaciones dobles, usando backslash se escapa. Un carácter se representa como sola cadena de caracteres. Una secuencia es mucho como la CA o la secuencia de Java.

Un number es mucho como a

el número C o Java, salvo que los formatos octales y hexadecimales no se utiliza.

Whitespace se puede insertar entre cualquier par del símbolo. Excepto algunos la codificación de los detalles, de que describe totalmente la lengua.

La vez próxima daré un ejemplo cómo utilizarlo con XmlHttpRequest.

ayuda del botón Back.

Daniel Kantor ha puesto una solución del botón en ejecución Back en Streampad y la ha compartido con nosotros.

Una de las quejas principales contra usos de la tela de AJAX es cómo rompen

botón back en un browser típico. Ha habido algunas soluciones (notablemente historia realmente simple de Neuberg del alfilerillo) pero ninguno lo tiene que trabaja en Safari. GMail todavía no tiene un botón de la parte posteriora del funcionamiento en Safari.
Dicen son la tercera vez el encanto y he intentado conseguir una cosa del botón Back en Streampad dos veces antes. No deseo utilizar a algún otro biblioteca pues son generalmente más compleja que necesito y no deseé poner algo en lugar hasta que tenía funcionamiento Safari . Intenté algunas diversas técnicas, pero cuando lo conseguí que trabajaba en Safari, adaptaría Firefox o IE.
Finalmente calculé hacia fuera una manera de conseguir este funcionamiento en Firefox, IE y Safari. No lo he probado en Opera. Aquí es lo que lo hice. Como de costumbre, tu kilometraje variará muy probablemente.
  1. crear un iFrame con width=’1′, height=’1′, name=’hFrame’, id=’hFrame’ y frameBorder=’0′. Es importante mantenerlo visible en la página o no trabajará en Safari. Puesto que es 1×1 justo, intentar ocultarlo en una esquina o algo.
  2. Crear esta función -
    function historyManager(f,t){
    frames[’hFrame’].location.href=”http://www.streampad.com/historyManFrame.php?f=” +f+”&t=”+t;
    }
    (obviamente substituto en tu dominio para example.com)
  3. Crear esta función -
    function historyFunc(f){
    f = f+”()”;
    eval(f);
    }
  4. Crea una página del php (o cualquier lengua) que acepte dos vars GET - “f” y “t”
  5. Nombrar esta página “historyManFrame”.
  6. En “historyManFrame” puesto éste -
    $f = $_GET[’f'];
    $t = $_GET[’t'];
  7. En cabeza la etiqueta puso dentro de una etiqueta de la escritura -
    function hello(){
    document.title = “Streampad - < ? echo $t; ?>“;
    parent.historyFunc(”< ? echo $f; ?>“);
    }
  8. Y en la etiqueta Body puesta -
    onload=hello()

Ahora qué va a suceder es éste:

  1. Llamar la función historyManager y pasarte dos vars String. f es la función que quisieras en última instancia llamar. t es el título que quisieras hacer que demuestre para arriba en la historia del botón Back.
  2. historyManager va a cargar la página (historyManFrame) en el iframe y a pasarte f y t como variables GET.
  3. historyManFrame ahora va a cargar y a hacer dos cosas. Primero, fijará su propio título a t variable. Después llamará su función historyFunc del padre y pasará en f.
  4. la voluntad historyFunc entonces toma la función f (como secuencia) y eval él (que llame la última función).

Esto es exactamente lo que estoy haciendo adentro

Streampad, y él está trabajando absolutamente bien. Algunas advertencias:
  1. Firefox no exhibirá el título del iframe en la historia del botón Back. Si quisieras, puedes fijar el título principal de la página y ése hará el truco. La razón que no hago esto en Streampad es b/c el título es siempre la canción actual y no deseo cambiar eso.
  2. No paso vars a la última función, así que no la fijé hasta hago esto. Sería realmente fácil hacer algo similar - paso justo en f como “func(’foo’)”. Entonces eval(f) justo en historyFunc en vez de agregar ‘()’ a él antes de' ing eval.

Ajax

 Ajax, taquigrafía para Asynchronous JavaScript y XML, es una técnica del desarrollo de la tela para crear usos interactivos de la tela. El intento es hacer la sensación de los Web pages más responsiva intercambiando cantidades pequeñas de datos por el servidor detrás de las escenas, para no tener que recargar el Web page entero cada vez las marcas del usuario un cambio. Esto se significa para aumentar la interactividad, la velocidad, y la utilidad del Web page.

La técnica Ajax utiliza una combinación de:

  • XHTML (o HTML) y CSS, para marcar para arriba y labrar la información.
  • El DOM tuvo acceso con una lengua scripting del cliente-lado, especialmente puestas en práctica ECMAScript tales como JavaScript y JScript, dinámicamente a la exhibición y obra recíprocamente con la información presentada.
  • El objeto de XMLHttpRequest se utiliza para intercambiar datos asynchronously por el web server. En algunos armazones de Ajax y en ciertas situaciones, un objeto IFrame se utiliza en vez del objeto de XMLHttpRequest para intercambiar datos por el web server, y en otras puestas en práctica, las etiquetas dinámicamente agregadas <> pueden ser utilizadas.
  • XML se utiliza a veces como el formato para los datos de transferencia entre el servidor y el cliente, aunque cualquier formato trabajará, incluyendo el HTML preformateado, el texto llano, JSON e incluso EBML. Estos archivos se pueden crear dinámicamente por una cierta forma de servidor-lado scripting.


Como DHTML, LAMP y SPA, Ajax es una no tecnología en sí mismo, sino un término que refiere al uso de un grupo de tecnologías.

El primer uso del término en público estaba por Jesse James Garrett en febrero de 2005. Garrett pensó en el término mientras que en la ducha, cuando él realizó la necesidad de un término de la taquigrafía de representar la habitación de tecnologías que él proponía a un cliente.

Aunque el término "Ajax" fue acuñado en 2005, la mayoría de las historias de las tecnologías que permiten el comienzo Ajax a la década anterior con las 'iniciativas de s Microsoft en desarrollar Remote Scripting. Las técnicas para el cargamento asincrónico del contenido en un Web page existente sin requerir una recarga llena datan hasta el tipo del elemento del IFRAME (introducido en el Internet Explorer 3 de 1996) y el tipo del elemento LAYER (introducido en Netscape 4 de 1997, abandonado durante el desarrollo temprano de Mozilla). Ambos tipos del elemento tenían una cualidad del src que podría tomar cualquier URL externo, y cargando una página que contenía JavaScrip t que manipuló la página del padre, Ajax - los efectos semejantes podrían ser logrados. Este sistema de tecnologías del cliente-lado fue agrupado generalmente juntas bajo término genérico de DHTML. Dshdiu0026 de Macromedia podría también, de la versión 4, carga XML y los archivos de CSV de un servidor alejado sin requerir un browser restauran.

Dshdiu0027 de Microsoft (o los MSRS, introducidos en 1998) actuaba como reemplazo más elegante para estas técnicas, con los datos que eran tirados adentro por un applet Java con el cual el lado del cliente podría comunicarse con JavaScript. Esta técnica trabajó en Internet Explorer versión 4 y Netscape Navigator versión 4 hacia adelante. Microsoft entonces creó el objeto de XMLHttpRequest en Internet Explorer la versión 5 y el primer se aprovechó de estas técnicas usando XMLHttpRequest en Outlook Web Access proveído del lanzamiento Microsoft Exchange Server 2000.

La comunidad del desarrollo Web, primero colaborando vía el newsgroup microsoft.public.scripting.remote y más adelante con la agregación del blog, desarrolló posteriormente una gama de las técnicas para el telecontrol scripting para permitir resultados constantes a través de diversos browsers. En 2002, una modificación de la usuario-comunidad a Microsoft Remote Scripting fue hecha para substituir el applet Java por XMLHttpRequest.

Remote Scripting Frameworks tal como ARSCIF [5] emergió en 2003 no mucho antes Microsoft introdujo Callbacks en ASP.NET.

Puesto que XMLHttpRequest ahora se pone en ejecución a través de la mayoría de browsers funcionando, las técnicas alternativas se utilizan infrecuentemente. Sin embargo, todavía se utilizan donde la compatibilidad con sitios más viejos Web o usos de la herencia se requiere.

Además, el World Wide Web Consortium tiene varias recomendaciones que también permitan la comunicación dinámica entre un servidor y un agente del usuario, aunque apoyan pocos de ellos bien. Éstos incluirían:

  • El elemento del objeto definido en HTML 4 para encajar tipos contentos arbitrarios en documentos, (substituye marcos en línea debajo de XHTML 1.1)
  • La carga del nivel 3 del modelo del objeto del documento (DOM) y excepto la especificación


Friday, November 24, 2006