Chrome WebStore version - https://chrome.google.com/webstore/detail/eeehcmbhicglclggakomjhhlmemhjbde
I hope soon I will publish the galaxy invaders game based using html5 rendering.
Chrome WebStore version - https://chrome.google.com/webstore/detail/eeehcmbhicglclggakomjhhlmemhjbde
I hope soon I will publish the galaxy invaders game based using html5 rendering.
Hi everyone.
Today I have just published my small project based on Rails 3, backbonejs, html5 offline(localStorage, application.manifest), coffeescript, twitter boostrap.
Tests are written using cucumber, rspec. I hope it would be a good example how to write offline applications using rails and backbonejs.
You can find my project following the next link:
https://github.com/oivoodoo/zipme
Also I deployed example of the app to the heroku.
Hi everyone!
I’ve just pushed my simple application for working with pomodoro.
based on backbonejs, jquerymobile, sinatra, rack-offline.
Hi everyone!
I have just published very small library for backbone.
May be it will helps someone.
2 days ago I’ve lost my internet connection at home. But I had very important emails for me on the gmail. But I thought I have offline application for gmail developed by google.
I’ve installed this chrome app just for checking possible implementation for offline apps. because on my current work we are working on the creation with the same functionnality application. Offline gmail is using web sqlite storage for saving cached / synced data.
it looks like

Time to completely client side applications. Yeah, it’s really awesome. But for less complex applications it’s pretty simple to use localStorage for saving synced data.
Also as I see guys in google added syncing process on the background and refresh button for manually syncing by user action.
For opening application they are using html5 application manifest for caching resources like css/js/images. In Rails we are using rack-offline for generating same manifest file choosing files for caching.
var Mutex = function() { this.queues = []; this.locked = false;};Mutex.prototype = { push: function(callback) { var self = this; this.queues.push(callback); if (!this.locked) { this.locked = true; var f = this.queues.pop(); try { f(function() { self.locked = false; }); } catch(ex) { self.locked = false; } } }};