CREIX AMB INTERNET Desarrollo Aplicaciones para la plataforma Facebook 2 1. Introducción. 1.1. El propósito de la plataforma Facebook Facebook se creó como una versión en línea de los "Facebooks" de las universidades americanas. Los "Facebooks" son publicaciones que hacen las universidades al comienzo del año académico, que contienen las fotografías y nombres de todos los estudiantes y que tienen como objetivo ayudar a los estudiantes a conocerse mutuamente. Facebook llevó esta idea a Internet, primero para los estudiantes americanos y abrió sus puertas a cualquier persona que cuente con una cuenta de correo electrónico. La plataforma Facebook forma parte de la denominada “Red Red social” social o aplicación propietaria de contenido social. 1.2. El modelo estándar de aplicaciones en la Web Segun Wikipedia : En la ingeniería de software se denomina aplicación web a aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor web a través de Internet o de una intranet mediante un navegador. En otras palabras, es una aplicación software que se codifica en un lenguaje soportado por los navegadores web en la que se confía la ejecución al navegador. El World Wide Web Consortium, abreviado W3C, W3C es un consorcio internacional que produce recomendaciones para la World Wide Web. Está dirigida por Tim BernersLee, el creador original de URL (Uniform Uniform Resource Locator, Locator Localizador Uniforme de Recursos), HTTP (HyperText HyperText Transfer Protocol, Protocol Protocolo de Transferencia de HiperTexto) y HTML (Hyper Hyper Text Markup Langage, Langage Lenguaje de Marcado de HiperTexto) que son las principales tecnologías sobre las que se basa la Web. Las recomendaciones principales son: Utilizar los lenguajes de código abierto HTML, CSS, HTML CSS SVG, SVG Ajax y otras tecnologías para aplicaciones Web (WebApps "). Las páginas deben ser accesibles a las personas con discapacidad (WCAG), adecuadas para la internacionalización, y hacer que funcionen en dispositivos móviles. 1.3. El modelo de aplicaciones empresariales o sociales en la plataforma Facebook Una breve explicación de la arquitectura de aplicación de Facebook. Lo primero es lo primero, tenemos que entender algo de la arquitectura subyacente de una aplicación de Facebook. Una aplicación de Facebook es en realidad dos aplicaciones: una aplicación contenedora y una aplicación web. 3 Cuando creamos una aplicación de Facebook en el sitio de Facebook lo que en realidad estamos creando es el contenedor de nuestra aplicación web. Objetivos: • Crear una gran experiencia de usuario. • Generar la participación social y el uso de aplicaciones. • Ayudar a los usuarios compartir contenidos expresivos y relevantes. • Tener respeto a la privacidad. • No engañar, confundir, o engañar a los usuarios. • Evitar el spam - fomentar la comunicación auténtica. 2. Los elementos de la plataforma Facebook 2.1. La API de Facebook Conjunto de clases enfocadas a dar acceso a los datos almacenados en la plataforma Facebook. La API de la plataforma Facebook se divide en dos tipos de clases: 1. API General: Consta de la Graph API y los Social Plugins 2. API avanzada: Formada por los lenguajes propietarios FBML, FQL, FBJS, XFBML API gráfica (Graph API). 4 Usando la API Gráfica de Facebook (GraphAPI GraphAPI ) conjuntamente con el protocolo abierto gráfico ( OpenAuth ), es más fácil que nunca leer y escribir datos desde y hacia el "gráfico o red social". He aquí algunas de las posibilidades que ofrece: • Puedes convertir tu página web en una página con todas las funciones de Facebook, al igual que si estuvieras dentro de la plataformaFacebook. • Puedes dar a tus usuarios la posibilidad de iniciar sesión con sus credenciales de Facebook y personalizar su experiencia con los parámetros que se tendrán a partir de sus perfiles. Modelo interacción Graph API Objetos de la API gráfica (Graph API). • • • • User Use : Perfil de usuario/a. Application: Application Aplicación registrada en la plataforma Facebook. Page: Page Página facebook. Group: Group Grupo Factbook. 5 • • • • • • • • • • • • • Photo: Photo Una foto o imagen individual en un album. Album: Un conjunto de imágenes o fotografías. Album Checkin Checkin: A checkin made through Facebook Places or the Graph API. Comment: Comment Un comentario en un objeto de la Graph API. Event: Event Un evento. FriendList: FriendList Una lista de usuarios conectados a un perfil. Insights: Insights Estadísticas aplicadas a objetos. Link: Link Un enlace compartido. Message: Message Un mensaje en el sistema unificado de mensajería. Note: Note Una nota escrita de texto Facebook. Post: Post Una entrada en un perfil de usuario/a. Status message: message Un objeto de estado en el Muro (Wall) de usuario. Subscription: Una subscripción a tiempo real de un objeto Graph object Subscription type. • Thread: Thread Un Objeto en un hilo de mensajes. • Video: ideo Un objeto de Video. API de Social Plugins 6 API Avanzada • FBML: FBML Es el lenguaje de etiquetado propietario de Facebook, sirve para hacer más sencillo el proceso de integrar las aplicaciones externas en Facebook, tanto a nivel visual como a nivel de contenidos almacenados en esta red social. • XFBML: XFBML Es una extensión del FBML pensada para ser utilizada con Facebook Connect y con las aplicaciones desarrolladas en modo iframe. • FQL: FQL Es una clase que permite acceder a las bases de datos de Facebook . Similar a MySQL pero con filtros de seguridad para solucionar problemas de seguridad. • FBJS: FBJS Es el JavaScript de Facebook, basado en ECMAScript, con diferencias y limitaciones respecto a JavaScript. FQL: Bases de Datos de la plataforma Facebook. FQL es un lenguaje de consultas de relaciones de datos. Su gramática es similar a otros lenguajes como SQL, SQL MySQL. MySQL FQL es una forma de consulta de los mismos datos de Facebook que permite acceder a través de funciones de la API, con una interfaz de estilo SQL. De hecho, muchas llamadas ordinarias a la API son contenedores simples para consultas FQL. Una consulta típica nos muestra esto: SELECT nombre, foto del usuario DONDE uid = 211031 O uid = 4801660 El equipo de Facebook cita una serie de ventajas en el uso de FQL incluyendo: • Reducción de los costes de ancho de banda, ya que sólo recibe los campos que solicita la aplicación. • Reducción del número de solicitudes en virtud de permitir consultas más complejas. • Una interfaz unificada. 7 Librerías de la plataforma Facebook para desarrolladores y diseñadores. Puedes diseñar tu aplicación para la platforma Factbook con cualquiera de los siguientes lenguajes de programación: ASP.NET ColdFusion ,C++ C++ ASP NET, NET ASP(VBScript), ASP ,C# C# ,Java Java ,Perl Perl ,PHP PHP ,Python Python ,Ruby Ruby on Rails ,VB.NET VB.NET. VB.NET La plataforma Facebook pone a tu disposición un conjunto de librerías o herramientas de desarrollo ( SDK ) que te permiten desarrollar tu aplicativo mediante el uso del lenguaje de desarrollo de tu plataforma. Instalando la “Facebook Application Developer” La primera cosa que necesitas, por supuesto, es una cuenta de Facebook. En tu cuenta tendrás que instalar la aplicación de desarrolladores de Facebook. Clic a continuación para instalar la aplicación de desarrollador. Esta pequeña herramienta te permitirá generar tu perfil de aplicación y obtener una clave API personal. Configuración de la aplicación. Facebook requiere que registres cada una de tus aplicaciones. Una vez que hayas iniciado sesión en Facebook instalas la aplicación desarrollador y vamos al panel para desarrollo. Dentro del panel, haz clic en "Set Set Up New Application". Application Campos obligatorios. Elige un nombre para tu aplicación. Observación: Observación Es importante porque es lo que verán los usuarios cuando están navegando por el directorio de la aplicación. Actualmente el campo de nombre es lo único que se utiliza en la búsqueda de aplicaciones. Campos opcionales. Haz clic en "campos opcionales". 8 Implementa la URL de llamada con la ubicación de tu script. Observación: Esta es la dirección URL pública de tu servidor web donde residirá la aplicación. A continuación implementa el "Canvas URL de la página". Observación: Esta es la URL de tu aplicación dentro de la plataforma Facebook. Opciones básicas. Selecciona aceptar (yes yes) yes para que tu aplicación se puede añadir en la plataforma Facebook Observación: Observación Debes verificar la casilla de verificación para desarrolladores, de modo que no se pueda añadir tu aplicación hasta que hayas terminado de trabajar en ella. Opciones de instalación. Esto permite a los usuarios añadir tu aplicación a su perfil de Facebook , en la izquierda de la barra de navegación lateral. Todos estos ajustes se pueden cambiar después de que tu aplicación ha sido creada. Es conveniente no cambiar la dirección URL o el nombre del Canvas una vez que los usuarios han instalado la aplicación. 3. Generando una aplicación para la plataforma Facebook Una aplicación de lienzo ( Canvas Application ) consta de dos partes: Un contenedor que se define en Facebook.com, y una aplicación web externa que se conecta al contenedor, suministrando la lógica específica, el comportamiento y las opiniones de tu aplicación. Cuando inicialmente creas una aplicación de Facebook mediante la creación de tu lienzo, lo que en realidad estás creando es el contenedor de nuestra aplicación web. Para completar la analogía del lienzo, la aplicación web externa, sería la pintura, Facebook el marco y el contenedor haría de lienzo. 9 En resumen, nuestra aplicación de Facebook lienzo se hará a partir de: El soporte y el lienzo, organizados a partir de la plataforma Facebook. Nuestra aplicación web, que no es diferente a cualquier otra aplicación que hayamos hecho antes, y no se encuentra alojada en cualquier servidor de Facebook, la tendremos alojada en modo local. Por lo que respecta a nuestros clientes esto se verá como una sola aplicación. Para trabajar de manera adecuada, dividiremos el proceso en tres fases: Creación Asociación Configuración Preparando un servidor local. • Creamos una base de datos • Configuramos el dominio • Conectamos con Facebook. Creando nuestra primera aplicación para Facebook. 1 0 Código para iniciar tu aplicación. 1 1 1 2 Visualización de tu aplicación. 1 3 Desarrollo de tu aplicación. Examinando las variables y los eventos. 1 4 Usando FQL en tu aplicación. 1 5 Guia de Recursos RECURSOS Nom URL Linter Facebook .NET sdk URL http://developers.Facebook.com/tools/lint/ http://Facebooksdkdotnet.codeplex.com/releases /view/53372 https://github.com/Facebook/php-sdk SDK PHP Facebook http://www.Facebook.com/developers Desarrollo Facebook Api Facebook developers.Facebook.com/documentation.php SVN llibreria PHP Conector Facebook Ruby Consola XFBML Widgets para laweb 2.0 http://svn.Facebook.com/svnroot/platform/clients /packages/Facebook-platform.tar.gz https://github.com/mmangino/Facebooker2 http://developers.Facebook.com/tools/console/ http://widgets-gadgets.com/?p=280 Observacions