Я начинаю разработку веб-приложения с автономными требованиями к хранилищу баз данных. Короче говоря, приложение должно быть в состоянии работать:
- Один из основных настольных браузеров, предпочитаемый Chrome
- Safari на iOS
- Собственный браузер Android (на основе V8 и WebKit)
Итак, вопрос в том, какую технологию выбрать: IndexedDB или Web SQL Database?
Что касается базы данных Web SQL, с одной стороны, она готова к использованию в любом из перечисленных выше сценариев. С другой стороны, Mozilla заявила, что Firefox никогда не реализует ее, и согласно рабочему проекту HTML5 спецификация зашла в тупик:
Эта спецификация зашла в тупик: все заинтересованные разработчики использовали один и тот же SQL-сервер (Sqlite), но нам нужно несколько независимых реализаций для продолжения пути стандартизации. Пока другой разработчик не заинтересован в реализации этой спецификации, описание диалекта SQL оставлено просто ссылкой на Sqlite, что неприемлемо для стандарта. Если вы являетесь разработчиком, заинтересованным в реализации независимого SQL-сервера, обратитесь к редактору, чтобы он мог написать спецификацию для диалекта, что позволило этой спецификации двигаться вперед.
IndexedDB является альтернативой, защищенной Mozilla, но она появится только в Firefox 4. Microsoft заинтересована, и Chrome тоже ее поддержит. Я ничего не знаю о планах Apple относительно IndexedDB.
Я лично склонен выбирать базу данных Web SQL, но только потому, что я привык к SQLite, мне нравится сила и выразительность SQL, и я понимаю реляционную модель. IndexedDB, для меня, является неопределенностью.
Тем не менее, я боюсь делать ставки на неправильной лошади. Можно ли предположить, что поддержка базы данных Web SQL будет продолжать существовать, даже если IndexedDB станет стандартом?
(Заметка о CouchDB: вы также видите это как альтернативу?)