Fuera del ámbito de desarrollo podemos afirmar que la gran mayoría de las personas quieren conectarse con otros, crear grupos, compartir aficiones y encontrar información de su interés. El punto de afirmación es el gran éxito de las redes sociales. La mayoría de personas quiere compartir con sus amigos. La genialidad de las aplicaciones en estos grupos reside en que tan sencillo y potente me permite conocer lo que quiero saber.

Ahora bien, volviendo al objeto de nuestro estudio, después del repaso del por qué hacer aplicaciones sociales, veamos los cimentos de OpenSocial. Como comentamos en el artículo anterior de la serie, OpenSocial permite el uso de un conjunto de funciones especiales para crear aplicaciones sociales que podrán interoperar con muchos sitios que adopten esta misma API (que son ya varios e importantes, exceptuando FaceBook).

Hay dos maneras de accesar a la API de OpenSocial: utilizando JavaScript del lado del cliente o RESTful? del lado del servidor.

JavaSript API:

La API de JavaScript utiliza opensocial.*namespaces y permite el acceso a tres principales áreas:

  • Gente: información sobre una determinada persona y sus relaciones con otros.
  • Actividades: permite publicar y ver actualizaciones de lo que la “gente” esta haciendo.
  • Persistencia: un simple arreglo asociativo independiente del servidor.

Algunas de las ideas del uso de esta serie de funciones son:

  • Construir aplicaciones que no necesiten ser almacenadas en nuestro servidor.
  • Construir aplicaciones que incluyan componentes almacenados en el servidor para tareas de sincronización.
  • Crear un nuevo conjunto de aplicaciones con nuevas funcionabilidades para nuestros sitios.
  • Escribir una aplicación que pueda “correr” en varios sitios.

La API OpenSocial para JavaScript está diseñada para utilizar tecnologías estándar basadas en el Web, permitiendo utilizar librerías desarrollas en lenguaje JavaScript estándar. El paquete incluye un sistema completo de manejo de funciones asíncronas para AJAX.

El paquete RESTful provee funciones complementarias a las funciones de la API JavaScript. La herramienta permite entre otras cosas:

  • Interacciones del lado del servidor basadas en el protocolo RESTful AtomPub.
  • Auntenticación vía OAuth

Usando la API de OpenSocial:

Otras consideraciones adicionales son listadas en la página del proyecto OpenSocial. Entre las más importantes destacan:

  • Las aplicaciones son diseñadas de la misma manera de los Google Gadgets; mediante el edtior de texto favorito o utilizando Google Gadget Editor.
  • OpenSocial utiliza JavaScript, HTML y XML estándar; no es necesario el uso de plug-ins.
  • Nuestras aplicaciones pueden ser almacenadas en los servidores de Google (según determinadas políticas) o en nuestros propios servidores.
  • Es posible embeber Flash en nuestras aplicaciones sociales.
  • Para el desarrollo podemos utilizar librerías JavaScript como Dojo, Prototype, JQuery, GWT o la que nosotros consideremos más apropiada. Igualmente, podemos utilizar lenguajes de programación del lado del servidor como PHP, Ruby on Rails, Java, etc.

Primer ejemplo, creando un Google Gadget:

Como mencionamos anteriormente, las aplicaciones sociales están basadas en la misma tecnología que utilizan los Google Gadgets. Ahora, veamos el primer ejemplo de como crear un simple Gadget:

<?xml version="1.0" encoding="UTF-8" ?> 
<Module>
  <ModulePrefs title="hello world example" /> 
  <Content type="html">
     <![CDATA[ 
       Hello, world!
     ]]>

  </Content> 
</Module>

Algunas consideraciones sobre este ejemplo son:

  • Un Google Gadget está desarrollado en lenguaje XML. La primera línea denota este punto y debe estar siempre presente en todo documento.
  • La etiqueta MODULE indica que el archivo contiene un Gadget.
  • La etiqueta MODULEPREFS contiene información sobre el Gadget como título, descripción, autor, etc.
  • La línea <CONTENT TYPE = “HTML”> indica que el Gadget contiene información en formato HTML.
  • Lo siguiente es el cuerpo del Gadget en formato HTML, predefinido con la clausura CDATA utilizada en documentos XML.

Para obtener más información sobre Google Gadgets puedes vistar la página del proyecto en Google Code. En el último artículo de la serie, se tratará exclusivamente de la creación de una aplicación social utilizando Google OpenSocial.