نحوه تعامل با استانداردهای HTML

شنبه 30 شهریور 1398

استانداردهای HTML مزایای بسیار زیادی را در اختیار توسعه دهندگان وب قرار می دهند، در این مطلب درباره تعامل با استانداردهای HTML صحبت می کنیم.

 نحوه تعامل با استانداردهای HTML

یکی از نکات جالب درباره استانداردهای dueling در HTML5 این است که تعداد بسیار زیادی از آنها وجود دارد که می توانید آنها را انتخاب نمایید و از آنها استفاده کنید. این امکان از مدت ها قبل در اینترنت وجود داشت اما با این حال هنوز هم در حال توسعه است که این موضوع باعث می شود تا حجم آن افزایش پیدا کند. با استفاده از چندین نسخه موازی HTML تمامی مرورگرهای مختلف که در حال حاضر از آنها استفاده می شود همه آنها نسخه های مختلف HTML را به روش های مختلف پیاده سازی کرده اند. با این وجود به نظر می رسد که در آینده شبکه جهانی اینترنت ویژگی های زیادی خواهد داشت.


چند سوال مقدماتی

برای بسیاری از ما که در حوزه IT فعالیت داریم( به صورت کلی افرادی که سیستم ها و مرورگرهایی که مردم عادی از آنها استفاده می کنند را نصب، تست و پشتیبانی می کنند) تصمیم گیری درباره شبکه جهانی اینترنت و اپلیکیشن های تحت وب هایپرتکست یک موضوع آکادمیک است، درباره این موضوع سوالات مختلفی مطرح می شود.

چگونه باید مرورگرهایی که رفتار آنها دقیقا مانند یک مایع است و به جای اینکه تغییرات آنها ماهانه باشد، تغییرات آنها هفتگی شده است را پشتیبانی کنیم؟ و چگونه باید بدون آنکه سازگاری های قبلی را از بین ببریم به ویژگی های جدید HTML دست پیدا کنیم؟

برای پاسخ دادن به این سوالات و کشیدن یک نمودار برای دوره HTML بهتر است اطلاعاتی در خصوص پیش زمینه موسسات آگوست بدست آورید.

 HTML


اطلاعاتی در خصوص W3C

کنسرسیوم شبکه جهانی وب که به اختصار W3c نامیده می شود یک سازمان تنظیم استاندارد است که به طور مستقیم مسئول وب است، این سازمان در سال 1994 میلادی به عنوان روشی واحد و سازگار برای استفاده از HTML ساخته شده است، که البته تاسیس آن دو هزینه مختلف را در بر داشت:

اولین مورد شامل اجرای قوانین بود، استانداردهای W3C توصیه هایی هستند که توسط هیچ نیروی اجرایی پشتیبانی نمی شوند، دلیل این امر این است که تلاش هایی که در اوایل دهه 2000 برای ارائه یک آزمایش تطابق رسمی برای W3C به دلیل نگرانی هایی که در خصوص اقتدار گرا بودن این گروه بود از بین رفت.

هزینه دیگری که برای این کار صورت گرفت سرعت تصمیم گیری بود، W3C که افراد و شرکت های مختلفی در آن عضویت داشتند. از آنجایی که بسیار بی پروا و بی بند و بار بودند بسیار مورد انتقاد قرار می گرفتند، بعد از آنکه XHTML 1.1 در سال 2001 منتشر شد W3C تا سال 2006 کار کردند تا بتوانند  XHTML 2.0 را منتشر کنند، قطعا چنین سرعتی برای دنیای وب مناسب نبود.

 HTML


از طرف دیگر با WHATWG آشنا شوید

اصلا جای تعجب نیست که در گذشته گروه دیگری که با نام the Web Hypertext Application Technology Working Group یا به اختصار WHATWG بر روی توسعه اچ تی ام ال و API های مورد نیاز برای اپلیکیشن های تحت وب کار می کردند. WHATWG در واقعی گروهی بودند که از مهندسان اپل، موزیلا و اپرا تشکیل شده بودند، هر سه این افراد در بازار مرورگرها دست به دست هم دادند و این موضوع نیز باعث شد تا WHATWG پیشرفت بسیار زیادی کند.

