Contenido

prettyPrint, visualiza tus variables javascript

6 jun

+ 6

James Padolsey nos deleita con una nueva aplicación Javascript que nos ayudará a depurar nuestros scripts. Se trata de un sistema visual para mostrarnos el contenido de nuestras variables.

// HTML
<div id="debug"></debug>

// Javascript
var Objeto = {
	uno: function(){
		return "Esto es una función"
	},
	dos: [1,2,3,4,5],
	tres:{
		uno: "UNO",
		dos: [{
			uno: "uno"
		},{
			dos: "dos"
		}]
	},
	cuatro: "CUATRO"
};

var prettyObject = prettyPrint(Objeto,{/* Opciones */});

document.getElementById("debug").appendChild(prettyObject);

Como podemos ver en el código, tenemos a Objeto que está compuesto de funciones, cadenas y arrays. Al pasarlo por prettyPrint() obtenemos un objeto DOM en forma de tabla con la información del objeto que hemos pasado condicionado por las opciones que usemos como segundo parámetro. Este objeto, será introducido dentro del elemento #debug.
Puedes ver un ejemplo que James ha montado aqui.

prettyprint
(Ver Imagen)

Ejemplo con jQuery

Si estás usando jQuery y te gustaría implementarlo fácilmente en tu sitio web puedes usar esto:

var Objeto = {
	uno: function(){
		return "Esto es una función"
	},
	dos: [1,2,3,4,5],
	tres:{
		uno: "UNO",
		dos: [{
			uno: "uno"
		},{
			dos: "dos"
		}]
	},
	cuatro: "CUATRO"
};

jQuery.getScript("http://github.com/jamespadolsey/prettyPrint.js/raw/ed94a997925c6bf269b780712c17fd27cf284886/prettyprint.js", function(){
    if (jQuery("#debug").length == 0)  jQuery("body").append('<div id="debug"></div>');
    jQuery("#debug").html(prettyPrint(Objeto));
});

// No sé si la URL funcionará para todo el mundo.

BuddyPress 1.0.1 ha visto la luz

6 jun

+ 0

El equipo de BuddyPress anuncia hoy el lanzamiento de la version 1.0.1 que esta disponible para descargar desde hoy. Podeis ver los cambios corregidos y las funcionalidades añadidas aqui.

Google Chrome para Mac y Linux

5 jun

+ 14

Via Twitter me entero de que oficialmente Google Chrome está ya disponible para Mac. Aún no lo he probado, supongo que esta tarde-noche podré hacer un par de pruebas, pero mientras tanto agradecería comentarios al respecto. ¿Que os parece?

Actualizacion

Ayer la gente de Google libero por fin una version de Google Chrome para Mac OS X(Leopard) y Linux. Esta version, esta destinada unicamente a los desarrolladores ya que la falta de Flash, los problemas con acentos, ni la incorporacion de Google Gears en su nucleo, nos muestra una version mas alpha que beta, pero que eso si, no deja perplejos en cuanto a velocidad de navegacion en general. Sera interesante seguir este proyecto y ver hasta donde es capaz de llegar.

Por lo menos, ya podemos depurar nuestras aplicaciones en Chrome cuando desarrollamos sobre Mac OS X o Linux.

jQuery Tools, herramientas para usar con tu jQuery

5 jun

+ 6

jQuery Tools es una colección de herramientas para añadir a nuestras aplicaciones en forma de plugin para jQuery. Dispone de una gran cantidad de demos para hacernos una idea de las posibilidades que nos ofrece. Y todo ello en tan solo 5,8kb.[Descargar]

Creando Javascript Accesible

5 jun

+ 1

Via SentidoWeb descubro este interesante tutorial con el que podemos ser conscientes de los problemas que debemos tener en cuenta y solventar a la hora de desarrollar nuestros scripts en Javascript.

La W3C tambien tiene sentido del humor

5 jun

+ 6

En Propiedad Privada de @MarcosBL descubro el sentido del humor de la W3C en Twitter.

sarcasm
(Ver Imagen)(Ver en Twitter)

