Programación
Mu Connect, librería Javascript para conectar con Facebook
0Mu Connect es una librería JS que nos facilitará la tarea de conectar con Facebook desde nuestras aplicaciones. Al tratarse de una librería en Javascript nos permite visualizar esta conexión como una capa superior a nuestra aplicación ofreciéndola como un extra más y hacer que nuestra aplicación no dependa de ella.
<div id="fb-root"></div>
<script src="http://mu.daaku.org/m.js"></script>
<script>
// Inicializamos la librería con la API de nuestra Aplicación
FB.init({ apiKey: '48f06bc570aaf9ed454699ec4fe416df' });
// Controlamos el login al acceder
FB.loginStatus(handleSessionResponse);
// Activamos login
$('#login').bind('click', function() {
FB.login(handleSessionResponse);
});
// Activamos logout
$('#logout').bind('click', function() {
FB.logout(handleSessionResponse);
});
// Activamos disconnect
$('#disconnect').bind('click', function() {
FB.api({ method: 'Auth.revokeAuthorization' }, function(response) {
clearDisplay();
});
});
function clearDisplay() {
$('#user-info').hide('fast');
}
// Gestionamos el login
function handleSessionResponse(response) {
if (!response.session) {
clearDisplay();
return;
}
// Preparamos la petición FQL
FB.api(
{
method: 'fql.query',
query: 'SELECT name, pic FROM profile WHERE id=' + FB.getSession().uid
},
function(response) {
var user = response[0];
$('#user-info').html('<img src="' + user.pic + '">' + user.name).show('fast');
}
);
}
</script>
En la página nos encontramos con una serie de ejemplos de como usar esta librería con cualquier Framework JS, algo de agradecer y que nos permite integrarla en cualquier aplicación web. Además dispone de una API bien documentada que permite hacer una integración muy completa en unas pocas horas.
FQL
El FQL (Facebook Query Language) es la versión del SQL que Facebook permite usar para realizar consultas una serie de tablas que Facebook ofrece a los desarrolladores de sus bases de datos. Gracias a estas peticiones es posible obtener casi cualquier dato de los usuarios de Facebook con el fin de integrarlos en nuestra aplicación.
FB.api()
FB.api(
{
method: 'fql.query',
query: 'SELECT name FROM profile WHERE id=' + FB.getSession().uid
},
function(response) {
alert(response[0].name);
}
);
Quizás de todas las funciones que vemos en la API de Mu Connect, esta es la más interesante ya que está pensada para atacar a Facebook mediante FQL y nos procesa la respuesta mediante un callback que nos permitirá trabajar cómodamente con ella.
Inserta tus últimos tweets en tu WordPress
0La gente de twitter, nos pone más fácil que nunca la integración de su servicio en nuestras páginas web. Para ello, únicamente tendremos que insertar estos dos archivos Javascript al final de nuestro HTML. En WordPress, debería ir (en casi todos los themes) en el fichero footer.php.
<script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script>
<script type="text/javascript" src="http://twitter.com/statuses/user_timeline/USERNAME.json?callback=twitterCallback2&count=5"></script>
Estos ficheros ya tienen toda la funcionalidad necesaria para añadir los últimos tweets, únicamente hemos de especificar el nombre del usuario que queremos mostrar y el número de actualizaciones que queremos mostrar.
Solo nos falta especificar el lugar donde estas actualizaciones se visualizarán, para ello, incluiremos en cualquier lugar de nuestro theme (donde queramos que se vean) estas líneas:
<div id="twitter_div">
<ul id="twitter_update_list">
<li>&nbsp;</li>
</ul>
</div>
Sencillo, cómodo para que cualquiera pueda integrarlo en cualquier aplicación web.
Acelarándo la carga de Javascript con eval()
0En el blog de SproutCore publican un interesante artículo sobre como mejorar el tiempo de carga de nuestras páginas al usando eval(). Es por todos conocidos las anomalías con las que nos encontramos al usar esta función del lenguaje, pero en algunos casos, puede ayudarnos a mejorar la carga de nuestras páginas.
Okito, nos comenta que la inspiración le llegó al revisar como Gmail gestionaba el Javascript de la página en su versión móvil, usándo un sistema de carga asíncrona que posteriormete es parseada con regexp y evaluada con eval().
En la versión 1.0 de SproutCore han implementado esta técnica y presume una mejora de 8 segundos en una aplicación de prueba sobre Internet Explorer. (más…)
JavascriptMVC 2.0 ha visto la luz
0Uno de los patrones de desarrollo más extendidos en los diferentes lenguajes de programación es el conocido como MVC (Modelo Vista Controlador). Este modelo nos permite separar fácilmente la lógica de negocio de la capa cliente o página web.
En Javascript tambien podemos hacer uso de este patrón con JavascriptMVC, un framework desarollado por Justin B. Meyer y Brian Moschel y que pretende ofrecer las ventajas que este patrón nos puede llegar a aportar.
//Instead of:
$(function(){
$('#tasks').click(someCallbackFunction1)
$('#tasks .task').click(someCallbackFunction2)
$('#tasks .task .delete').click(someCallbackFunction3)
});
//do this
$.Controller.extend('TasksController',{
'click': function(){...},
'.task click' : function(){...},
'.task .delete' : function(){...}
})
$().tasks_controller();
Entre las mejoras que nos encontramos en esta última versió, nos encontramos con que jQuery pasa a formar parte del core del proyecto y se ha implementado una muy interesante integración con Selenium para las pruebas unitarias y algunas cosas más.

Comentarios recientes