Overview

Raymond Cheng edited this page Jan 23, 2015 · 17 revisions

freedom.js is a framework for building peer-to-peer (P2P) web apps. Easily create social applications that work in modern web browsers, Chrome packaged apps, Firefox extensions, Node.js, and native mobile apps. freedom.js apps are just JavaScript, so they can be distributed as packages on an app store or hosted on static web servers. We're bringing peer-to-peer back, baby.

It's just JavaScript

freedom.js can setup shop anywhere. Use it Let's stop thinking in terms of server-side and client-side code. We should just write applications. freedom.js apps are 100% JavaScript and shipped with the page when you visit. You deploy a freedom.js app by shipping static JavaScript files. Host on GitHub pages and distribute with a CDN (there's a bunch of free ones).

Give your app superpowers

Each freedom.js module has access to 3 sets of APIs (Storage, Social, and Transport), with more forthcoming. The Storage API provides access to persistent storage. The Social API provides access to a user's social network. Lastly, the Transport API provides direct peer-to-peer communications abilities between 2 users. Since every user runs their own freedom.js backend modules, write your application in terms of interacting users in true peer-to-peer fashion.

We provide a number of existing API providers that back these APIs, like WebRTC Transport and XMPP Social. Plug and play different providers without any changes to your application code. Want to write your own provider? Go for it! When you write an API provider, any freedom.js app should be able to use it seamlessly.

freedom.js Applications

Check out our Applications. freedom.js apps are portable to any freedom.js-compatible Runtime. These run on their own, but can also work in both Radiatus and Mist. Writing multi-user apps have never been so easy (or cheap).

Future

freedom.js is a runtime for distributed web applications. The Web is shaping up to be a powerful environment for novel applications that are highly interactive and global in nature. While existing server-client frameworks have enabled new ways to communicate, we think the Web can be much more than software-as-a-service. freedom.js is a completely different way to think about web apps. Think of it as a playground for building new forms of network topologies into web apps. People keep saying the Web is the new operating system. Let's figure out what that can mean.