क्या एक आदर्श HTML5 वेब अनुप्रयोग की कोई सीमाएँ हैं


11

चलो मान लेते हैं कि निम्नलिखित दो धारणाएं सच हैं।

  • आपके पूरे यूजरबेस में हर जगह ब्रॉडबैंड की सुविधा है
  • एक काल्पनिक ब्राउज़र X है जो HTML5 और WHATWG समूहों के संपूर्ण ड्राफ्ट विनिर्देश को लागू करता है, लगातार और सभी उपयोगकर्ता ब्राउज़र X का उपयोग करते हैं।

वाणिज्यिक सार्वजनिक एचटीएमएल 5 वेब एप्लिकेशन की आंतरिक सीमाएं क्या हैं जिनके लिए हमें व्यावसायिक सार्वजनिक डेस्कटॉप अनुप्रयोगों की आवश्यकता है?

मुझे प्लगइन-कम वेब अनुप्रयोगों की सीमाओं में दिलचस्पी है जो अतिरिक्त सुविधाओं के लिए फ्लैश / जावा / सिल्वरलाइट / आदि पुलों पर भरोसा नहीं करते हैं और न ही अतिरिक्त सुविधाओं के लिए ब्राउज़र प्लगइन्स पर भरोसा करते हैं।

संभावित सीमाएँ जो लागू नहीं होती हैं:

  • डेटाबेस? हमारे पास WebSQL और indexedDB है।
  • फ़ाइल IO? हमारे पास HTML5 फ़ाइल एपीआई है जो पढ़ना और लिखना दोनों करता है।
  • स्पीड? हाल ही में जावास्क्रिप्ट इंजन दौड़ के साथ, ब्राउज़र अब धीमा नहीं है। Native C ++ केवल 3 गुना तेज है तो क्रोम का V8 इंजन।
  • विकास के औजार? वेब परिपक्व हो गया है और उपकरणों की एक पूरी श्रृंखला उपलब्ध है जो सूची के लिए बहुत सारे हैं।
  • बंद स्रोत? हां, सभी कोड ओपन सोर्स हैं। यह एक दोधारी तलवार है और बंद स्रोत या खुले स्रोत कोड के उपयोग पर कई राय हैं। मैं व्यक्तिगत रूप से ओपन सोर्स कोड के लाभों को नुकसान से बाहर निकलने पर विश्वास करता हूं।
  • जावास्क्रिप्ट / एचटीएमएल 5? "मुझे व्यक्तिगत रूप से लगता है कि HTML5 और EcmaScript भयानक विकास प्लेटफॉर्म हैं" की पसंद के साथ तर्क गिनती नहीं करते हैं।

ज्ञात सीमाएँ:

  • रियल टाइम / सिक्योरिटी (टॉप सीक्रेट) क्रिटिकल कोड वेब पर नहीं है और न ही हो सकता है। इसे निम्न स्तर पर लिखने की आवश्यकता है, C या C ++ जैसी अत्यधिक नियंत्रणीय भाषा।
  • किसी भी उपकरण को जो आपके कंप्यूटर से जुड़े हार्डवेयर के एक विदेशी तृतीय पक्ष टुकड़े के साथ बातचीत करने की आवश्यकता है, आपके वेब एप्लिकेशन से बात करने में मुश्किल समय होगा।

वेब पर संबंधित कार्यक्रमों का एक पूरा सूट भी है। ऑपरेशन सिस्टम, ड्राइवर, सर्वर सॉफ्टवेयर, निम्न स्तर के एपीआई। मुझे इसकी जानकारी है लेकिन मैं उन्हें "कमर्शियल पब्लिक" एप्लिकेशन के रूप में वर्गीकृत नहीं करता, ये सॉफ्टवेयर के प्रकार हैं जो कंप्यूटर पर पहले से इंस्टॉल किए जा सकते हैं।

एक तरफ के रूप में, मुझे पता है कि दो धारणाएं बहुत अवास्तविक हैं, लेकिन हम उन्हें 5/10/20/30 वर्षों में हासिल कर सकते हैं। मुझे अनुप्रयोगों के प्रकार और उन अनुप्रयोगों की विशेषताओं में दिलचस्पी है जो उन्हें वेब के साथ पूरी तरह से असंगत बनाते हैं ।

