Каков статус базы данных HTML5?

В этой спецификации http://www.w3.org/TR/webdatabase/ говорится:

Этот документ находился в списке рекомендаций W3C, но работа над спецификацией была остановлена. Спецификация зашла в тупик: все заинтересованные разработчики использовали один и тот же сервер SQL (Sqlite), но нам нужно несколько независимых реализаций, чтобы идти по пути стандартизации.

Означает ли это, что база данных HTML5 исчезнет, ​​и какое-то время у нас будет стандарт де-факто, использующий SQLite, возможно, с различиями в браузерах? Или W3C опубликовал план действий по завершению стандарта?


person Phrogz    schedule 18.01.2011    source источник
comment
Статус: Предложение реализовано Google и Apple, но отвергнуто Microsoft и Mozilla (также известное как не реализованное, потому что пользователи этого не хотят [= если бы Microsoft реализовала его, вы могли бы сделать быстрый полнотекстовый поиск в gMail], что является чем-то вроде MS не хочет, чтобы вы могли это сделать, потому что вы должны использовать и платить за MS Outlook]). Как обычно. Заменена на IndexedDB, которая на самом деле является не реляционной БД, а объектно-ориентированным хранилищем документов NoSQL Key-Value. Что бессмысленно, так как интерфейс слишком сложный, а все объекты JavaScript уже являются ассоциативными массивами.   -  person Stefan Steiger    schedule 29.07.2015


Ответы (3)


Согласно этой статье:

[...] мы считаем, что стоит объяснить наш выбор дизайна и почему мы считаем IndexedDB — лучшее решение для Интернета, чем веб-база данных SQL.

В другой статье мы сравним IndexedDB с веб-базой данных SQL и обратите внимание, что первый обеспечивает большую синтаксическую простоту по сравнению со вторым. IndexedDB оставляет место для сторонней библиотеки JavaScript, чтобы объединить базовые примитивы с API BTree, и мы с нетерпением ждем таких инициатив, как BrowserCouch, построенных поверх IndexedDB. Бесстрашные веб-разработчики могут даже создать SQL API поверх IndexedDB. Мы особенно приветствуем реализацию Web SQL Database API поверх IndexedDB, поскольку считаем, что это технически возможно. Начинать с API на основе SQL для использования с примитивами браузера было неправильным первым шагом, но, безусловно, есть место для API на основе SQL поверх IndexedDB.

Меня лично не убедили аргументы, изложенные в статье, но кажется очевидным, что (на данный момент) Mozilla решила, что веб-база данных SQL мертва.

Дополнительные интересные комментарии к этой статье можно найти на Hacker News.

person Phrogz    schedule 18.01.2011
comment
Спасибо @a_horse_with_no_name за исходную статью, которая связала меня с более актуальным обсуждением. - person Phrogz; 18.01.2011

Насколько я понимаю, теперь это называется "IndexedDB"
http://www.w3.org/TR/IndexedDB/

Судя по всему, команда Firefox начала реализовывать это:
http://hacks.mozilla.org/2011/01/indexeddb-in-firefox-4/

person a_horse_with_no_name    schedule 18.01.2011
comment
IndexedDB является меньшим стандартом, но, похоже, является его преемником. Спасибо за полезные ссылки. - person Phrogz; 18.01.2011
comment
См., в частности, пример 4 в этой статьи, в котором IndexedDB сравнивается с Веб-SQL. Посмотрите внимательно на сумасшедший код, необходимый для выполнения LEFT JOIN. - person Phrogz; 18.01.2011

Не знаю, знает ли кто-нибудь ответ. Mozilla не нравится зависимость от SQLite, и она решила пойти другим путем. Однако во всех браузерах на основе WebKit он уже реализован, и я не думаю, что они удалят его, поскольку любые веб-сайты, созданные для использования спецификации, будут сломаны.

Это означает, что, по крайней мере, в определенных контекстах, в основном в сфере мобильных устройств, где большинство браузеров имеют реализацию webkit, все же может иметь смысл использовать спецификацию HTML5 Web SQL. Я считаю, что это особенно актуально для разработчиков, которые хотят создавать мобильные приложения с использованием такой среды, как phonegap.

В некоторых случаях, как разработчик приложения, вы хотите предоставить пользователям доступ к данным, даже если они не подключены к Интернету или если соединение медленное, а некоторые типы данных просто более эффективно хранятся в базе данных, чем в cookie или кэш JSON. Например, если у вас есть данные, которые имеют отношения, гораздо проще и быстрее выполнить запрос на соединение, чтобы получить нужные вам данные, чем искать карту json.

Я не думаю, что спецификация мертва, и я действительно надеюсь, что Mozilla изменит свою позицию, чтобы разработчики могли использовать ее для решения проблем за пределами мира мобильного вебкита.

person KenCorbettJr    schedule 09.09.2011