7 reglas para realizar Javascript de calidad

junio 19, 2009

Siete consejos para realizar un javascript de calidad y no intrusivo:

  • No hagas suposiciones: no pienses que el usuario tendrá el javascript activado o que usará un navegador adecuado.
  • Usa IDs y relaciones entre elementos: para no depender de un HTML mal estructurado y que el javascript sea imposible de realizar, utiliza IDs para acceder a los elementos con los que se quiere tratar y busca elementos que faciliten acceder a otros elementos.
  • Utiliza estilos: en vez de modificar los estilos de los elementos HTML mediante Javascript, usa clases CSS que modifiquen los estilos, y mediante Javascript se le puede añadir la clase a un elemento superior.
  • Comprende el navegador y a los usuarios: debes pensar cómo funciona un navegador, no sobre saturar su comportamiento (abuso de drag&drop, eventos, …). Además debes pensar qué espera el usuario que haga el navegador, y respetarlo.
  • Comprende los eventos: los eventos no solo corresponden a un objeto, sino a los elementros hijo que contiene. Así se pueden realizar eventos sobr un único elemento y no tener que modificar los demás.
  • Respeta el código de otros: seguro que a parte de tu código existe algún otro que has añadido, por lo que deberás programar teniendo en cuenta que hay que evitar conflicto entre funciones.
  • Después de ti vendrá otro: es muy frecuente que alguien acabe modificando tu código, ten un poco de consideración por los demás y escribe código legible y entendible.

The seven rules of Unobtrusive JavaScript

Vía / @dcedilotte


Apple corrige por fin la vulnerabilidad de Java

junio 18, 2009

Apple por fin ha corregido una vulnerabilidad que el resto de sistemas habían solucionado hace meses. Disponible para OS X 10.4 y 10.5 y a través del servicio de actualizaciones de Apple, esta actualización soluciona una vulnerabilidad en la máquina virtual de Java que potencialmente permitiría ejecutar código arbitrario en la máquina. El consejo anterior de Apple era desactivar Java temporalmente en sus navegadores.

Fuente: barrapunto.com


Guía para desarrollar Javascript accesible

junio 8, 2009

Interesante tutorial que nos enseña que problemas pueden encontrarse las personas con alguna discapacidad que le obligue a prescindir de Javascript (o usuarios con dispositivos móviles), y cómo solucionarlo.

Los mayores problemas con el que se encuentran las personas que no ejecutan javascript en sus navegadores son en la navegación (menús dinámicos), contenido oculto (accesible mediante Ajax), controles dinámicos (eventos de ratón, drag&drop, …) y confusión (la web está pensada para el uso de Javascript y no usarlo conlleva un contenido inicial deficiente).

Como resumen diría que hay que ofrecer los contenidos sin necesidad de javascript, éste sólo debe ser un apoyo, y que para comprobar si tu web es accesible lo mejor es probarlo inhabilitando el javascript en tu navegador.

Creating Accessible JavaScript

Vía / @maxkuri

Fuente: http://sentidoweb.com/2009/06/04/guia-para-desarrollar-javascript-accesible.php


Vulnerabilidad crítica de Java en MacOS X

mayo 20, 2009

Lando Fuller ha publicado el seguimiento a una vulnerabilidad de Java que no ha sido arreglada en la JVM desarrollada por Apple para MacOS X ni en Soylatte 1.0.3 (la implementación libre de OpenJDK 6 para MAC). Se trata del bug CVE-2008-535 que fue desclasificado y corregido por Sun hace 5 meses. Sin embargo, dado que la JVM de MacOS X no es desarrollada por Sun, en este SO persiste el problema.

Lo crítico de esta vulnerabilidad es que permite a código malicioso escapar del sandbox de la JVM y ejecutar código arbitrario en el SO desde un simple applet.

Si usas MacOS X, la única alternativa que tienes es deshabilitar los applets en tu navegador y deshabilitar la opción de “Abrir ficheros seguros después de descargarlos” en Safari.

Si usas SoyLatte 1.0.3 o menor, actualiza a la última versíon. Como prueba de concepto de esta vulnerabilidad, puedes probar este applet que invoca al comando say de tu Mac.

Fuente:http://www.javahispano.org/contenidos/es/vulnerabilidad_critica_de_java_en_macos_x/?utm_source=feed&utm_medium=feed&utm_campaign=feed


La Trampa JavaScript

marzo 24, 2009

Y así como antes lo hizo con La Trampa Java, Richard Stallman esta vez la arremete contra JavaScript en su nuevo documento La Trampa JavaScript donde nos advierte que bien podríamos estar usando programas No-Libres en nuestras computadoras todos los días sin saberlo, a través de nuestro navegador web:

“Los navegadores normalmente no te dicen cuando cargan programas JavaScript. La mayoría tiene alguna forma de desactivar JavaScript completamente, pero ninguno puede verificar si esos programas son No-Libres. Aún si uno está conciente de esto, tomaría un considerable esfuerzo identificar y bloquear esos programas. Sin embargo, aún en la comunidad del Software Libre la mayoría de los usuarios no son concientes de ello, y el silencio de los navegadores tiende a esconderlo”.

