2009-06-19 5 views
16

यह सवाल this question, जिसमें सबसे upvoted जवाब एक विशेषता एचटीएमएल 5 से यह निश्चित रूप से मेरे लिए एक अच्छा तरीका लग रहा था उपयोग करने की सिफारिश से एक सा प्रेरित था, लेकिन यह सामान्य रूप में एक भविष्य कल्पना की विशेषताओं का उपयोग के बारे में मुझे उत्सुक बनाया ।एचटीएमएल 5 - प्रारंभिक गोद लेने जहां संभव हो - अच्छा या बुरा?

एचटीएमएल 5 बहुत अच्छे सुधार प्रदान करता है, जिनमें से कई मौजूदा ब्राउज़र में समस्याएं पैदा किए बिना उपयोग किए जा सकते हैं।

कुछ उदाहरण:

// new, simple HTML5 doctype (puts browsers in standards mode) 
<!doctype HTML> 

// new input types, for easy, generic client side validation 
<input type="email" name="emailAddress"/> 
<input type="number" name="userid"/> 
<input type="date" name="dateOfBirth"/> 

// new "required" attribute indicates that a field is required 
<input type="text" name="userName" required="true"/> 

// new 'data-' prefixed attributes 
// for easy insertion of js-accessible metadata in dynamic pages 
<div data-price="33.23"> 
    <!-- --> 
</div> 
<button data-item-id="93024">Add Item</button> 

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

वे वर्तमान में कुछ भी तोड़ नहीं है (जहाँ तक मैं बता सकता हूँ) वर्तमान ब्राउज़रों में और वे साफ, सामान्य clientside कोड के लिए अनुमति देते हैं।

हालांकि, भले ही वे एचटीएमएल 5 में सभी मान्य हैं, वे नहीं HTML 4 के लिए मान्य हैं, और एचटीएमएल 5 अभी भी इस बिंदु पर एक मसौदा है।

यह आगे जाना है और जल्दी इन सुविधाओं का उपयोग करने के लिए एक अच्छा विचार है?

वहाँ उन लोगों के साथ ब्राउज़र कार्यान्वयन के मुद्दों है कि मुझे एहसास हुआ कि नहीं किया है?

क्या हमें अब वेब पेज विकसित करना चाहिए जो HTML 5 ड्राफ्ट सुविधाओं का उपयोग करते हैं?

+0

इस बात पर निर्भर करता है कि आपको किस ब्राउज़र का समर्थन करने की आवश्यकता है। यदि आपको आईई के साथ साइट बनाने की ज़रूरत है, तो मैं कहूंगा कि यह शायद बहुत जल्द है। – Scott

+1

@ स्कॉट जहां तक ​​मैं कह सकता हूं, इनमें से कोई भी सुविधा IE, या किसी अन्य ब्राउज़र में कुछ भी तोड़ नहीं सकती है (हालांकि मुझे कुछ याद आ रहा है)। –

+0

@ टीएम ओह, आप अजीब परिस्थितियों में वास्तव में विचित्र चीजों को करने की आईईएस क्षमता को कम से कम समझते हैं। – Scott

उत्तर

12

