Используйте Delphi + Intraweb для создания автономного приложения HTML5 (манифеста кэша) с хранилищем браузера (webSQL / IndexedDB)? - PullRequest
4 голосов
/ 12 января 2012

Мое текущее приложение Intraweb на самом деле является клиентом DataSnap, который подключается к моему серверу DataSnap, который подключается и соединяется с сервером Interbase на той же машине.Он работает правильно, но довольно медленно и требует постоянного подключения к Интернету для работы.Каждое нажатие кнопки или любое вызванное событие потребует подключения браузера к веб-серверу (Intraweb).

Я думаю о создании автономного веб-приложения с использованием Intraweb в Delphi XE2, функции манифеста кэша HTML5 и использованияхранилище SQL на основе браузера (например, webSQL или IndexedDB) в качестве локального хранилища браузера, когда мобильное устройство отключается.Он будет подключаться к реальному серверу DataSnap только тогда, когда подключение к Интернету будет доступно для инициализации или синхронизации с сервером DataSnap.

Возможно ли это?

Моя основная проблема - получить URL веб-страницвне веб-приложения, и я не хочу помещать весь код хранилища браузера в файлы шаблона.

Также довольно утомительно перемещать код JavaScript, сгенерированный Intraweb, в другие файлы js иделая это, я могу нарушить коды и логику приложения Intraweb.Есть ли какое-нибудь решение этой проблемы?

1 Ответ

4 голосов
/ 12 января 2012

Как вы сами заявили: «Каждое нажатие кнопки или любое инициированное событие потребует подключения браузера к веб-серверу».

Это проект IntraWeb: клиент-серверное приложение, в которомбольшая часть логики кода выполняется на стороне сервера.Вы можете добавить некоторые AJAX-виджеты в свои приложения, но IntraWeb сам по себе является серверной средой.

Чтобы полноценное клиентское приложение AJAX на HTML5 могло работать автономно, вам потребуется приложение на чистом JavaScript.Даже для основанных на Sacha / ExtJS средах AJAX (например, ExtPascal или UniGUI ) или Morfik требуется сервер для запуска.

Но создание JavaScript-приложения на чистом HTML5 - это сложная задача, но это возможно, поскольку вы можете использовать содержимое DataSnap из JavaScript (используя XML или JSON).Вы можете попробовать http://www.appcelerator.com/, который является отличной IDE и платформой для создания приложений JavaScript, которые запускаются как собственные приложения.

Чтобы отключить приложение HTML5, возможно, вам придется подождать следующегоВыпускаемые продукты:

Спасибодля этих двух проектов вы сможете кодировать в объекте pascal, затем JavaScript будет скомпилирован из источника pascal, а затем использовать локальное хранилище HTML.Смотрите, например, эту статью об использовании хранилища в Smart / OP4JS - я протестировал его (в Alpha), и он работает очень хорошо: у вас есть чистый автономный HTML-файл, который может работать безлюбой сервер и локальное хранилище.Хранилище SQLite3 планируется (еще не завершено).

...