हम अभी भी डेस्कटॉप प्रतिमान के बजाय ब्राउज़र में DOM का उपयोग क्यों कर रहे हैं


11

मेरी समझ से, वेब इंटरफ़ेस को HTML का उपयोग करने के लिए विकसित किया गया था क्योंकि उस समय ब्राउज़र में डेस्कटॉप स्टाइल एप्लिकेशन का अनुकरण करना संभव नहीं था, जैसे कि सिल्वरलाइट और फ्लैश कैसे काम करते हैं, क्योंकि बैंडविड्थ सीमाएं, और संभवतः प्रसंस्करण शक्ति।

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

डेस्कटॉप एप्लिकेशन के विकास प्रतिमान की तुलना में पोस्टबैक, AJAX आदि को संभालना अतिरिक्त अनावश्यक प्रयास लगता है। क्या DOM और इसकी तारीफ करने वाली प्रौद्योगिकियां मुख्य रूप से इस तथ्य पर बनी रहती हैं कि सिल्वरलाइट / फ्लैश को प्लगइन स्थापित करने की आवश्यकता होती है, और कुछ मोबाइल डिवाइस प्लगइन का समर्थन नहीं करते हैं?


1
क्योंकि DOM एक द्वितीय श्रेणी का नागरिक नहीं है। सिल्वरलाइट और फ्लैश लीकी एब्स्ट्रैक्ट हैं। आप आसानी से देशी उपयोगकर्ता ब्राउज़र डोम में अनुप्रयोगों की तरह देशी डेस्कटॉप कर सकते हैं। यह बस बेहतर प्रदर्शन करता है और फिर फ्लैश या सिल्वरलाइट को एकीकृत करता है।
रायनोस

जवाबों:


17

मेरे सिर के ऊपर से कुछ कारणों के बारे में सोच सकते हैं:

  • पारंपरिक वेब स्टैक इन दिनों बहुत परिपक्व है; 5 साल पहले की तुलना में आधुनिक ब्राउज़रों के पास बहुत कम quirks हैं, और उनके लिए वेब साइट डिजाइन करना अपेक्षाकृत सुखद है
  • जबकि ब्राउज़रों के बीच मतभेद हैं, वे अंतर्निहित ओएस और हार्डवेयर के बीच अंतर की तुलना में कम प्रासंगिक हैं
  • अनुरोध / प्रतिक्रिया प्रतिमान वास्तव में बहुत सी चीजों के लिए बहुत अच्छी तरह से काम करता है, जैसे कि पाठ-भारी सामग्री को प्रस्तुत करना
  • सर्च इंजन फ्लैश या सिल्वरलाइट सामग्री पर बिल्कुल उत्सुक नहीं हैं
  • फ्लैश और सिल्वरलाइट प्रत्येक एक ही कंपनी द्वारा नियंत्रित होते हैं; उनका उपयोग करने का मतलब है कि आपके कोड के लिए भविष्य में प्लेटफ़ॉर्म समर्थन इन कंपनियों की दया पर है
  • HTML में आपके द्वारा की जा सकने वाली कई चीजें प्लगइन्स के साथ नहीं की जा सकती हैं: बुकमार्क, कॉपी-पेस्ट, ऑन-द-फ्लाई ट्रांसलेशन, कस्टम स्टाइल शीट
  • प्लगइन्स गैर-मानक ब्राउज़रों के साथ अच्छी तरह से नहीं खेलते हैं - टेक्स्ट ब्राउज़र, ऑडियो ब्राउज़र और अन्य उपकरणों की विस्तृत श्रृंखला के बारे में सोचें जो वेब पेज प्रदर्शित कर सकते हैं
  • आप आसानी से फ्लैश या सिल्वरलाइट ग्राहकों को स्वचालित नहीं कर सकते हैं, जबकि स्क्रिप्ट से HTML वेब साइटों को चलाना आमतौर पर बहुत सीधा है।

एक और बात जो मैं सोच सकता हूं: ये प्लगइन्स ओपन सोर्स नहीं हैं। और कुछ लोग सिर्फ उन चीजों पर भरोसा नहीं करते, जो वे नहीं कर सकते git clone। बेशक आप खुले स्रोत संस्करण प्राप्त कर सकते हैं, जैसे कि गोर या मूनलाइट, लेकिन वे वास्तव में पूरी तरह से संगत नहीं हैं।
डॉ। मैके

2
मैं वास्तव में खुले स्रोत के तर्क के बारे में सोचता था, लेकिन मुझे नहीं लगा कि यह एक बड़ा पर्याप्त मुद्दा है, वास्तविक-विश्व बुद्धिमान (कोई फर्क नहीं पड़ता कि मैं खुद कितना बड़ा प्रशंसक हूं)। 'एकल कंपनी की दया पर' तर्क वैसे भी संबंधित है, और महत्वपूर्ण है।
तदमर्स

4

"फ्लैश में कोई डेस्कटॉप एप्लिकेशन क्यों नहीं" का सरल उत्तर यह है कि आप उन्हें केवल एडोब एयर में लिख सकते हैं, लेकिन जाहिर तौर पर केवल कुछ ही करते हैं।

मेरा मानना है कि इस सवाल का जवाब यह है कि लोगों चाहते हैं वेब अनुप्रयोगों , नहीं आकर्षक फ्लैश आवेदन, और वे वेब अनुप्रयोगों बस सभी की तरह है होना चाहते हैं अन्य वेब अनुप्रयोगों वे का उपयोग करें। व्यक्तिगत रूप से मैं एक फ़्लैशब्लॉकर का उपयोग करने में सक्षम होना चाहता हूं और अभी भी एप्लिकेशन की पूरी कार्यक्षमता है।


3

यह हमारे उद्योग में एक बहुत ही सामान्य प्रभाव है।
उदाहरण के लिए, मैं व्यक्तिगत रूप से haXe का उपयोग करता हूं और फ़्लैश प्लेयर पर अपने क्लाइंट कोड को तैनात करता हूं, क्योंकि IMHO यह सबसे अच्छा वेब सक्षम प्लेटफॉर्म है जिसे मैं लक्षित कर सकता हूं। एक बार C # बैकएंड समाप्त हो जाने के बाद, मैं संभवतः यह देखूंगा कि क्या सिल्वरलाइट उपयोग करने लायक है, हालांकि मेरी व्यक्तिगत भावना है, कि यह मर गया, इससे पहले कि यह वास्तव में बंद हो जाए।

अपनी भाषा की पसंद से बहुत खुश होने के नाते, एक बात जो मैं खुद से अक्सर पूछता हूं वह यह है: अधिक वेब डेवलपर्स एक ओपन-सोर्स, मल्टी-पैराडाइम, एक्सप्रेसिव, क्रॉस-प्लेटफॉर्म भाषा का उपयोग क्यों नहीं करते हैं?

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

अंत में, बहुत से रणनीतिक फैसले अक्षम लोगों द्वारा किए जाते हैं, जो रुझानों का पालन करना पसंद करते हैं और अपने डेवलपर्स की तुलना में कुछ फैंसी ब्लॉगर पर भरोसा करते हैं। और जिनके सिर में वास्तव में बहुत सारे गलत विचार हैं।

नई / आला प्रौद्योगिकियां हमेशा स्वीकृति के लिए संघर्ष करेंगी, जब तक कि वे वास्तव में एक सफलता नहीं बनाते हैं। उदाहरण के लिए रूबी इसमें रेल और उसके आसपास बड़े प्रचार के माध्यम से सफल हुई। डिजाइनरों के लिए फ्लैश की ऐसी सफलता थी, क्योंकि 90 के दशक में लोगों को लगा कि श्रवण अच्छा है और यह पहला व्यापक रूप से फैला हुआ मंच है जिसने इसे लागू करने की अनुमति दी है।
फ्लेक्स के बावजूद, फ्लैश को कभी भी डेवलपर्स के लिए ऐसी सफलता नहीं मिली। संभवतः क्योंकि GWT , qooxdoo और बहुत से अन्य पर-पर-HTML फ्रेमवर्क पर्याप्त रूप से अच्छे हैं, वे भी केवल फ्लेक्स या फ्लैश का उपयोग नहीं करते हैं, और इसमें काफी अधिक जावा और जावास्क्रिप्ट डेवलपर्स हैं (जाहिरा तौर पर कंपनियां उन तकनीकों को चुनना पसंद करती हैं जहां संभावित कर्मचारियों की अधिक मात्रा है। )।

आपको आजकल अपने AJAX की वेबसाइट को स्क्रैच से लिखने की आवश्यकता नहीं है। आपको वास्तव में HTML की कोई समझ नहीं है और इसे वैसे भी कर सकते हैं, अपनी पसंद की भाषा में।

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

अभी, बहुत सारी चीजें हो रही हैं। IPhone और इसी तरह के अन्य उपकरणों ने एक विशाल बाजार का निर्माण किया है, जो कि 4 साल पहले नहीं था। और वेब मानकों को अंततः सभी प्रमुख कंपनियों द्वारा एक ही दिशा में (अस्पष्ट रूप से) आगे बढ़ाया जा रहा है।

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


3
स्क्रीन रीडर को फायर करें, अपनी स्क्रीन को बंद करें, और इसे आज़माएं। क्या यह अभी भी काम करता है?
BillThor

1
"अधिक वेब डेवलपर एक ओपन-सोर्स, मल्टी-पैराडाइम, एक्सप्रेसिव, क्रॉस-प्लेटफ़ॉर्म भाषा का उपयोग क्यों नहीं करते हैं?" - आपका मतलब है, जावास्क्रिप्ट की तरह?
आंद्रे परमेस

1
@BillThor: तथ्य की बात के रूप में, यह कार्यान्वयन पर निर्भर करता है। फ्लैश प्लेयर स्क्रीन पाठकों के साथ इंटरफेस कर सकता है । बहुत से लोग thes संभावनाओं का लाभ उठाने के लिए नहीं चुनते हैं। या तो क्योंकि वे परवाह नहीं करते हैं, या क्योंकि यह व्यर्थ है। जितना मैं नेत्रहीन लोगों के लिए क्षमा चाहता हूं, मुझे स्क्रीन पाठकों के लिए सुलभ किसी भी ऐप / गेम को बनाने में बहुत अधिक मूल्य नहीं दिखता है। मुझे पूरा यकीन है कि आपकी स्क्रीन बंद होने के साथ फ़ोटोशॉप का उपयोग करने में आपको मुश्किल समय होगा।
बैकऑडोस

1
@BillThor: जाहिर है, आप मेरे संदेश का मुख्य बिंदु पाने में विफल रहे: लोगों को लोकप्रिय होने के बजाय नौकरी के लिए सही उपकरण का उपयोग करने के लिए वापस आना चाहिए। HTML बहुत सारी सामग्री वाले अनुप्रयोगों के लिए एक महान उपकरण है जिसे इसके शब्दार्थों के साथ कैप्चर किया जा सकता है। इसके अलावा, यह कैनोनिक रूप से सबसे अच्छा उपकरण नहीं है।
back2dos

1
@ back2dos: कम से कम इसे याद नहीं किया। अगर मैंने हर चीज के लिए नौकरी के लिए सबसे अच्छा उपकरण का उपयोग किया है, तो मैं एक दर्जन उपकरण का उपयोग करूंगा, उनमें से कुछ अस्पष्ट हैं। फिर रखरखाव बेहद मुश्किल हो जाता है। इसके बजाय, मैं उन उपकरणों का उपयोग करता हूं, जिनके साथ टीम के अन्य लोगों के पास अनुभव है। किसी प्रोजेक्ट के लिए सही टूल हमेशा एक विशेष टूल नहीं होता है।
बिलथोर

1

प्रौद्योगिकियां सभी काफी अपरिपक्व हैं। जरा देखिए कि किसी भी 5 साल के ब्लॉक में कितना बदलाव आया है। मोबाइल / टैबलेट प्रौद्योगिकियों के साथ, यह फिर से बदलने जा रहा है।

मैं इसे एक विलय के रूप में देखता हूं। यह सिर्फ HTML / DOM या प्लग इन नहीं है। मैंने उपकरण सुविधाओं तक पहुँचने के लिए HTML एक्सटेंशन देखे हैं। प्लग-इन अपने विचारों को लाने के साथ-साथ डेस्कटॉप और वेब अवधारणाओं दोनों का समर्थन करते हैं।

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

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