Создание локального приложения Javascript (запущено в браузере)?

Я хотел бы написать приложение, которое будет использовать как Javascript, так и HTML для пользовательского интерфейса. Приложение действительно не нуждается в подключении к Интернету, но ему потребуется доступ к локальным файлам пользователя.

Моя первая мысль заключалась в том, что это невозможно в браузере из-за ограничений безопасности доступа к локальным файлам.

Моя вторая мысль заключалась в том, чтобы попытаться использовать webkit непосредственно из С++ и использовать Python вместо Javascript, но это кажется довольно сложным, и я чувствую себя излишним, используя Qt.

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

Любые предложения о том, что я должен делать?

Ответ 1

Я признаю, что я очень мало знаю об этом, но похоже, что вы следуете за XUL.

На главной странице:

XUL (язык интерфейса пользователя XML) - это язык на основе XML на основе Mozilla, который позволяет создавать многофункциональные кросс-платформенные приложения, которые могут запускаться подключенными или отключенными от Интернета.

...

Веб-разработчики, уже знакомые с Dynamic HTML (DHTML), быстро узнают XUL и могут сразу начать создавать приложения.

Относительно доступа к файловой системе: https://developer.mozilla.org/en/Code_snippets/File_I//O

В этой статье описывается ввод/вывод локального файла в хромовом JavaScript.

Доступ к файловой системе осуществляется с помощью компонентов Mozilla XPCOM. Список ресурсов и интерфейсов для локального ввода-вывода доступен для файлов и потоков на XUL Planet.

Из-за моего незнания, я оставлю его сообществу, чтобы решить, имеет ли этот ответ достоинство.

РЕДАКТИРОВАТЬ: Сделать этот ответ вики-сообществом, поскольку у меня нет реальной информации.

Ответ 2

Кажется, через 5 лет после того, как был задан вопрос, есть основа для этого: постройте настольное приложение с кросс-платформой с JavaScript, HTML и CSS и с доступом к локальным файлам, http://electron.atom.io/.

Я не использовал его сам, но он рекомендуется в других ответах.

Ответ 3

Вы всегда можете локально установить необходимые серверы и таким образом получить доступ к локальным файлам пользователя.

Я использовал Server2Go и MAMP

Ответ 4

Вы могли бы, например, использовать Cappuccino: он позволяет создавать приложения в Objective-J (язык, написанный на JavaScript ) и запускать их либо в браузере, либо в виде Настольное приложение с локальным доступом к файлам.

Затем есть Adobe AIR, который позволяет вам писать приложения в JavaScript/HTML и получить доступ к файловой системе.

Или вы можете использовать новый API доступа к файлам: http://hacks.mozilla.org/2009/12/w3c-fileapi-in-firefox-3-6/ (у него большие ограничения: API-интерфейс HTML 5)

JavaScript - красивый язык! Пожалуйста, обновите этот вопрос с информацией о том, какой маршрут вы выберете.

Ответ 5

Если вы не Microsoft basher и/или не против привязки к IE, приложение гипертекстового терминала (HTA) другой вариант. Я однажды (давно) создаю полное и довольно большое автономное приложение базы данных с использованием HTA.

Ответ 6

Вы знаете PHP? Я предлагаю вам установить Wamp или phpTriad или что-то подобное для Windows. Таким образом, вы можете добраться до локальных файлов. Если это Linux, большинство из основанных на * nix операционных систем построены в Apache и PHP.