Я создаю приложение, которое авторы (надеюсь) использовали бы, чтобы помочь им, а... авторские вещи.
Подумайте об этом как о вики, но только для одного человека, но кулер. Я хочу сделать его максимально доступным для моих (потенциальных) обожающих масс, и поэтому я думаю о том, чтобы сделать его веб-приложением.
Конечно, этого не должно быть, нет интеграции с другими сайтами, нет социальных функций. Это включает в себя ввод информации в формы, однако, поэтому для быстрого построения веб, вероятно, будет лучшим.
Однако, я действительно не хочу его размещать самостоятельно. Я не мог себе этого позволить, но в основном люди, которые используют это, могут не захотеть, чтобы их данные хранились в другом месте. Это личная информация о том, что они пишут, и я не ожидал, что они мне доверяют, и поэтому я думаю о том, чтобы сделать это приложение с толстым клиентом.
И в этом заключается проблема, как сделать приложение, которое в основном сосредоточено на записи данных формы, доступной для потенциальных пользователей (веб-приложений yay), но также и в автономном режиме, поэтому они знают, что они полностью контролируют свои данные (yay thick-client приложения).
Я вижу следующие решения:
- Создайте его как приложение с толстым клиентом Java и запустите версию вырезания в сети как апплет, с которым люди могут играть, прежде чем загружать все.
- Создайте его как приложение Flex для онлайн-приложений и приложение Air для офлайн-скриптов (в том числе исходные разные скрипты сборки).
- Создайте его как стандартное веб-приложение (HTML, JS и т.д.), но имеете загружаемую версию, которая каким-то образом запускает сайт полностью на своем компьютере. Это не коснется сети вообще.
Игнорируя 1 и 2 (я изучаю их отдельно), я думаю, что 3 будет включать:
- Упаковывать установку, содержащую крошечный веб-сервер, на котором есть мой код, готовый к запуску.
- Перенос базы данных с чего-то вроде mySQL на что-то вроде SQLite.
- Создайте какое-то приложение для удобства просмотра, которое запустило сервер и открыло ваш браузер в нужном месте, возможно, используя что-то вроде Prism, чтобы скрыть всю вещь броузера.
Итак, вы когда-нибудь делали что-то подобное раньше?
Если да, какие проблемы вы столкнулись?
Наконец, есть другое решение, о котором я не думал? '
(также, Joyent Slingshot было предложение по другому вопросу, но это RoR (с которым у меня нет опыта), и я 99% уверен, что он не запускается под Linux, поэтому он не подходит для меня.)