Resultado de etiquetas “javascript”

El chikichiki de Chiquilicuatro ya está siendo versionado. Las versiones más geek hasta ahora son la canción de Baila el Javascript y El rap del SAP.

Baila el Javascript SAP
¡¡¡Teclea, teclea!!!
El javascripy mola mogollón,
funciona en explorer y también en firefox.
Ponle javascripy a esa paginita,
que el javascripy la deja muy bonita.
Abre ventanas,
muestra mensajes,
valida formularios,
mi amol ya tu sabes!
Programan los seniors,
Programan los juniors,
Programa mi jefe con acentos en el function!
Y el javascripy se programa asi:
1-El tag
2-el function vars
3-el alert-confirm
4-el return trú
Programa el javascripy,
Programa el javascripy,
programan los heavys también los frikis
Programan en la offis, programan en la uni,
Programan los fruittis y también los lunnis.
Programa Maradona esnifando una raya,
y Juan Carlos le dice: ¿Porque no usas ajax?
En el formulario de un triste portal,
pusieron javascripy y ya pudo validar
¡¡¡Validar!! ¡¡Validar, validarr, validarrr!!!
Y el javascripy se programa asi:
1-El tag
2-el function vars
3-el alert-confirm
4-el return trú
¡¡¡Sapea, sapea!!!
El Abap4 mola mogollón,
Lo "tien" en Alemania y también en Alcorcón.
Pon el Abap4 en tu empresita,
que es una cosa que queda muy bonita.
lo pone Acentur
lo pone IECISA
lo pone hasta INDRA
mi amol ya tu sabes!
Se implanta FI
Se implanta HR
Se implanta lo quieras con billetes en la mano
Y el abap4 se pone así:
1-El SELE'SINGEL
2-Los ALV'S
3-El COL'TRANSATION
4-El batch-inpún
Aprende el Abap4,
Aprende el Abap4,
Lo aprenden los heavys también los frikis
Lo aprenden los telecos,
lo aprenden los de empresas,
lo aprende mi padre y tb mi abuela
Lo aprende Maradona esnifando una raya,
y Juan Carlos le dice: ¿Porque no usas ABAP?
En la panadería del padré Damián,
Pusieron Abap4 y la empresa a triunfar
¡¡¡Triunfar!! ¡¡Triunfar, TRIUNFAAAARRR!!!
Y el abap4 se programa así:
1-El SELE'SINGEL
2-Los ALV'S
3-El COL'TRANSATION
4-El batch-inpún

[Visto en La jaula de los monos]

El problema de las versiones del navegador cada día es mayor. No basta con tener desarrollos y diseños que se ajusten a diferentes navegadores si no que además se debe tener en cuenta distintas versiones de un mismo navegador. Por encima de esfuerzo de vencer la desidia al hacer lo mismo de formas diferentes para que se vea igual hay que solucionar otro problema… poder probarlo en cada uno de los navegadores. browsers.evolt.org simplifica mucho las cosas a diseñadores e integradores web al poder conseguir distribuciones no instalables de diferentes navegadores. Tan sencillo como descargar diferentes versiones de IE con las que basta descomprimir los archivos para disponer de IE6 e IE55 conviviendo con un IE7 instalado.

Disponible también versiones de Mozilla, Safari y Opera entre otros.

Para una aplicación basada en AJAX usando Prototype resulta muy útil el uso de referencias locales (named anchors) para que el navegador nos muestre la porción de la página adecuada. Un ejemplo sería:

<?=$ajax->link('Añadir', null, array('fallback'=>'#add', 'url'=>"/miapp/add/", 'update'=>"add", 'complete'=>"new Effect.Appear('add');")) ?>
<a name="add"></a>
<div id="add" style="display:none"></div>