جفری هاموند محقق فارستر درباره این گروه توضیح می دهد که : "WHATWG بسیار سریع عمل کرده است و قادر است که به صورت مستقیم بر روی استانداردها عمل کند چرا که بسیاری از اعضای این گروه دارای مرورگرهایی هستند که کاربران به آنها اعتماد دارند. این گروه در واقع از یک قانون طلایی پیروی می کند که آن قانون این است: "هر کسی که طلا( در این مورد مرورگر) دارد قوانین را می سازد.

 HTML


آشنایی بیشتر با این گروه

جفری هاموند درباره این گروه می گوید که اغلب اقدامات سریع این گروه بیشتر از اقدامات گروه W3C مورد قبول قرار می گیرد و بیشتر شبیه به یک استاندارد واقعی قرار می گیرد و با سرعت بیشتری نیز به عنوان یک استاندارد قرار می گیرد.

یک نکته قابل توجه درباره این موضوع این است که کار گروه WHATWG با HTML5 توسط گروه W3C در سال 2007 به عنوان یک استاندارد پایه مورد تصویب قرار گرفت. علاوه بر این، گروه W3C کار کردن بر روی XHTML 2.0 را به خاطر اچ تی ام ال 5 کنار گذاشتند.

 HTML


نکاتی مهم درباره گروه WHATWG

کریستین مک ماهون مدیر ارشد سابق GoIndustry DoveBid و مشاور فعلی مدیریت توسعه وب این شرکت می گوید: " W3C قطعا به شکل استادانه تر و با مقررات بهتری در استانداردهای وب طراحی شده است اما WHATWG پیشرفت های بیشتری کرده است و بیشتر بر روی اچ تی ام ال و تکنولوژی های مشابه تمرکز کرده است.

در پایان مک ماهون و سایر ناظران این صنعت به توافق رسیدند که این دو گروه بیشترین همکاری را با یکدیگر دارند و با یکدیگر رقابت نمی کنند. در واقع آنها ادعا دارند که همکاری این دو گروه بهترین راه برای ثبات در استانداردهای پیشنهادی توسط این دو گروه است.

 HTML


وضعیت فعلی HTML

به دلیل این عقب ماندن بین دو گروه WHATWG و W3C وضعیت فعلی استانداردهای وب هنوز هم پیش می رود و در حال جلو رفتن  است و بسیاری از کارشناسان این زمینه اعتقاد دارند که ممکن است در نقطه ای بسیار عجیب به پایان برسد.

 HTML


HTML یک استاندارد زنده است

گیج کننده ترین و شاید بتوان گفت پریشان کننده ترین وضعیت فعلی استانداردهای تحت وب علی الخصوص برای مدیران IT این است که HTML5 به عنوان یک خصوصیت منسجم و واحد عمل نمی کند بلکه به عنوان مجموعه ای از ویژگی های متفاوت است تحت این نام در کنار یکدیگر کنار آمده اند. نکته مهمی که باید در خصوص آن بدانید این است که پشتیبانی از هر یک از ویژگی های این استاندارد کاملا بستگی به مرورگری دارد که کاربران از آن استفاده می کنند که از جمله این ویژگی ها می توان به مواردی مانند تگ ویدئو، native drag-and-drop، API کار کردن با فایل ها اشاره کرد.

در نتیجه این موضوع انتخاب هر یک از این ویژگی ها و پشتیبانی کردن از آنها به صورت مداوم کاری بسیار سخت است، هر برنامه ریزی بلند مدتی برای انجام این کار باید بر اساس یک محصول( مرورگر) خاص انجام شود نه بر اساس یک ویژگی خاص. این موضوع می تواند باعث سردرگمی بیشتر افراد فعال در حوزه IT شود، آیا این برنامه ریزی نباید برای یک استاندارد باشد و نه یک محصول؟ و آیا این استاندارد نیست که باید انتخاب های خود را دیکته کند؟

 HTML


