philikon/mozsyncjs
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
mozsyncjs -- Mozilla Sync client in JavaScript ============================================== This aims to be a complete client implementation for Mozillla's Sync service. Why JavaScript? --------------- There are many platforms that allow writing applications using JavaScript and to some extent, web technologies: Gecko, Chromium, webOS, PhoneGap, Titanium, Gecko, etc. JavaScript has, to some extent, become the Write Once, Run Everywhere language. Structure --------- This project has two distinct parts: a) Generic JavaScript Sync service and engine implementations that can be used across platforms. They implement the Sync API and encapsulate the syncing logic. b) Integration code for various platforms. This abstracts things like HTTP requests, persisting data, crypto, etc. into an API common across all platforms. Goals ----- * async APIs wherever possible (incl. module loading) * use JavaScript the "good parts", EcmaScript 5 idioms wherever feasible * 100% test coverage * fully functional on the "web" platform (assumes nothing but a modern web browser) * potential other platforms: chromium, gecko, webos, phonegap, etc. Platform Integration -------------------- A platform has to provide the following building block APIs necessary for Sync: Resource for making HTTP requests to REST resources. If XMLHttpRequest is available, the "web" platform's implementation can be used. Crypto consisting of a random bytes generator, AES 256 CBC crypto, SHA1 and SHA256 hashing, as well as base32 and base64 encoding and decoding. The "web" platform provides pure JavaScript implementation of these, but many platforms have faster native implementations. Settings for storing small amounts of data locally, e.g. last sync time. If localStorage is eavailable, the "web" platofrm's implementation can be used. Timer for launching functions asynchronously. Building Clients ---------------- Notify TODO Store (for each engine) TODO
About
Pure JavaScript implementation for Mozilla's Firefox Sync service
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published