वहाँ कई बातों पर विचार कर रहे हैं:

  1. पहले, मान्यता है कि ज्यादा मतलब नहीं है, क्योंकि एक HTML पृष्ठ बहुत अच्छी तरह से, वैध लेकिन बुरी तरह से लेखक, दुर्गम हो आदि Say no to "Valid HTML" icons और Sending XHTML as text/html Considered Harmful देख सकते हैं (में किसी अन्य प्रतिक्रिया में उल्लिखित होबो-वेब परीक्षणों के संदर्भ में)
  2. यह देखते हुए, मैं नए डॉक्टरेट का उपयोग करने की अत्यधिक अनुशंसा करता हूं: एचटीएमएल 5 में रखने का एकमात्र कारण यह है कि यह सबसे छोटी चीज है जो ब्राउज़र में मानक मोड को ट्रिगर करती है, इसलिए यदि आप मानक मोड चाहते हैं, तो इसके साथ जाओ; यदि आप किसी अन्य, वर्बोज़, त्रुटि प्रवण DOCTYPE
  3. रूपों संवर्द्धन के लिए के रूप में उपयोग करने के लिए कोई कारण नहीं करने के लिए कम है, तो आप गैर जागरूक ब्राउज़रों
  4. और अंत में लाने के लिए, data-* के बारे में वेस्टन Ruter के webforms2 जे एस पुस्तकालय का उपयोग कर सकते विशेषताएं, यह ए) सभी ब्राउज़रों में काम करता है (जब तक आप getAttribute() का उपयोग करते हैं), बी) title या class विशेषताओं का दुरुपयोग करने से भी बेहतर है और सी) सत्यापन के साथ आपको परेशान नहीं करेगा जैसा कि हमने पहले कहा था कि सत्यापन नहीं है कि महत्वपूर्ण (बेशक यह है, लेकिन इससे कोई फर्क नहीं पड़ता कि वैधता त्रुटियां विलुप्त होने पर आपका पृष्ठ अमान्य है; और आप पहले ही डब्लू 3 सी वैधकर्ता में एचटीएमएल 5 सत्यापन का उपयोग कर सकते हैं ...); तो इसका उपयोग करने के लिए कोई वास्तविक कारण नहीं है।
+1

"सत्यापन का अर्थ इतना अधिक नहीं है, क्योंकि एक HTML पृष्ठ बहुत अच्छी तरह से वैध हो सकता है लेकिन बुरी तरह से लिखा गया है" - ठीक है, लेकिन केवल अपने विकास उद्देश्यों के लिए, सत्यापन कुछ त्रुटियों को पहचानने का एक आसान, स्वचालित तरीका है। –

2

अच्छा सवाल!

संक्षेप में:

  • मुझे लगता है कि यह हमेशा प्रौद्योगिकी के प्रारंभिक गोद लेने पर लिफाफा पुश करने के लिए अच्छा है: यह आपके संदर्भ पर जोखिम सहिष्णुता :)

    थोड़ा लंबा निर्भर करता है, और। यह आपको वाणिज्यिक दुनिया में देर से काम करने वालों पर एक लाभ देता है, और यह आपको उभरने के साथ ही प्रौद्योगिकी को प्रभावित करने में अधिक लाभ प्रदान करता है।

  • आप को फिर से लिखना कोड, अद्यतन अपने स्रोत है या नहीं करना चाहते हैं, तो जल्दी गोद लेने तुम्हारे लिए नहीं हो सकता है। यह पूरी तरह से ठोस, स्थिर कोड बदलने के लिए है कि कभी नहीं लिखना चाहते हैं के लिए सम्मानजनक है, लेकिन यह पूरी तरह आप (और अपने व्यापार के संदर्भ)

1

पर निर्भर है देखें Robustness principle:

आरएफसी 761 में (ट्रांसमिशन नियंत्रण प्रोटोकॉल, 1 9 80) अमेरिकी कंप्यूटर वैज्ञानिक जॉन पोस्टेल ने को इंटरनेट प्रोटोकॉल (सीएफ। के लिए इंटरऑपरेबिलिटी मानदंडों के पूर्व संचार के पहले संचार का सारांश दिया।IEN 111 1, आरएफसी 760) इस प्रकार है:

टीसीपी कार्यान्वयन मजबूती के सामान्य सिद्धांत का पालन करना चाहिए: आप क्या करते हैं में रूढ़िवादी, आप क्या दूसरों से स्वीकार में उदार होना

तो, imho, नहीं।

+1

पर नजर रखें यह भी एक अच्छा सिद्धांत है। (लेकिन हम कभी भी तकनीक की स्थिति में सुधार कैसे कर रहे हैं यदि हर कोई जो करता है उसमें रूढ़िवादी है?) मैं इस बात का मुकाबला करूंगा कि यह सिद्धांत मुख्य रूप से कोर आर्किटेक्चर टुकड़ों पर लागू होता है जो बहुत स्थिर होना चाहिए ... बस मेरे दूसरे की तरह प्वाइंट :) हालांकि एक अच्छे जवाब के लिए +1। –

