2016-06-07 14 views
1

У меня есть автономное веб-приложение для ПК с JavaScript, и я хочу добавить к нему базу данных. Проблема в том, что для этого требуется постоянное хранение данных на нескольких компьютерах (через USB). Поэтому я хочу найти способ сохранить эти данные на USB, а не на жестком диске компьютера.Offline портативное веб-приложение, Javascript. Как получить постоянную базу данных на разных компьютерах?

Я рассмотрел такие решения, как lokijs, и хотя у lokijs есть постоянное хранилище, оно хранится внутри локального хранилища или IndexedDB. Это означает, что он хранится на компьютере через браузер. Способ решить это - как-то читать/писать файлы с помощью JavaScript или сохранять файл базы данных в том же каталоге, что и другие файлы (для переносимости через USB). Есть ли способ сделать это? Насколько мне известно, пути достижения этого нет.

Другим решением было бы загрузить portable version of Chrome и создать файл .bat, чтобы гарантировать, что веб-приложение откроется с использованием портативного Chrome. Я думаю (не слишком уверенно), что портативный Chrome будет хранить данные локального хранилища/индексированные данные между сеансами. Однако этот метод громоздкий, и я бы предпочел не полагаться на это.

Итак, есть ли альтернатива для решения этой проблемы? Или есть другая база данных JavaScript, которая может локально хранить и извлекать базу данных для обеспечения постоянного хранения данных на нескольких компьютерах через USB.

Спасибо за чтение, и я буду благодарен за любые ответы.

ответ

0

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

+0

Спасибо за ваш ответ и предложение. Если вы не возражаете, как вы относитесь к [Electron] (http://electron.atom.io/) и к [NW.js] (http://nwjs.io/), о котором вы упомянули? –

+0

Я действительно не знаю, но это определенно стоит посмотреть. – meskobalazs

1

Javascript не имеет доступа к вашим дискам - по соображениям безопасности. Вы не можете читать/писать на локальный диск с помощью веб-приложения, иначе было бы намного проще распространять вредоносное ПО. Вот почему такие решения, как lokijs, используют в браузере. Если вы хотите использовать автономное приложение с переносным хранилищем, которое может работать с USB, я бы посмотрел на переписывание с использованием другого языка технологий/программирования. Если это также должно быть кросс-платформенным, Java, вероятно, лучший выбор.

+0

Спасибо за ваш ответ и предложение. Я определенно займусь другими технологиями, как вы и мескобалы. –