2008-08-05 21 views
20

जेफ ने स्टैक ओवरफ्लो लिखने के लिए JQuery का उपयोग करने के बारे में बात करते समय 'प्रोग्रेसिव एन्हांसमेंट' की अवधारणा का उल्लेख किया।प्रगतिशील वृद्धि क्या है?

एक त्वरित Google के बाद, मुझे इसके बारे में कुछ उच्च स्तरीय चर्चाएं मिलीं।

कोई भी प्रोग्रामर के रूप में शुरू करने के लिए एक अच्छी जगह की सिफारिश कर सकता है।

विशेष रूप से, मैं PHP में वेब ऐप्स लिख रहा हूं और लिखने वाले पृष्ठों को बेहतर बनाने के लिए यूयूआई का उपयोग करना चाहता हूं, लेकिन उनमें से बहुत से जावास्क्रिप्ट का उपयोग करके अधिकांश गधे के काम के साथ जावास्क्रिप्ट आधारित हैं। मेरे लिए, यह थोड़ा अधिक लगता है, क्योंकि जावास्क्रिप्ट के बिना साइट को देखने से शायद अधिकतर इसे तोड़ दिया जाएगा।

किसी के पास इस विचार का उपयोग शुरू करने के लिए कुछ अच्छी जगहें हैं, मुझे वास्तव में भाषा की परवाह नहीं है।

आदर्श रूप से, मैं देखना चाहता हूं कि आप पहले स्थिर HTML कैसे बनाना शुरू करते हैं, और उसके बाद वाईयूआई (या जो भी अजाक्स ढांचा) जोड़ते हैं ताकि आपको एक समृद्ध ग्राहक का लाभ मिल सके?

+0

इसके लिए ब्लॉग पोस्ट से लिंक करें: http://www.neerajkumar.net/blog/2012/08/19/प्रगतिशील-वृद्धि/ – Neeraj

उत्तर

10

Unobtrusive Javascript भी देखें जो आधारभूत प्रगतिशील वृद्धि का निर्माण किया गया है।

+0

वहां उत्कृष्ट लिंक है। किसी कारण से, यह मेरे लिए विकिपीडिया में नहीं हुआ था। :) – kaybenleroll

14

आप

मेरे लिए

, कि थोड़ा overkill लगता है, जावास्क्रिप्ट के बिना साइट को देखने शायद इसमें से अधिकांश टूट जाएगा के बाद से कहा है के रूप में।

यह प्रगतिशील वृद्धि नहीं है। प्रगतिशील वृद्धि तब होती है जब साइट जावास्क्रिप्ट या सीएसएस के बिना पूरी तरह से काम करती है, और तो वेबसाइट की उपयोगिता और कार्यक्षमता बढ़ाने के लिए इन अतिरिक्त तकनीकों/कोड को जोड़ने (लेयरिंग) जोड़ती है।

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

यह प्रगतिशील वृद्धि है।

4

मैंने tutorial को एक मतदान बनाने पर लिखा जो NETTUTS पर प्रगतिशील वृद्धि का उपयोग करता था। विचार एक्सएचटीएमएल/सीएसएस और PHP का उपयोग कर एक कार्यात्मक साइट बनाना है, और उसके बाद जावास्क्रिप्ट के साथ फ़ॉर्म आदि को रोकना है। (मैंने JQuery का उपयोग किया)।

3

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

यह भी मनोहर पतन जब इस तरह के आईई 5.5, नेटस्केप, आदि के रूप में पुराने ब्राउज़र (इन्टरनेट शब्दावली में प्राचीन) के साथ काम करने के लिए डिजाइनिंग ...

मेरी राय में यह बहुत ज्यादा काम शान से नीचा दिखाने के लिए किया जाता है आवेदन। प्रगतिशील रूप से इसे बढ़ाने में अधिक कुशलता होती है; हालांकि, कभी-कभी मौजूदा ऐप लेने और इन कमी वाले वातावरण में इसे सुलभ बनाने की आवश्यकता उत्पन्न होती है।

3

असल में, यदि आपकी साइट अभी भी जावास्क्रिप्ट के साथ काम करती है, तो जावास्क्रिप्ट के साथ जो कुछ भी आप जोड़ते हैं उसे प्रगतिशील वृद्धि माना जा सकता है।

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

2

यह एक महत्वपूर्ण अवधारणा है और यह मुझे परेशान करता है कि बहुत कम वेब डेवलपर्स इसे समझते हैं। संरचनात्मक तत्वों, लिंक और रूपों -

असल में, सादा पुराना एचटीएमएल में एक साइट/ढांचे का निर्माण करके शुरू करते हैं। फिर कुछ शैली और फिर चमकदार सामान (अजाक्स या आप क्या है) पर जोड़ें।

यह बहुत मुश्किल नहीं है। palehorse की तरह कहते हैं, सुंदर गिरावट अधिक काम है।

वेबसाइटें किसी भी उपयोगकर्ता एजेंट में काम करना चाहिए, देखो एक ही (यहां तक ​​कि लग रही है लेकिन ध्वनि करता है, तो अपनी दृष्टि नहीं बिगड़ा हुआ), बस काम नहीं।

2

प्रगतिशील संवर्धन:

  1. सादे HTML/सीएसएस साइट भयानक है (पूरी तरह से काम करने और उपयोगकर्ता के अनुकूल)।
  2. जावास्क्रिप्ट जोड़ना एक नया स्तर भयानक परिभाषित करता है।
3

प्रगतिशील संवर्धन एक विकास तकनीक है कि सिमेंटिक HTML की प्रधानता पर जोर दिया है, तो ब्राउज़र- क्षमता और सशर्त ब्राउज़रों कि उन संवर्द्धन उपयोग कर सकते हैं के लिए JavaScript और/या सीएसएस संवर्द्धन पर "लेयरिंग" के लिए परीक्षण है।

चाबियों का एक यह है कि हम क्या ब्राउज़र कर सकते हैं के लिए परीक्षण कर रहे हैं, के रूप में सूँघने ब्राउज़र- करने का विरोध समझ है। Modernizr एक बहुत ही लोकप्रिय ब्राउज़र-क्षमता परीक्षण सूट है।

प्रोग्रेसिव-एन्हांसमेंट स्वाभाविक रूप से (धारा 508) सुलभ है; यह कानून की भावना और नियम की भावना को पूरा करने के लिए प्रदान करता है।

फिलामेंट समूह ने विषय पर उत्कृष्ट "Designing With Progressive Enhancement" पुस्तक लिखी। (मैं फिलामेंट ग्रुप से संबद्ध नहीं हूं, हालांकि वे इतने मज़ेदार स्मार्ट हैं कि मैं चाहता हूं।)

संबंधित मुद्दे