2009-10-04 14 views
6

दोनों एक ही अवधारणा को नियोजित करते हैं: कुछ पंक्तियों और स्तंभों को परिभाषित करें और विशिष्ट स्थितियों में सामग्री जोड़ें। लेकिन ग्रिड सबसे आम WPF लेआउट कंटेनर है, जबकि HTML में तालिका आधारित लेआउट very controversial है। तो डब्ल्यूपीएफ के ग्रिड लेआउट की प्रशंसा क्यों की जाती है और एचटीएमएल के टेबल आधारित लेआउट को "खराब" माना जाता है (कुछ)?क्या WPF का ग्रिड आधारित लेआउट तालिका आधारित लेआउट के समान नहीं है जो HTML में वर्जित है?

+0

जो कहता है कि तालिका HTML में "वर्जित" है? यदि आपके पास एक टेबल है, और यह एक टेबल की तरह दिखता है, एक टेबल की तरह लगता है, एक टेबल की तरह quacks - क्यों एक टेबल के साथ प्रस्तुत नहीं ?? –

+2

marc_s: तालिका में सारणीबद्ध डेटा प्रतिपादन लेआउट तत्वों के रूप में गलत-प्रयोग करने वाली तालिका के समान नहीं है। – Joey

उत्तर

10

बिंदु यह है कि डब्ल्यूपीएफ में ग्रिड को एक लेआउट तंत्र के रूप में परिभाषित किया गया है, जबकि HTML में एक तालिका टैब्यूलर डेटा को चिह्नित करने के लिए है, जहां आप आमतौर पर डेटाग्रिड या WPF में समान रूप से उपयोग करेंगे।

इस संबंध में HTML के साथ समस्या इतनी अधिक नहीं है कि आप लेआउट के लिए टेबल का उपयोग कर रहे हैं। वास्तव में, CSS3 Template Layout Module इतना अलग नहीं है। समस्या यह है कि तालिकाओं में सामग्री की कोई अर्थपूर्ण संरचना नहीं है और इस प्रकार स्क्रीन पाठकों, खोज इंजनों और इसी तरह के स्क्रीन के लिए पहुंच योग्य नहीं है। वे टैब्यूलर डेटा रखने के लिए एक तालिका की अपेक्षा करते हैं क्योंकि किसी भी दृश्य लेआउट तंत्र किसी ऐसी चीज़ को समझ नहीं सकता है जिसमें कोई दृष्टि नहीं है (जैसे स्क्रीन रीडर, वेब क्रॉलर या अंधे लोग)।

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

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

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

+0

जो वास्तव में आपको लगता है, "एचटीएमएल 5 क्यों न सिर्फ एक नया टैग '' बना रहा है जो वास्तव में *

'जैसा व्यवहार करता है और पूरे वेब विकास समुदाय को कुछ बड़े सिरदर्द बचाता है?" –

+0

ठीक है, यह कुछ और उन्नत सीएसएस लेआउट के साथ, वहां जा रहा है। लेकिन वे हैं, अगर बिल्कुल, केवल रक्तस्राव-किनारे वाले ब्राउज़र में समर्थित हैं और यहां तक ​​कि लगातार अलग-अलग ब्राउज़रों में भी नहीं हैं। लेकिन वास्तव में, एचटीएमएल अभी भी उस उद्देश्य के लिए बनाए गए लोगों की तुलना में काफी खराब (यूआई) लेआउट भाषा है। – Joey

+0

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

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