Сейчас происходит настоящий взрыв веб оффлайн приложений. Пользователи хотят продолжать полноценно использовать написанные на HTML5 аппы без доступного интернета! Раньше такое могли делать только нативные аппы, а затем на стороне сервера специальный человек делал реализацию проверки на diff’ы, пытался разрешить конфликты автоматически. К счастью, сейчас наступают времена технологического паритета между браузерными и мобильными разработчиками, нагрузка на бэкэндщиков спадает, в виду наличия хорошо оттестированных npm и прочих пакетов, которые с пол-оборота заводят дудку с настроенными БД, логированием и прочими GPL вещами.
Когда я искал готовое решение noBackend архитектуры своего ProstoDiary, мне попался на глаза hoodie. Он построен на CouchDB, имеет простой JSON API как в PouchDB, легко устанавливается и запускается на Windows, а так же имеет довольно стильный лэндинг на официальной странице. Проект мне понравился, реально годный, такой OpenSource в лучших традициях и имеет всего 9 issue с более чем 2000 лайков на гитхабе.
Напоследок приведу листинг нодовского запуска hoodie сервера:
const Hapi = require('hapi')
const register = require('hoodie').register
const server = new Hapi.Server();
server.connection({
host: 'localhost',
port: 8000
})
server.register({
register: register,
options: {
inMemory: true,
public: 'dist'
}
}, function (error) {
if (error) throw error
server.start(function (error) {
if (error) throw error
console.log('Server running at:', server.info.uri);
})
})