جدول زمانی مشخص نیست

به این ترتیب اگر HTML مجموعه از ویژگی های در حال تحول باشند، نه یک مجموعه کامل بنابراین واضح نیست که یک ویژگی دقیقا چه زمانی در دسترس خواهد بود. مرورگرهای مختلف سطوح مختلفی برای پشتیبانی از HTML5 دارند که به آن معنا است که دسترسی به بسیاری از ویژگی ها کاملا بستگی به مرورگری دارد که از آن استفاده می کنید و البته بستگی به ورژنی دارد که از آن برای این کار استفاده می کنید.

نکته دیگر این است که مشخص نیست که یک ویژگی خاص چه زمانی و به چه شکلی در یک مرورگر خاص نمایش داده می شود، شما در حال حاضر تنها می توانید نسبت به ویژگی های که در دسترس هستند، مطمئن باشید.

 HTML


مرورگرها در حال استاندارد شدن هستند

آخرین نتیجه گیری از این موضوع این است که برخی مرورگرهای خاص( و البته گاهی اوقات برخی از نسخه های خاص مرورگرهای خاص) تنها روش قابل اطمینان برای پیاده سازی HTML5 هستند. به عنوان مثال مرورگر کروم از لحاظ تاریخی همواره پشتیبانی خوبی از اچ تی ام ال 5 داشته است و بعد از آن نیز مرورگرهای سافاری، فایرفاکس و اینترنت اکسپلورر در رتبه های بعدی این لیست قرار گرفته اند.

 HTML


این موضوع در IT به چه معنا است؟

در دنیای IT واقعا منظور از مرورگرهای استاندارد جدید چیست؟ آیا ما باید منتظر باشیم تا دو گروه WHATWG و W3C کلمه ای جدید را به عنوان یک استاندارد جدید در دنیای وب معرفی کنند؟ مهمتر از همه، آیا ما باید کاربران خود( و یا حتی خودمان) را به یک نسخه به روز رسانی شده از یک مرورگر ارسال کنیم تا بتوانیم در صدر این موارد باقی بمانیم؟

خوشبختانه پاسخ به هر دو این سوالات خیر است که این موضوع سه دلیل دارد که در ادامه آنها را به طور مشخص بیان خواهیم کرد.

 HTML


دلیل اول پیاده سازی استانداردهای trump در HTML

حداقل برای افراد فعال در حوزه IT آنها بیشتر درباره چیزهایی که در حال حاضر وجود دارند نگران هستند چرا که کاربران در وهله اول از همین موارد استفاده می کنند. Jay Hemmady که در حال حاضر به عنوان یک مشاور مستقل به شمار می آید و قبلا مدیر ارشد منطقه ای حمل و نقل بازار و همینطور CTO سابق Bidwell( که در حال حاضر با نام Ameritrade) شناخته می شود می گوید: " فروشگاه های کلاسیک فناوری اطلاعات در واقع اصلی ترین مصرف کننده های فناوری هستند".

به عنوان یک شوخی مثال زیر را در نظر بگیرید:

کمتر کسی در حال حاضر درباره اینکه Xerox کسی بود که GUI که ما در حال حاضر آن را می شناسیم را اختراع کرده است، افراد مختلف تنها به نحوه اجرای آن بر روی دسکتاپ خود اهمیت می دهند. به همین ترتیب برای اکثر فروشگاه های اینترنتی هدف استفاده از تگ مربوط به ویدئو HTML5 نیست، بلکه هدف این است که بهترین راه برای رندر کردن ویدئو با استفاده از یک مرورگر پیشنهاد شده است. به عبارت دیگر استانداردها بدون آنکه توان اجرایی داشته باشند اهمیتی ندارند.

این موضوع به این معنا است که افراد فعال در حوزه IT باید به این موضوع توجه داشته باشند که چه ویژگی هایی در مرورگرها نشان داده می شود و اجازه می دهند که کدام استانداردها به شکل حال حاضر خود ادامه دهند.

 HTML


دلیل دوم این که استفاده از product versions راحت تر از استانداردهای HTML است

این کار بسیار راحت است که چیزی را برای یک مرورگر خاص بسازید( با استفاده از یک تکرار خاص در آن مرورگر) راحت تر از نوشتن آن به صورت انتزاعی است. علاوه بر این مرورگرها تمایل دارند که پشتیبانی از ویژگی های خود را در طول زمان گسترش دهند نه اینکه آنها را کوچکتر کنند. این موضوع باعث می شود تا هدف گذاری مرورگرها راحت تر انجام شود.

Forrester's Hammond موافقت کرده است که دیگران IT باید بر روی سیستم عامل ها و مرورگرهای خاص تمرکز کنند( نه مفاهیم مرورگرها به صورت خاص)، او اذعان دارد که این استراتژی نیازمند انجام بعضی از کارها است. وی توصیه می کند:" در مرورگرها از استانداردهای HTML5 استفاده کنید تا بفهمید چه چیزی در آن مرورگر موثر است و چه چیزی را نمی توان در آن مرورگر انجام داد.

او همچنین درباره این موضوع می گوید: " یک استراتژی پیشرفته معمولا به این شکل است که از محتوای متنی اولیه شروع می شود و با شناسایی مرورگرهایی که از ویژگی های پیشرفته پشتیبانی می کنند UI آن اضافه می شود. در آخر از کتابخانه ای مانند Modernizr برای اینکه متوجه شوید چه ویژگی هایی در مرورگر شما پشتیبانی می شوند استفاده کنید. شما برای شروع کار می توانید از الگویی مانند Boilerplate استفاده کنید.

 HTML


دلیل سوم این است که کار کردن با محصولات راحت تر از کار کردن با استانداردها در HTML است

در کوتاه مدت تعویض و یا به روز رسانی مرورگرها بسیار ساده تر از آن است که بتواند بر روی توسعه یک استاندارد خاص تاثیرگذار باشد. شما حتی در مواردی می توانید با صحبت با سازنده مرورگر ویژگی مد نظر خود را به آن اضافه کنید.( البته توجه داشته باشید که مورد دوم تنها در صورتی کار می کند که وب سایت شما در بسیاری از موارد از این ویژگی استفاده کند که البته در این مورد نیز هیچ تضمینی برای کار کردن آن وجود ندارد).

Hemmady در این باره می گوید: " این تولیدکنندگان محصولات هستند که از استانداردها استفاده می کنند و یا تصمیم می گیرند که از آنها استفاده نکنند. فروشگاه های IT تنها محصولات را بدست می آورند. سازندگان محصولات ممکن است نگرانی در خصوص بدنه استانداردها نداشته باشند و حتی درباره بخش IT نیز نگرانی خاصی نداشته باشند. سازگاری، ادغام و هم زیستی برای بخش های مربوط به IT بسیار مهمتر از پیروی از استانداردها است.

 HTML


نحوه تعامل و مقابله کردن( بخش اول)

طبق توافقی که صورت گرفته است وظیفه بخش IT این است که به بدنه تنظیمات استاندارد اجازه دهد که کار خود را انجام دهند و بر روی هدف قرار دادن مرورگرهای خاص برای ارائه ویژگی های مورد نظر HTML 5 تمرکز کنند. اما بهترین راه برای رسیدن به این هدف بدون اینکه خود شما، بخش کاری خودتان و کاربران خود را سر درگم کنید چیست؟

یک روش امکان پذیر در تنظیمات مرورگر که مرورگر شما بر روی آنها تنظیم شده است این است که مرورگر را تا حد امکان از تمامی وابستگی ها جدا کنید. مجازی سازی از راه دور یک بکارگیری نرم افزارهای self-contained مانند PortableApps دو راه خوب برای انجام این کار هستند. بعد از انجام این کار شما می توانید مستقل از هر چیز دیگری بر روی سیستم و با کمترین میزان وابستگی به چیزهای خارجی مرورگر را ارتقا دهید.

اگر شما مرورگری را انتخاب کرده اید که چرخه به روزرسانی آن نسبتا خوب است این رویکرد می تواند مزایای زیادی برای شما داشته باشد. به روزرسانی ها می توانند به جای سازنده مرورگر توسط تیم IT انجام شوند.

برای افرادی که برنامه های عمومی را توسعه می دهند یک توصیه مهم داریم و آن این است که: صبر کنید تا یک ویژگی خاص توسط مرورگرهای اصلی پشتیبانی شود تا بتوانید از آن در مرورگر خود استفاده کنید. شما می توانید آمار استفاده از اپلیکیشن خود را از بخش Log در سایت خود مشاهده کنید. برای گرفتن تصمیم درباره این موضوع که از کدام مرورگرها استفاده نکنید تنها به بازخورد کاربران خود توجه نکنید و سعی کنید از این اطلاعات نیز نهایت استفاده را کنید.

تا جایی که می توانید توسعه کدهای HTML 5 را از بخش مربوط به توسعه کدهای HTML 4 و همینطور XHTML جدا کنید. دو مورد آخر تقریبا پایدار و شناخته شده هستند. از طرف دیگر HTML 5 دارای عناصر بسیار زیادی است که هنوز رسمی نشده اند بنابراین شما نباید به صورت رسمی برای هر یک از آنها پشتیبانی را اضافه کنید تا زمانی که اکثر مرورگرها این عناصر را داشته باشند و در تقریبا بیشتر مرورگرها اجرا شوند.

 HTML


نحوه تعامل و مقابله کردن( بخش دوم)

به خاطر داشته باشید که این موضوع برای سازندگان مرورگرها نسبت به افراد فعال در حوزه IT متفاوت خواهد بود، در این حالت ما واقعا کار راحت تری نسبت به توسعه دهندگان محصولات تجاری داریم چرا که بخش های فناوری به طور معمول به رقابت با یکدیگر نمی پردازند و بیشتر در خدمت کاربران خود هستند.

چه زمانی تمامی اینها ما را رها می کنند؟ افراد باهوشی که در حوزه IT فعالیت دارند در حال رقابت درباره آینده دنیای وب هستند.

توجه داشته باشید که ما در این مرحله قصد نداریم که تکامل HTML5 را تکذیب کنیم اما با این حال استفاده از آن در این مرحله نیز غیر قابل اجتناب است چرا که یک دنیای جدید را در طراحی وب در مقابل شما قرار می دهد.

هاموند درباره آن می گوید: " ما در یک دوره رنج کوتاه مدت قرار داریم تا بتوانیم به یک موفقیت طولانی مدت دست پیدا کنیم. " او همچنین ادامه می دهد: " این سختگیری ها باعث می شود تا مرورگرها قطعه قطعه شوند و علاوه بر این باعث می شود تا نوآوری های جدیدی در این زمینه به ثبت رسد. در نتیجه این موضوع نیز سطح پشتیبانی از استانداردها و همینطور استانداردهای پیشنهادی نیز افزایش پیدا خواهند کرد و در این مسیر استفاده می شوند.

 HTML


نکات پایانی درباره این موضوع

هاموند پیش بینی می کند که بعد از آنکه این استانداردها به ثبت رسیدند، باید بسیاری از مشکلاتی که در دنیای طراحی وب وجود دارد حل شود، در واقع ادعای او اینچنین است که بعد از به ثبت رسیدن این استانداردها حمایت های زیادی از آنها خواهد شد. نکته دیگری که او بیان می کند این است که در این زمینه پایدار بمانید و از این دوره نهایت لذت را ببرید چرا که این تحولات می توانند تبدیل به تجربه هایی فوق العاده برای شما در آینده شوند.

ایمان مدائنی

نویسنده 1299 مقاله در برنامه نویسان
  • C#.net
  • 1k بازدید
  • 0 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

تاکنون هیچ کاربری از این پست تشکر نکرده است

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید