Использование Delphi + Intraweb для создания автономного приложения HTML5 (манифест кеша) с возможностью хранения в браузере (webSQL / IndexedDB)?

StackOverflow https://stackoverflow.com/questions/8830097

Вопрос

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

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

Возможно ли?

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

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

Это было полезно?

Решение

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top