Приветствую. Необходимо разработать кросплатформенное приложение для пяти операционных систем (Windows, Linux, Mac, Android, iOS).
Вопрос: какое хранилище данных выбрать? В частности, выбираю базу: желательно конечно одну и кросплатформенную, но для эффективности можно выбрать разные под определённые системы. Возможно что есть способы ещё лучше, например для мобильных сохранять в локальные хранилища... Не очень компетентен в этом вопросе, буду рад любым полезным идеям. Вот список моих пожеланий к базе или другим хранилищам:
Обязательные требования:
* хранение данных вида: ключ -> объект json
* атомарность
* неограниченный размер базы
Желательные:
* быстрый отклик на чтение
* хранение файла базы в папке приложения
Полезные:
* умное кэширование в оперативной памяти
* репликация и разделение по частям
Виталий:
Не суть.
Любой проект стоит разделять на серверную и клиентсткую часть.
Жаль тут картиночку нельзя нарисовать, попробую словами.
Предположим, у вас проект, в котором пользователю рисуют карту и на нем отмечают аэропорты.
У вашего проекта есть неизменные данные.
Ну например географические координаты аэропортов(широта, долгота). Они хранятся в базе данных.
База данных лежит где-то у вас на сервере.
Там же лежит написанный на каком-либо языке программирования(ну, тут разброс небольшой, просто для разных проектов удобнее разное) проект, чекающий запросы пользователя извне и делающий запросы непосредственно в БД.
Кстати, сразу, ставьте Linux\Unix.
И вот это все-это серверная часть.
Клиентская часть-это другое.
Там можно выделить две части:графическое исполнение(GUI) и блок команд по обращению к серверу.
Для разных операционок второе может отличаться(хотя, может java такое умеет, я ее не знаю).
К БД кросплатформенность не имеет отношения)
И в клиентской части БД быть не должно)
twid: окей, но теперь предположим, что у нас калькулятор чего-то-там. Ему не за чем подключаться к серверу, а наоборот нужно работать автономно. При этом может потребоваться сохранять пользовательские настройки и историю результатов вычислений. Если настройки ещё можно сохранять в файл, то историю нежелательно каждый раз грузить целиком. Вот как-то так...
есть такое понятие "словарь". погуглите python list например.
это хранение данных в виде ключ: значение.
оно реализовано во многих форматах -json, xml и даже txt.
вроде бы...вробе бы! кэш и куки хранятся как раз в json в броузере.