Este código se ejecuta sin problemas en Firefox, sin embargo en Internet Explorer su comportamiento es irregular, llegando a no hacer nada (aparentemente) la mayoría de las veces y no indicando un error en ningún momento. El problema comienza al tener el identificador de la capa (DIV) y el nombre del marcador (anchor) exactamente iguales. La solución más simple es llamarlos de forma diferente.

<?=$ajax->link('Añadir', null, array('fallback'=>'#add_pos', 'url'=>"/miapp/add/", 'update'=>"add", 'complete'=>"new Effect.Appear('add');")) ?>
<a name="add_pos"></a>
<div id="add" style="display:none"></div>

Es muy grato encontrar herramientas de desarrollo gratuitas como FireBug
que le hacen la vida en el trabajo a uno mucho más llevadera. FireBug es una extensión para Firefox que permanece oculta con
un pequeño icono (verde si todo va bien, rojo si hubo un error) en la barra de estado que despliega la herramienta al pinchar sobre él.

Cuenta con un depurador bastante potente de JavaScript que permite añadir puntos de ruptura al código, ejecución paso a paso,
monitorización de la pila y se combina con el inspector para visualizar variables y objetos.

El inspector nos permite visualizar los nodos del fuente html en forma de arbol, la hoja de estilos, el DOM generado, seguimiento de eventos y
los datos de composición de cada elemento. El modo inspect permite ver los datos en el inspector del elemento sobre el que situemos el cursor.

Por último la consola recoge los mensajes de error de JavaScript y todas las llamadas que se hagan mostrando el contenido devuelto y las
cabeceras http, realmente útil cuando se trabaja con Ajax

Esta herramienta en combinación con Web Developer Extension hace de Firefox
el entorno de pruebas en cliente ideal para aplicaciones web.

Las restricciones de seguridad que impiden a javascript a acceder al sistema de archivos no nos permiten poder realizar tareas como el envío de ficheros al servidor (upload). Si pretendíamos realizar esto con Ajax nos golpearemos con un muro una y otra vez. Sí es posible emular un comportamiento similar al que conseguiríamos con Ajax usando las ya viejas técnicas de iframes ocultos.

La simulación consiste básicamente en realizar el en envío del formulario (submit) teniendo como destino (target) un iframe oculto del que podemos capturar el evento onload para detectar la finalización del envío del archivo.

Para practicar con esto he preparado un ejemplo usando Cake en Laboratorio cakePHP: #0608111 ajax upload. El ejemplo consiste en poder subir archivos sin "recargar" la página. Mediante Ajax se muestran los seis últimos archivos subidos y sus tamaños en bytes. En el formulario tenemos la suma del tamaño de los archivos (actualizado con Ajax) y un campo en el que podemos añadir una cantidad para realizar la suma al pulsar en "Calcular", momento en el que se recargará la página.

Los teclados de muchos desarrolladores se están revolucionando con Rails. Otros se resisten a pasarse a Ruby por distintas razones. Con el objetivo de trabajar con PHP con una aproximación bastante buena de las ventajas que ofrece Rails nos encontramos CakePHP.

CakePHP es un framework MVC inspirado en Rails. Adopta de él su filosofía y mucho de su funcionamiento, aunque detalles propios de Rubi no compatibles con PHP han sido adaptados lo mejor posible.

Comenzar a trabajar con CakePHP es inmediato. No se necesitan crear ficheros de configuración. Simplemente hay que definir la conexión a la base de datos y comenzar a crear las clases que necesitemos. Si nos ajustamos a sus reglas para definir los nombres (en ingles) de las clases, vistas y tablas las líneas de código se reducen ya que Cake será capaz de enlazar los distintos elementos modelo-vista-controlador. Incluye asistencias para AJAX, HTML, Javascript, CSS y formularios entre otros.

Las pegas principales son la aún escasa información en la web y la mala organización del manual, que se apoya excesivamente en un wiki poco actualizado y con entradas muy obsoletas. Para iniciarte el tutorial es rápido y completo.

1