प्रेरणा:

बिंदु:

समस्याओं के सेट को देखते हुए जहां एक डेस्कटॉप एप्लिकेशन एक वैध समाधान है।

  • एक वेब एप्लिकेशन एक वैध समाधान क्यों नहीं है?
  • मैं कैसे पहचान सकता हूं कि मैं समाधान के रूप में वेब एप्लिकेशन का उपयोग कर सकता हूं या नहीं।

मैंने वेब अनुप्रयोगों (इंटरनेट कनेक्शन और ब्राउज़र समर्थन) के साथ मुख्य कठिनाइयों को दूर करने की कोशिश की है ताकि वे मौजूद न हों।

एक और अलग के रूप में, एचटीएमएल 5 ऑफ़लाइन अनुप्रयोग और मॉर्डनिज़्र उन दोनों मुद्दों को हल करने के लिए ट्रैक पर हैं।

वेब अनुप्रयोग विकास के साथ अन्य कठिनाइयाँ क्या हैं?


2
प्राथमिक सीमा: वेब एप्लिकेशन के लिए एक अच्छा विचार जो लोग उपयोग करना चाहते हैं, वे कम से कम वापसी लागत वाले व्यवसाय मॉडल से जुड़े होंगे। बाकी बहुत दूर है।
एसएफ।

"आंतरिक सीमाएं क्या हैं"? "आंतरिक सीमा" से आपका क्या तात्पर्य है? इन शब्दों का क्या अर्थ है? आपको क्या जानकारी चाहिए? आपको क्या समस्या है? प्रश्न क्या है?
एस.लॉट

@ एसएफ ने "वेब" शब्द को हटा दिया। आपको एक समस्या और एक समाधान की आवश्यकता है। यदि वह समाधान एक अनुप्रयोग है तो समस्या को हल करने की आवश्यकता है, एक उपयोगकर्ता आधार है और एक व्यवसाय मॉडल है जो काम करेगा। मैं सिर्फ उन समस्याओं के सेट की तुलना कर रहा हूं जिनके समाधान के रूप में एक डेस्कटॉप एप्लिकेशन है और यह सवाल करना कि कोई वेब एप्लिकेशन काम नहीं करेगा।
रायनोस

@ एस। अपने सही, सवाल बहुत अस्पष्ट था, मुझे उम्मीद है कि मैंने स्पष्ट कर दिया है कि वास्तविक सवाल क्या है।
रेयानोस

क्या? "एक वाणिज्यिक सार्वजनिक वेब अनुप्रयोग की आंतरिक सीमाएं क्या हैं जिनके लिए हमें व्यावसायिक सार्वजनिक डेस्कटॉप अनुप्रयोगों की आवश्यकता है?" इसका मतलब यह है कि "हमें डेस्कटॉप की आवश्यकता कब होगी क्योंकि वेब काम नहीं करेगा?" यदि हां, तो ये सभी डुप्लिकेट हैं: programmers.stackexchange.com/search?q=desktop+web
S.Lott

जवाबों:


11

मेरे सिर के ऊपर ...

  • एक फ़ाइल की तुलना में अन्य तरीकों से अपने I / O को निर्यात करने वाले मालिकाना हार्डवेयर तक पहुंच। वैज्ञानिक उपकरण, औद्योगिक मशीनरी, या सादे सीडी रिकॉर्डर और झुकाव समर्थन के साथ एक डिजिटाइज़र टैबलेट बनें।
  • केवल HTTP और अन्य प्रोटोकॉल का एक छोटा परिवार। आप अपनी इच्छानुसार सॉकेट नहीं बना सकते, जो भी बाइनरी डेटा आप चाहते हैं, उसे स्थानांतरित कर सकते हैं। यह अन्य प्रणालियों और सेवाओं के साथ कनेक्टिविटी को बहुत सीमित करता है।
  • कोई भी डेवलपर डेवलपर जावास्क्रिप्ट-गहन गेम को जावास्क्रिप्ट में नहीं बनाएगा। ब्रॉडबैंड अक्सर डीवीडी / एचडीडी थ्रूपुट की तुलना में लगभग आवश्यक नहीं है। कैनवस में 3 डी के लिए समर्थन गेम इंजनों के साथ बहुत कम है। जॉयस्टिक का समर्थन करने का कोई तरीका नहीं है, एक साथ कई keypresses, खुले स्वभाव धोखा आसान बनाता है। लेकिन मुख्य रूप से, प्रदर्शन ड्रॉप स्वीकार्य नहीं है।
  • भारी सैंडबॉक्सिंग। आपको ऐसा सामान नहीं मिलेगा जो ओएस में गहराई से एकीकृत हो। स्क्रीनशॉट, एंटीवायरस, वर्चुअल ड्राइव, बैकग्राउंड टास्क a'la सिस्टम ट्रे, प्रशासनिक कार्य आदि।
  • मिशन-क्रिटिकल नहीं हो सकता। अपने बेसिक सॉफ्टवेयर को चलाने के लिए हर समय ब्रॉडबैंड पर निर्भर रहना ज्यादातर कंपनियों को पसंद नहीं है।

1
2. वेब सॉकेट एक टीसीपी सॉकेट को उजागर करता है। आपके पास एक ब्राउज़र में यूडीपी तक पहुंच नहीं है लेकिन टीसीपी आपको बहुत अधिक विकल्प देता है।
रेयानोस

2
3. WebGL कुछ दिलचस्प प्रगति कर रहा है। ओपनसीएल का समर्थन हाल ही में शुरू हुआ है। यकीन है कि यह डेस्कटॉप गेम के विकास से 5 साल पीछे है लेकिन यह संभव होने लगा है।
रेयानोस

2
@Raynos: वेब सॉकेट सॉकेट जैसी कार्यक्षमता प्रदान करेगा लेकिन विशिष्ट हैंडशेक की आवश्यकता है, आप इसे आसानी से मौजूदा सिस्टम में नहीं ढाल सकते हैं, आपको सर्वर-साइड संशोधनों की आवश्यकता है। मतलब नो जेनरिक ssh क्लाइंट वेब ऐप। WebGL, gfx की कुछ समस्याओं को हल कर सकता है, फिर भी बल्क डेटा आवश्यकताओं (बनावट और जाल की गीगाबाइट्स), नियंत्रक I / O का कोई समाधान नहीं है, ऑडियो समर्थन भी वर्तमान में खराब है।
एसएफ।

1
4. W3C डिवाइस एपीआई (जिसके बारे में मुझे नहीं पता था) वास्तव में सैंडबॉक्सिंग समस्याओं को हल करने के तरीके पर ठोस है।
रायनोस

1
जब से आपने यह उत्तर लिखा है, तब से कई चीजें बदल गई हैं। ब्राउज़र अपने आप में एक वैध सॉफ्टवेयर प्लेटफ़ॉर्म बन गया है; आप अपने उत्तर में जो कुछ भी वर्णन करते हैं वह अब संभव है। हां, मैं पर्याप्त प्रयास को देखते हुए ब्राउज़र में चल रहे किसी भी गेम या एप्लिकेशन की बहुत कल्पना कर सकता हूं।
रॉबर्ट हार्वे

3

अनिवार्य रूप से, कुछ भी जो सर्वर / क्लाइंट मॉडल में फिट हो सकता है, एक अच्छा वेब एप्लिकेशन और आईस्पो वास्तव में विपरीत कर सकता है और साथ ही सच भी कहा जा सकता है। वेब पर जाने की प्रवृत्ति इतनी तेज़ी से बढ़ने की संभावना है क्योंकि यह देखने के लिए कि अधिकांश कार्यक्रमों को मॉडल / नियंत्रक / दृश्य में कैसे मॉडल किया जा सकता है, कार्यक्रम मॉडल और नियंत्रक को इसके दृश्य से विभाजित कर सकते हैं।

निश्चित रूप से दक्षता कारणों के लिए, गलत अनुरोधों और डेटा के साथ सर्वर को ओवरलोड करने से बचने के लिए कुछ कंट्रोलर को क्लाइंट की तरफ भी रखा जाता है।

हालांकि मेरी बात यह है: मॉडल / कंट्रोलर / व्यू सॉफ्टवेयर आर्किटेक्चर के लिए कौन से प्रोग्राम फिट नहीं हैं, क्योंकि वे संभवतः वही प्रोग्राम हैं जो कभी वेब एप्लिकेशन में परिवर्तित नहीं हुए थे। मन में आने वाले अच्छे उदाहरण ऑपरेटिंग सिस्टम, टास्क शेड्यूलर, कमांड प्रॉम्प्ट, वायरस प्रोटेक्शन, स्पाईवेयर प्रोटेक्शन हैं। जिनमें से हर एक को संभवतः वेब साइट पर लागू नहीं किया जाता है क्योंकि यह मॉडल फिट नहीं होता है। और यह कोई संयोग नहीं है कि इन कार्यक्रमों में से हर एक आपके सिस्टम पर बहुत अधिक निर्भर है। अधिकांश को हार्डवेयर तक सीधी पहुंच की आवश्यकता होती है, जबकि अन्य को उच्च सुरक्षा की आवश्यकता होती है, जिसे चलाने में सक्षम होना चाहिए और इंटरनेट वेब साइटों द्वारा किए जाने पर भरोसा नहीं किया जा सकता है।

बेशक, Google अपने नए ऑपरेटिंग सिस्टम के साथ इस अवधारणा को पूरी तरह से फिर से अपना रहा है। माना जाता है कि विंडोज के विपरीत, यह केवल एक प्रणाली नहीं है जो इंटरनेट का उपयोग करने के लिए बढ़ी है, बल्कि एक प्रणाली इस पर बहुत अधिक निर्भर है। जल्द ही आप देख सकते हैं कि ये सभी कार्यक्रम ऑनलाइन उपलब्ध कराए गए हैं, जिससे आपके हार्डवेयर और सॉफ्टवेयर तक पहुंच की अनुमति मिलती है, जिससे किसी भी साइट को ऐसा करने में सक्षम होने के लिए एक सख्त प्रमाणपत्र प्रमाणीकरण मिल जाता है। मैं यह देखने के लिए उत्सुक हूं कि वे क्या कर रहे हैं, क्योंकि मैं 20 साल के समय में सोच रहा हूं, कंप्यूटर अब इंस्टॉल करने योग्य सॉफ़्टवेयर के साथ नहीं बनाया जाएगा। बल्कि सभी सेवाएं ऑनलाइन उपलब्ध होंगी।


0

• किसी भी उपकरण को जो आपके कंप्यूटर से जुड़े हार्डवेयर के एक विदेशी तृतीय पक्ष टुकड़े के साथ बातचीत करने की आवश्यकता है, आपके वेब एप्लिकेशन से बात करने में मुश्किल समय होगा।

अब मैं जिस सॉफ्टवेयर पर काम कर रहा हूं, उसमें एक डेस्कटॉप पहलू के साथ-साथ एक वेब आधारित पहलू भी ठीक है क्योंकि इसे तीसरे पक्ष के बाह्य उपकरणों से डेटा इकट्ठा करने की आवश्यकता है। डिवाइस और वेब के बीच की खाई को पाटने के लिए ड्राइवरों, और एक क्लाइंट डेस्कटॉप प्रोग्राम का विकास आवश्यक है।

हालांकि यह वेब एप्लिकेशन को बाहर नहीं करता है क्योंकि इस प्रकार के डेस्कटॉप एप्लिकेशन अधिकतर सर्वर पर रहने वाले लॉजिक के साथ पतले हो सकते हैं।

दूसरे नोट पर क्लाउड कंप्यूटिंग और मास वर्चुअलाइजेशन के पहलू के साथ कोई भी कह सकता है कि वेब प्रौद्योगिकी की सीमाओं और सुरक्षा छेदों द्वारा किसी भी आवेदन को अनिवार्य रूप से बाधित करने की आवश्यकता नहीं है। डंब टर्मिनल (वर्चुअरी जैसे सिट्रिक्स) पर वर्चुअलाइज्ड वातावरण से डेस्कटॉप एप्लिकेशन चलाना बहुत आसान हो गया है और अगला विकास "सनक" हो सकता है।

