استخدم 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 لصفحات الويب من تطبيق الويب intraweb ، ولا أريد وضع كل كود تخزين المتصفح داخل ملفات القالب.

من الممل أيضًا نقل شفرة JavaScript التي تم إنشاؤها بواسطة Intraweb إلى ملفات js أخرى ، ومن خلال القيام بذلك قد أكسر رموز تطبيق Intraweb ومنطقه. هل هناك أي حل بديل لهذا؟

هل كانت مفيدة؟

المحلول

كما ذكرت بنفسك: "كل زر يتم النقر عليه أو أي حدث يتم تشغيله سيتطلب من المتصفح الاتصال بخادم الويب".

هذا هو تصميم IntraWeb: تطبيق خادم العميل ، حيث يتم تنفيذ معظم منطق الكود على جانب الخادم. يمكنك إضافة بعض عناصر واجهة مستخدم AJAX إلى تطبيقاتك ، لكن IntraWeb ، في حد ذاته ، هو إطار عمل من جانب الخادم.

من أجل الحصول على تطبيق HTML5 AJAX Client كامل قادر على العمل بشكل مستقل ، ستحتاج إلى تطبيق JavaScript خالص. حتى أطر AJAX المستندة إلى Sacha / ExtJS (مثل ExtPascal أو UniGUI ) أو Morfik يتطلب خادمًا للتشغيل.

ولكن إنشاء تطبيق HTML5 JavaScript خالص يعد مهمة صعبة - ولكنه ممكن ، حيث يمكنك استهلاك محتوى DataSnap من JavaScript (باستخدام XML أو JSON). يمكنك تجربة http://www.appcelerator.com/ وهي بيئة تطوير متكاملة ونظام أساسي رائع لإنشاء تطبيقات JavaScript ، والتي تعمل كتطبيقات أصلية.

لكي يكون لديك تطبيق HTML5 غير متصل ، قد تضطر إلى الانتظار حتى يتم إصدار المنتجات التالية:

بفضل هذين المشروعين ، ستكون قادرًا على كتابة التعليمات البرمجية في باسكال الكائن ، ثم سيتم تجميع JavaScript من مصدر باسكال ، ثم استخدام التخزين المحلي لـ HTML. راجع على سبيل المثال هذه المقالة حول استخدام التخزين مع Smart / OP4JS - لقد اختبرته (في Alpha) ، وهو يعمل بشكل جيد جدًا: لديك ملف HTML مستقل تمامًا يمكن تشغيله بدون أي خادم ، ولديك مساحة تخزين محلية. تخزين SQLite3 مخطط له (لم ينته بعد).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top