के लिए रैपर फ़ंक्शन मुझे आईपैड/टैबलेट डिवाइस के लिए ऑफ़लाइन HTML5 वेब ऐप बनाने की आवश्यकता है जहां उपयोगकर्ता सर्वर से डेटासेट (डेटा की तालिका) डाउनलोड कर सकता है और उसे डिवाइस पर स्टोर कर सकता है। उपयोगकर्ता तब सर्वर से डिस्कनेक्ट कर सकता है और डिवाइस पर स्थानीय रूप से डेटा को संपादित/संपादित कर सकता है। यह उन लोगों के लिए है जो दूरदराज के इलाकों में काम करते हैं जहां कोई सेलुलर कवरेज नहीं है और डेटा एकत्र करने/अपडेट करने की आवश्यकता है। जब वे कार्यालय में वापस आते हैं तो वे डेटा को सर्वर पर वापस सिंक/अपलोड कर सकते हैं। एचटीएमएल 5 होने की वजह यह है कि यह मंच अज्ञेयवादी है, यानी इसे आईओएस, एंड्रॉइड आदि पर चलाया जा सकता है, जब तक कि इसका एक आधुनिक वेब ब्राउजर है जो एचटीएमएल 5 का समर्थन करता है।इंडेक्सड डीबी
अब मैंने पहले ही एचटीएमएल 5 स्थानीय स्टोरेज (डेटा के लिए) और एचटीएमएल 5 ऑफ़लाइन एप्लिकेशन कैश (पृष्ठों/सीएसएस/जेएस/छवियों के लिए) का उपयोग कर सिस्टम बनाया है और यह छोटे डेटासेट के साथ उचित रूप से अच्छी तरह से काम करता है (मैं देख सकता हूं ऑफ़लाइन होने पर संपादित करें और सहेजें और ऑनलाइन होने पर लोड/सिंक करें)। अब मुझे डेटा की 10,000 पंक्तियों को स्केल करने की आवश्यकता है। यह काम करता है लेकिन यह इंटेल क्वाड कोर 8 जीबी मशीन पर लोड करते समय 10secs के लिए ब्राउज़र धीमा है और ब्राउज़र को लटकता है।
तो मैं कर दिया है स्थानीय भंडारण की तुलना में कुछ बेहतर विकल्प शोध किया गया:
1) WebSQL: मिलती है एसक्यूएल भाषा का प्रयोग डेटा को क्वेरी करने में सक्षम हो सकता है और कर सकते हैं आदि समस्या यह अब पदावनत है एक नहीं होगा अब समर्थित रहें, इसलिए मैं इसके लिए कुछ समय बनाने का निवेश नहीं करना चाहता हूं।
2) इंडेक्सड डीबी: ऑब्जेक्ट स्टोर का उपयोग करता है (जो तकनीकी रूप से मैं पहले से ही स्थानीय स्टोरेज एपीआई का उपयोग कर ऑब्जेक्ट्स संग्रहीत कर रहा हूं और जेएसओएन का उपयोग करके भंडारण कर रहा हूं)। संभावित रूप से तेज़ है क्योंकि यह एसक्यूएल लाइट बैकएंड के साथ इंडेक्स का उपयोग करता है। डेटाबेस बनाने जैसे सरल कार्यों को करने के लिए बॉयलरप्लेट कोड बहुत सारे हैं, इसमें जोड़कर, इसे पढ़ना, इसे फिर से चालू करना। मैं सिर्फ select(xyc, abc).where(abc = 123).limit(20)
जैसी सरल क्वेरी करना चाहता हूं लेकिन इसके बजाय इसे करने के लिए बहुत सारे जावास्क्रिप्ट कोड लिखना है। तालिकाओं, किसी भी उदाहरण के बीच जुड़ने के लिए कोई अपना कोड कैसे लिखता है?
मुझे एक jQuery plugin मिला है जो जीवन को आसान बना सकता है। क्या आसपास के अन्य पुस्तकालय हैं जो इंडेक्सड डीबी का उपयोग करने के दर्द को कम करते हैं?
बहुत धन्यवाद!
मेरा मानना है कि वेबएसक्यूएल को इंडेक्सड डीबी के पक्ष में छोड़ दिया गया है ... –
वेबएसक्यूएल के लिए देखें, ऐप्पल 5.0.1 अब वेबएसक्यूएल डेटा जारी नहीं है। दूसरे शब्दों में, यह आपके ऐप के स्थानीय डेटाबेस को अपंग करेगा। फोनगैप का कामकाज है। https://issues.apache.org/jira/browse/CB-330 – Wytze