+0

@ जॉन वेल्डन, मुझे लगता है कि ऐतिहासिक रूप से विभिन्न विक्रेताओं से टीसीपी कार्यान्वयन के बीच भिन्नता थी। इसलिए इस संदर्भ में रूढ़िवादी होने का मतलब है spec के पालन में रूढ़िवादी होना। मुझे लगता है कि यह सिद्धांत किसी भी चीज पर लागू होता है जिसके लिए क्रॉस-प्लेटफार्म इंटरऑपरेबिलिटी की आवश्यकता होती है, जिसमें कई ब्राउज़रों के साथ एचटीएमएल भी शामिल है। –

+0

अच्छा बिंदु। मैं एक तरफ से सहमत हूं, लेकिन दूसरी तरफ * हर * स्थिति के लिए थोड़ा सीमित लगता है। हो सकता है कि एक कॉर्पोरेट साइट पर, या एक सरकारी वेब पेज पर, लेकिन अन्य कम कठोर वातावरण के बारे में क्या? अच्छी चर्चा :) सर्वर पक्ष सत्यापन के लिए –

2

यदि आपका पृष्ठ खोज इंजन प्लेसमेंट पर भारी निर्भर करता है, तो यह विचार करने योग्य हो सकता है कि कुछ इंजन HTML को सत्यापित करने के लिए प्राथमिकता देते हैं (स्रोत: http://www.hobo-web.co.uk/seo-blog/index.php/official-google-prefers-valid-html-css/)।

इसके अलावा, यह ध्यान देने योग्य है कि नए दिनांक इनपुट तत्वों (जैसे कि ओपेरा, संभवतः अन्य में) पर निर्भर करने के लिए डेवलपर के हिस्से पर अधिक सुविधा की अनुमति मिलती है, यह आमतौर पर अधिक जटिल जावास्क्रिप्ट नियंत्रणों को रोकता है जो बेहतर होगा सर्वर पुराने ब्राउज़र (आमतौर पर एक साधारण पाठ इनपुट फ़ील्ड पर वापस आते हैं)।

बेशक और हमेशा के रूप में, ब्राउज़र पक्ष चेक पर भरोसा न करें और सभी इनपुट सर्वर पक्ष को मान्य करें।

+0

+1! – Treb

+1

बेशक, मैं सर्वरसाइड सत्यापन के बिना कभी नहीं जाऊंगा। इसके अलावा क्लाइंट साइड सत्यापन (कभी भी प्रतिस्थापन में नहीं) होने से यह बहुत अधिक उपयोगकर्ता के अनुकूल हो सकता है हालांकि –

+0

अनचेक पेज सबमिट करने की तरह कुछ भी नहीं है और फिर उसे लाल रंग में चिह्नित किया गया है या अस्पष्ट सत्यापन त्रुटियों से खाली किया गया है, मुझे स्वीकार करना होगा। – Jon

2

कृपया कम से कम एक ब्राउज़र में परीक्षण करने से पहले नई सुविधाओं का उपयोग न करें। उदाहरण के लिए, यदि आप अब फॉर्म फीचर्स का उपयोग करते हैं, तो ओपेरा में परीक्षण करना सुनिश्चित करें। अन्यथा, आप वहां एक जहरीले विरासत में योगदान करके अच्छे से अधिक नुकसान करेंगे।

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

एक older answer भी देखें।

1

मैं HTML से नई सुविधाओं को तब तक लागू नहीं करूंगा जब तक कम से कम उन्हें सभी प्रमुख ब्राउज़रों से समर्थन न हो।

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

नए फॉर्म प्रकारों का स्वागत है, फिर भी फॉर्म को सर्वर की तरफ चेक करना होगा।

एचटीएमएल 5 मौजूदा दस्तावेजों को पास करने के लिए बहुत सारे प्रयास और अनुकूलन की आवश्यकता होगी और मेरे अनुमान में रातोंरात नहीं होगा। कम से कम 3 साल की अपेक्षा करें जब तक कि यह मुख्यधारा को प्रभावित न करे।

0

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

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