Низкоуровневый API

Низкоуровневый API.

API хранилища, с которым мы познакомились в предыдущей главе, удобно использовать для хранения незначительных объемов данных, но, когда речь заходит о большом количестве структурированной информации, приходится прибегать к помощи систем баз данных. HTML5 предлагает собственное решение для таких ситуаций — API IndexedDB (API индексированных баз данных).

API IndexedDB представляет собой систему баз данных, предназначенную для хранения индексированной информации на компьютере пользователя. Эта система разрабатывалась как низкоуровневый API, поддерживающий широкий диапазон вариантов использования. В итоге данный API стал самым мощным, но и самым сложным в спецификации HTML5. Целью его разработки было формирование простейшей инфраструктуры, на базе которой разработчики смогут создавать собственные решения, а также добавление узкоспециализированных высокоуровневых интерфейсов. Результат таков: на изучение этого API и привыкание к нему большинству разработчиков приходится потратить немало времени, и очень часто работа с ним сводится к использованию популярных библиотек, таких как jQuery или других, которые наверняка появятся в ближайшем будущем.

Структура, предлагаемая IndexedDB, отличается от SQL и других распространенных систем баз данных, широко применяемых разработчиками. Информация в базе данных хранится в форме объектов (записей) внутри сущностей, называемых хранилищами объектов (таблиц). У хранилища объектов (Object Stores) нет четко определенной структуры, всего лишь название и индексы, позволяющие находить содержащиеся в нем объекты. С объектами также не связана никакая предопределенная структура — они могут быть совершенно разными и настолько сложными, насколько вам требуется. Единственное ограничение, которое накладывается на структуру объектов, заключается в наличии как минимум одного свойства, объявленного как индекс. Без этого объекты невозможно будет находить внутри хранилищ объектов.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *