LokiJS достиг версии 1.4 с адаптером Nativescript и полнофункциональной структурой на чистом JavaScript.
LokiJS — это облегченная документно-ориентированная база данных JavaScript, которая хранит данные в памяти и определяет приоритеты производительности. Вы можете использовать индексы столбцов для доступа к документам, и она имеет встроенный класс DynamicView, который можно использовать для подмножеств данных. Он заменяет SQLite в Cordova, работает как хранилище сеансов и полноценную базу данных NoSQL в node.js, а также работает как база данных в браузере с возможностями синхронизации.
Он поддерживает коллекции, как и MongoDB, и сохраняет данные на диск в формате JSON. Это позволяет вам возобновлять состояние между сеансами и означает, что ваши данные переносимы. Есть изолированная среда, в которой вы можете опробовать LokiJS:
Улучшения в новой версии добавляют адаптер NativeScript, поэтому LokiJS может сохранять данные в приложениях, написанных с помощью NativeScript. Nativescript набирает популярность среди разработчиков приложений для мобильных устройств благодаря своей производительности по сравнению с Cordova и Phonegap. Возможность сохранять данные в приложениях NativeScript является, по словам Джо Миникино, главного разработчика LokiJS, «огромным бонусом», особенно потому, что параметры хранения, обычно используемые в браузерах, таких как localStorage или indexeddb, недоступны в NativeScript. Это связано с тем, что приложения скомпилированы в собственный код, а не заключены в собственные веб-представления, как в случае с Cordova / и Phonegap.
Фреймворк полного стека JavaScript называется LE∆N с дельтой, а не буквой A. Это отражает тот факт, что интерфейсная структура изменяема, поэтому вы можете использовать, например, Angular, React или VueJS. Остальная часть имени происходит от L для Loki, E для Express и N для узла. Разработчики говорят, что LE∆N — это первый чистый стек JavaScript, что означает, что вы можете установить все, от базы данных до внешнего интерфейса, за одну установку npm. Миникино сообщил нам, что фреймворк все еще находится в стадии разработки. Поддерживаемые движки рендеринга в текущей версии — EJS и Jade.
LokiJS извлек выгоду из разработки ряда адаптеров сохраняемости с момента своего первого выпуска. В дополнение к NativeScript существует адаптер Cordova-FS, который записывает файлы в файловую систему на мобильном устройстве; и msgpack, который использует msgpack вместо JSON для обеспечения более быстрого и сжатого решения. Существует также проект loki-session, который использует LokiJS для хранения сеансов с ExpressJS.
В дальнейшем разработчики планируют разработать адаптер сохраняемости, более подходящий для нужд сервера, чтобы вместо сериализации всей базы данных в одном файле он хранил отдельные коллекции в отдельных файлах.