OpenSocial Developer's Overview (v0.9)

_NOTOC_
OpenSocial gives you several approaches for developing apps, depending on your project requirements. However, most social application designs have the same structure: application data, social data, and a template are combined to provide a rendered view to the end user.

In the OpenSocial ecosystem, these components can come from several places. Client-Side apps can use JavaScript to render data into a template. Social Networks can store both social and application data, and Server-Side applications can take advantage of databases and server-side frameworks to produce rendered output.

Social Design Patterns

Depending on what type of application you want to write and where your strengths lie, one of the following patterns should fit your needs.

Social Mashup

A social mashup is a lightweight OpenSocial application which runs inside of a social network. Because such applications do not rely on a server, they typically scale extremely well but may be limited in terms of data storage and/or processing. A social mashup is typically created using HTML, JavaScript, CSS, OpenSocial Templates, and/or Flash.

!Icon-32-tutorial.png_!

The Social Mashup Tutorial will walk you through creating a simple application from start to finish.

Social Application

A social application runs inside of a social network but relies on an external server for processing and rendering data. These applications can provide advanced functionality but may run into scaling problems when they become very popular. Social applications can be created using a variety of technologies, including HTML, JavaScript, CSS, OpenSocial Templates, Flash, PHP, Python, Java, Perl, .NET, or Ruby.

!Icon-32-tutorial.png_!

The Social Application Tutorial will walk you through creating a simple application from start to finish.

Social Website / Social Mobile Application

Social websites and social mobile applications run outside of social networks but consume social data through REST or RPC APIs. Users of these apps can grant access to their data using 3-legged OAuth without needing to add an application on a social network. This design pattern grants the most flexibility - almost all languages and platforms can take advantage of this data.

!Icon-32-tutorial.png_!

The Social Website Tutorial will walk you through creating a simple application from start to finish.