sarcasm2
(Ver Imagen)(Ver en Twitter)

Además, ¿quien puede decir que no nos tengan en cuenta? :D

¿Por que la gente no usa Opera?

4 jun

+ 116

Justamente ayer, despues de ver que Opera apuesta fuertemente por los estándares web estuve en una cena con unos amigos y compañeros del gremio, en la que de 6 desarrolladores descubrí que nadie usaba Opera como navegador principal.

Esto me ha llevado a preguntarme por el motivo que puede hacer que este navegador, que siempre ha estado innovando y ofreciendo funcionalidades interesantes.  A estas alturas, solo cuente con un 2,2% del uso mundial y haya descendido del 2.4% en lo que llevamos de año.

Se puede pensar que el tema de la licencia o no ser de Software Libre como otros navegadores pueda ser un motivo, pero para el grueso de los usuarios, el Software Libre es aquel que te bajas de Internet sin pagar. Y no recuerdo nunca haber tenido que pagar por Opera.

¿Por que no lo usas? y si lo usas ¿Por que te decantaste por él?

Compatibilidad de plugins en WordPress

3 jun

+ 2

La compatibilidad de plugins de WordPress, generalmente es un problema que muchos nos encontramos a la hora de tener que actualizarlos o instalarlos en nuestras distintas versiones de WordPress.

Por ello, se ha creado WordPress Plugin Compatibility Check,  un aplicación que intenta recopilar todos los plugins disponibles en el repositorio oficial de WordPress y reportar la compatibilidad con cosas como la versión mínima o máxima, la posibilidad de funcionar en servidores con PHP4, capacidad de sacar el plugin de wp-content o si este está harcodeado en el código,,.. incluso si este usa o no la librería wpdb para interactuar con la base de datos o algún método obsoleto y retirado del código de WordPress.

Actualmente tienen más de 5.000 plugins introducidos, lo que aproximadamente hace más de un 63% de los plugins disponibles.

Opera 10 beta ya ha visto la luz

3 jun

+ 8

La gente de Opera ha presentado la primera beta de Opera 10. Una versión que sin duda, debe ir relacionada con los estándares web. Esta nueva versión además de mejorar las versiones ya existentes viene muy cargada de nuevos estándares que lo convierten en, probablemente, el navegador más avanzado del momento.

Entre los nuevos estándares implementados podemos destacar:

1) Web Fonts: Capacidad de importar fuentes propias a nuestras aplicaciones.

Uno de los estándares más solicitados por los desarrolladores web es la posibilidad de especificar fuentes diferentes a las que el usuario tiene instaladas en su sistema. Esto ha dado lugar a una gran cantidad de aplicaciones Javascript que solventan el problema momentáneamente.

/*
	Definimos una nueva fuente y la URL de donde descargarla
*/
@font-face {
  font-family: "My font gothic";
  src: url("http://www.myweb.com/fonts/myfont.ttf") format("truetype");
}
/*
	Indicamos que los párrafos reciban esa tipografía
*/
p {
  font-family: "My font gothic";
  ...
}

Con la llegada de este estándar nos encontramos con que la tipografía de nuestras páginas SIEMPRE se verá bien, sin importar las que el usuario tenga instaladas en su sistema operativo.

Podeis ver un ejemplo aquí mismo.

2) Transpariencias, RGBA y HSLA: El control del color en tu navegador

Otra nueva mejora, procedente del estándar CSS3 es la posibilidad de usar transpariencias. Esta propiedad ya hace tiempo que está disponible en Opera (al igual que otros navegadores) pero en esta nueva nos permite relacionarla con las nuevas formas de gestionar el color de nuestros elementos con RGBA o HSLA.

// HSLA
div { background-color: hsl(240, 100%, 50%); }

// RGBA
div { background-color: rgb(255, 0, 0); }

// Combinandolos con la opacidad (en negrita)
div { background-color: hsla(240, 100%, 50%, 0.5); }
div { background-color: rgba(255, 0, 0, 0.5); }