Stallman sí propone una solución en su artículo, que sugiere modificar los actuales navegadores libres para que permitan especificar un código JavaScript alternativo que usar en lugar del programa JavaScript original de una página. También menciona el plugin de Firefox Greasefire como un ejemplo de su implementación.

Fuente:vivalinux.com.ar


10 increibles aplicaciones Java

diciembre 31, 2008

Infinity Labs ha recopilado una lista de 10 aplicaciones Java que consideran increibles. A pesar de ser el lenguaje de programación más usado del mundo, a menudo los desarrollos Java estan circunscritos a ambientes empresariales por lo que no es fácil hallar ejemplos que “presumir” hechos con esta tecnología. Aún así, siempre han existido ejemplos, como en su momento IBM Lotus Notes que presumia de ser la aplicación de escritorio hecha en Java más grande (ignoro si todavía ostenta el título) o el cliente bit torrent Azureus que es uno de los responsables de que más del 90% de las PC’s tengan instalado el JRE.

Así que aquí van 10  aplicaciones que demuestran las posibilidades de esta plaforma:

10. Sun SPOT. Este proyecto de Sun es una plataforma basada en dispositivos inalámbricos con Java embebido que permiten interconectarse entre sí y a otros dispositivos con el fin de monitoreo, control o de básicamente cualquier cosa que se les ocurra a los desarrolladores.

9. El proyecto Looking Glass. Otro de esos maravillosos proyectos que han crecido dentro de Sun y que sin embargo no han encontrado un mercado. Básicamente es un gestor de ventanas en 3D que por el momento soporta Solaris y Linux; además de permitir a aplicaciones no 3D, ejecutarse en este gestor sin ningun problema.

8. Flying Saucer y Mozilla Rhino. El primero es una librería para render de tecnologías web como XHTML, XML y CSS 2.1  El segundo es una implementacion de javascript que corre en la JVM. De hecho fue uno de los primeros lenguajes script en correr dentro de la JVM.

7. UltraMixer DJ. Un programa para mezclar música digital o en CD. Incluso soporta diverso hardware (como consolas de mezcla, supongo que vía JNI -P Obvio, es multiplataforma y corre en Windows, Mac OSX y Linux.

6. Blu-Ray BD-J. Ya hemos hablado antes aquí de que la especificación de Blu-Ray incluye soporte para Java (o al menos una versión reducida tipo J2ME) para la construcción de menús, juegos y en fin toda la gama de extras que suelen ponerle a los DVDs de películas o series. ¿alguién de aquí ha tenido experiencia desarrollando para esta plataforma?

5. JavaFX Script y Mobile..

4. NASA World Wind. Bastante parecido a Google Earth pero usando información de los satélites de la NASA. Además incluye un SDK y puedes embeberlo en tus aplicaciones Swing.

3. Tommy Junior. Un robot del equipo Jefferson hecho 100% con tecnología Java de Sun.

2. ThinkFree. Una alternativa a MS Office hecha 100% en java y que incluye un procesador de palabras, hoja de cálculo y herramienta para presentaciones. Incluso tiene una opción online gratuita con soporte para iphone.

1. JPC. Me parece que ya hemos hablado aquí en otra ocasión de este proyecto. Un emulador conpleto de la plataforma x86 escrito 100% en Java


Java se ejecuta más rapido en GNU/Linux que en Windows

diciembre 20, 2008

Si te preguntas en que sistema operativo se ejecuta de manera más eficiente Java, entonces la respuesta tal vez te produzca un fuerte shock. Unas pruebas de ejecución de Java en Windows Vista y Ubuntu han demostrado una vez más que Vista llegó tarde…

Los tests fueron ejecutados en un Dell Inspiron 1525, con un procesador Intel Core 2 Duo T5800, con 3 GB de DDR2, un HDD Hitachi de 250 GB, gráfica integrada de Intel 965 y una resolución de pantalla de 1280 x 800.

Los sistemas operativos enfrentados: Windows Vista Home Premium SP1 vs Ubuntu 8.10. Vista utiliza Java 1.6.0_07, mientras que Ubuntu usa Java 1.6.0_10. Ambas versiones de Java fueran las publicadas más recientemente para cada uno de los sistemas operativos en el momento de la realización de los tests.

Los tests incluyen Sunflow Rendering System, Bork File Encrypter, Java SciMark, y Java 2D Microbenchmark. Todos los tests corren el mismo Java byte-code compilado en ambos sistemas.

La primera prueba fue el Sunflow Rendering System. A pesar del gran uso de la CPU, ambos sistemas quedaron a la par.

En el test de Fast Fourier Transform (FFT) la máquina con Ubuntu 8.19 superó significativamente a la que usaba Vista, ejecutándose cerca de un 30 por ciento más rápido.

Successive Over Relaxation (SOR) con Java SciMark también corrió más rápido en Ubuntu, igual que la prueba anterior, llegando al 33 por ciento más que bajo Windows Vista.

El SciMark composite performance test mostró una vez más la clara ventaja de Java en Ubuntu, alcanzando cifras un 50 por ciento superiores en comparación con Windows Vista.

Estas pruebas no cubren todos los aspectos de Java, pero dejan bastante claro que, al menos Ubuntu 8.10 ejecuta Java con más eficacia que Windows Vista en la misma máquina.