Подтвердить что ты не робот

GWT "база данных" (клиентская сторона)

Я ищу что-то вроде базы данных для объектов GWT (внутри браузера). Он должен работать без HTML5 или Gears (или любых плагинов браузера). Он не должен быть способен ко всему, что может сделать база данных, но наиболее важными функциями были бы

  • автоматическая индексация, в нескольких столбцах
  • какой-либо API или язык для выполнения (ограниченное подмножество) запросов

Он может быть немного похож на Taffy DB, но должен иметь автоматическую индексацию, и он должен обеспечивать API GWT. Я надеюсь, что он будет еще меньше в размере загрузки, чем Taffy, если он повторно использует код из библиотеки GWT.

(Может быть, я должен добавить, что мне не нужно постоянное хранилище. Это нормально, если данные необходимо перезагрузить/восстановить, когда пользователь нажимает на перезагрузку.)

4b9b3361

Ответ 2

Вы можете взглянуть на itemscript, у него есть "база данных" в памяти, которую вы можете запросить, используя URL-адрес REST фрагменты. Я не пробовал, но выглядит многообещающе. Я должен согласиться с tdavies, что, если вам нравится Taffy, написание обертки JSNI вокруг него довольно тривиальная задача.

Некоторое время назад я создал простую встроенную в базу данных систему в GWT, где я использовал существующий интерфейс Comparator для сортировки, создал простой интерфейс фильтра и простой запрос, используемый для хранения любого количества компараторов и фильтров. Простой универсальный класс ModelManager, который хранит объекты модели в одном из классов коллекции и запускает мои запросы. Он работал очень хорошо даже без поддержки индексирования.

Вы не найдете никаких существующих решений для своей проблемы, я потратил огромное количество времени на поиск. Кроме того, почему бы не попробовать HTML5?

Ответ 3

Вы посмотрели на Dojo хранилище данных?

Я не уверен, насколько он соответствует вашим конкретным потребностям, но это чистое решение для JavaScript. Как и многие из Dojo, документация может быть немного сложной для сортировки, но есть статья об использовании Dojo Grid и основного шаблона MVC на developerWorks, которые могут вас заинтересовать.

http://www.ibm.com/developerworks/web/library/wa-aj-dojogrid/index.html

Приветствия.

Ответ 5

Я бы посоветовал вам пересмотреть свой дизайн, браузеры не самые отзывчивые приложения в хороший день по разным причинам. В дополнение к этому дизайн встраивания базы данных в сеанс браузера (независимо от того, насколько светлый) создает явный спрос на тонкий клиент. У тонкого клиента могут быть или не быть ресурсы для поддержки требований.

Если у вас есть явный контроль над тонкими клиентами (корпоративная среда?), было бы лучше использовать некоторые настольные технологии или апплеты (java?) вне контекста браузера.

Ответ 6

Я написал небольшую библиотеку для хранения на стороне клиента в GWT. Он основан на локальном хранилище и работает во всех браузерах HTML5 (включая браузеры смартфонов). Он позволяет хранить данные в хранилищах объектов и в базах данных.

Вы можете проверить это здесь и посмотреть, соответствует ли оно вашим потребностям: https://code.google.com/p/gwt-localstorage-db/