Para verlo más claro, mejor mostrar un ejemplo de como lo hacíamos antes y como podemos hacerlo ahora.

// Antes
.news-item {
  background-color: rgb(0, 255, 0);
  opacity: 0.4;
}
// Ahora RGBA
.news-item {
  background-color: rgba(0, 255, 0, 0.4);
}

// Ahora HSLA
.news-item {
  background-color: hsla(120, 100%, 50%, 0.4);
}

3) Selector API:  Selecciona cualquier elemento mediante Javascript en una línea

Quizas se trate de la que más he hablado en el blog. Y es que esta nueva funcionalidad, es la más extendida entre los navegadores modernos, con ella podremos seleccionar elementos de nuestro árbol DOM mediante una especificación CSS. Lo que hace que esta consulta sea más sencilla para todos y mucho más potente y ligera.

Hasta ahora los frameworks JS nos permitían realizar este tipo de consultas, ahora navegadores como WebKit, Firefox 3.5 y Opera 10 nos permiten aprovecharnos de la versión nativa, mucho más rápida que la implementada en Javascript.

// Ejemplo antiguo
var fruits = document.getElementById("fruits");
var checkboxes = fruits.getElementsByTagName("input");
var list = [];
for (var i = 0; i < checkboxes.length; i++) {
  if (checkboxes[i].checked) {
    list.push(checkboxes[i]);
  }
}

// Usándo selector API
var list = document.querySelectorAll("#fruits input:checked");

4) Mejoras en SVG

El estándar SVG (Scalable Vector Graphics) está llegando poco a poco y sin darnos casi cuenta se está integrando en la mayoría de navegadores y sin duda, lo está haciendo para quedarse. En esta nueva versión de Opera, podemos entre otras cosas:

  1. Manipular los FPS de un SVG animado mediante Javascript.
  2. WebFonts en SVG.

Otras mejoras

Otras mejoras que nos encontraremos en esta versión Beta son, la implementación de algunas mejoras en DragonFly.

Si recordamos, DragonFly es el Firebug de Opera, y aunque aún está en estado alpha esta nueva versión parece bastante interesante. Nos permitirá editar el DOM directamente desde él, así como depurar nuestras peticiones Ajax desde la pestaña Net.

No es necesario hacer demasiado incapie en que esta versión, ya valida el estándar Acid3 con un 100 sobre 100, ya que hace tiempo que vimos que Opera lo había conseguido.

Por fin nos estamos acercando a versiones en las que podemos deshacernos del Javascript necesario para conseguir que estas propiedades estén disponibles.

Moousture, gestos de ratón controlados en nuestras aplicaciones con Mootools

3 jun

+ 2

Moousture es un plugin para MooTools que se encarga de gestionar los movimientos de nuestro ratón, controlandolos para ofrecernos un menú al hacer un circulo sobre nuestra aplicación.

moousture
(Ver Imagen)

Además es bastante personalizable, lo que nos permite definir una serie de gestos con el fín de ofrecer al usuario nuevas opciones dependiendo del gesto que realice.

Modo de empleo

Despues de haber añadido en nuestro <head /> los scripts necesarios para disponer del plugin, deberemos generar un “Guesture Matcher”, un objeto que se encargará de validar los gestos del ratón.

gstr = new Moousture.ReducedLevenMatcher();

Con el objeto gstr disponible ya podemos definir el patrón que se tendrá que realizar para accionar el menú.

gstr.addGesture([3,2,1,0,7,6,5,4], ccwCircle);

El método addGesture() recibirá 2 parámetros, el primero serán las posiciones por las que el ratón tendrá que pasar para accionar la función ccwCircle() pasada como segundo parámetro.

direction_pad
(Ver Imagen)

Las posiciones, como podemos ver en la imagen superior indican que dirección hemos de seguir. Simplemente tendremos que añadir los números asignados a cada posición para definir nuestro patrón.

La función ccwCircle() es un callback que será lanzada cuando el patrón se cumpla.

Demo y Descargar

Puedes probar el resultado y descargar el plugin directamente desde página del proyecto.