लब्बोलुआब यह है कि अब पहले से कहीं अधिक विकल्प हैं और कल की तकनीक को "बेस्ट" तरीके से खेलने वाले बहुत अधिक बात करने वाले प्रमुख हैं।


1
दिलचस्प है, आप वेब ब्राउज़र पर वर्चुअलाइज्ड वातावरण से डेस्कटॉप एप्लिकेशन चला सकते हैं। अधिकांश वीएनसी सर्वरों की प्राचीन विशेषता एक वीएनसी दर्शक जावा एपलेट है, जो http: // [रिमोट मशीन]: 5800 / तो पर उपलब्ध है - डेस्कटॉप-ऐप-एज़-वेब-ऐप?
एसएफ।

0

चलो मान लेते हैं कि निम्नलिखित दो धारणाएं सच हैं।

  • आपके पूरे यूजरबेस में हर जगह ब्रॉडबैंड की सुविधा है
  • एक काल्पनिक ब्राउज़र X है जो HTML5 और WHATWG समूहों के संपूर्ण ड्राफ्ट विनिर्देश को लागू करता है, लगातार और सभी उपयोगकर्ता ब्राउज़र X का उपयोग करते हैं।

वाणिज्यिक सार्वजनिक एचटीएमएल 5 वेब एप्लिकेशन की आंतरिक सीमाएं क्या हैं जिनके लिए हमें व्यावसायिक सार्वजनिक डेस्कटॉप अनुप्रयोगों की आवश्यकता है?

मुझे प्लगइन-कम वेब अनुप्रयोगों की सीमाओं में दिलचस्पी है जो अतिरिक्त सुविधाओं के लिए फ्लैश / जावा / सिल्वरलाइट / आदि पुलों पर भरोसा नहीं करते हैं और न ही अतिरिक्त सुविधाओं के लिए ब्राउज़र प्लगइन्स पर भरोसा करते हैं।

ठीक है, तो यहाँ रगड़ना है: यह ब्राउज़र अपने स्वभाव से असुरक्षित होगा। तो आप हमें दोनों के बीच एक व्यापार बनाने के लिए कह रहे हैं। हालाँकि, उस अतीत को प्राप्त करना, और यह मान लेना कि हमारे पास जावास्क्रिप्ट है (जिसे आपने अपनी पोस्ट में आवंटित किया है) तो इसका उत्तर है कि ऐसा कोई ऐप नहीं है जिसे केवल HTML5 / जावास्क्रिप्ट का उपयोग करके नहीं लिखा जा सकता है। हालाँकि, हम ऐसा ब्राउज़र मानते हैं जो रास्ते में नहीं मिलता है।

इस चीज़ का एक स्थानीय db स्टोर है, HTTP अनुरोधों का उपयोग करके किसी भी अन्य प्लेटफ़ॉर्म पर कॉल कर सकता है (जो एक Restafarian आपको पर्याप्त होगा) और आप जो कुछ भी चाहते हैं उसके बारे में सिर्फ (कैनवस के माध्यम से) आकर्षित कर सकते हैं। खुले मानकों (ओपनजीएल ईश) का उपयोग करके पहले से ही 3 डी गेम लिखे गए हैं और जो कुछ भी आप चाहते हैं उसके बारे में करने के लिए एपीआई हैं।

एकमात्र वास्तविक दोष गति है। उन HTTP API कॉल को अन्य सिस्टम (डेटाबेस) में करने में समय लगेगा। FILE (COM1 :) अनुरोधों को संसाधित करने में समय लगेगा (उदाहरण के लिए विंडोज पर एक धारावाहिक डिवाइस पर पढ़ने के लिए), इसलिए वे समस्या क्षेत्र हैं जिनकी मैं उम्मीद करूंगा। बेशक, मैं यह भी मानता हूं कि ड्राइवरों को फ़ाइलों की तरह एक्सेस करने के लिए लिखा जाता है, जो मुझे पूरा यकीन है कि अब सच नहीं है। लेकिन वे इस तरह के तंत्र को उजागर कर सकते थे;)

उपयोगकर्ता के लिए, बहुत कुछ अलग नहीं होगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.