Ответ 1
Я столкнулся с подобной проблемой при разработке приложения несколько месяцев назад, когда мы ожидали, что приложение будет перенесено на разные платформы (с разными версиями). Поэтому вместо использования механизма хранения ядра, который предлагает телефонная книга, мы продолжили использовать выделенную инфраструктуру хранения, которая может обеспечивать согласованный api, но использует лучший базовый механизм хранения.
Существует множество инфраструктур JS, которые могут помочь вам использовать базовое хранилище. Следующие несколько могут вас заинтересовать, если вы планируете использовать приложение на разных платформах.
PersistenceJS - persistencejs.org
lawnchair - http://westcoastlogic.com/lawnchair/
persistencejs использует шестерни и localstorage в комбинации, что также помогает запускать приложение на устройствах BlackBerry 5.x без каких-либо изменений.
Я продолжал использовать persistencejs, и он до сих пор хорошо работал. Мы портировали приложение на Android, iPhone, iPad, BlackBerry (5.x и выше)