مختصر تاريخ لغات التوصيف

يسرنا أن نقدم لكم الفصل الأول من كتاب HTML5 لمصممين الويب (HTML5 for Web Designers) من قبل الكاتب Jeremy Keith (A Book Apart, 2010).

إن HTML هي اللغة التي توحد شبكة الويب العالمية. باستخدام الأوسمة البسيطة التي تحويها فقط  تمكن الإنسان من إنشاء شبكات متنوعة و بشكل مذهل من المستندات المترابطة، إبتداءً من أمازون، إي بي، و ويكبيديا و انتهاءً بالمدونات الشخصية و المواقع المخصصة للقطط التي تشبه هتلر.

إن HTML5 هي النسخة الأخيرة من هذه اللغة المشتركة. بينما تعد التغيير الأكثر طموحاً للساننا المشترك، فإن هذه ليست المرة الأولى التي يتم فيها تحديث HTML. كانت اللغة قيد التطوير من البداية.

كما الحال مع الويب نفسها، إن لغة النص التشعبي كانت إحدى بنات أفكار السيد Tim Berners-Lee. في عام 1991 كتب مستنداً بعنوان “أوسمة HTML” و الذي اقترح فيه أقل من دزينتين من العناصر التي يمكن أن تستخدم لكتابة صفحات الويب.

لم يأت السيد تيم بفكرة استخدام الأوسمة التي تتكون من كلمات بين أقواس، فتلك الأنواع من الأوسمة كانت موجودة مسبقاً في تنسيق SGML (لغة العلامات القياسية العامة). بدلاً من اختراع معيار جديد، رأى السيد تيم الفائدة من في البناء على ما هو موجود مسبقاً –هذا التوجه مازال يمكن رؤيته في تطوير HTML5.

من IETF إلى W3C: الطريق إلى HTML4

لم يكن هناك  HTML 1. التوصيف الرسمي الأول كان HTML2، نشر من قبل  IETF (فرقة عمل هندسة الإنترنت). العديد من الميزات في هذا التوصيف تم أخذه من التطبيقات الموجودة. كمثال، مستعرض الويب الرائد في السوق عام 1994 موزاييك كان قد وفر قبل ذلك طريقة للمؤلفين كي يتمكنوا من تضمين صور في مستنداتهم باستخدام الوسم <img>. عنصر img ظهر لاحقاً في توصيف HTML2.

إن الإتحاد العالمي لشبكة الوب W3C أصبح يقوم بدور IETF حيث تم اصدار عدة نسخ من معايير HTML ضمن موقع http://www.w3c.org. النصف الخير من التسعينات شهد موجة من التحسينات على المعايير إلى أن صدرت HTML 4.01 عام 1999.

في ذلك الوقت واجهت HTML أول نقطة انعطاف رئيسية لها.

XHTML1: HTML كـ XML

بعد صدور HTML 4.01، فإن النسخة التالية للغة سميت XHTML 1.0. إن حرف X كان يدل على كلمة “eXtreme” و كان على مطورين الويب أن يجعلوا أيديهم على شكل حرف X عند نطق هذا الحرف.

لا، هذا ليس حقيقياً (مزحة). كان X يدل على على قابلية التوسع “eXtensible”. جعل الأذرع على شكل الحرف X كان اختيارياً بشكل كلي.

إن محتوى توصيفات XHTML 1.0 كان مطابقاً لـ HTML 4.01. فلم يتم إضافة أي عناصرأو سمات جديدة. الاختلاف الوحيد كان في بنية اللغة. في حين أن HTML سمحت للمؤلفين بالكثير من الحرية في كيفية كتابة عناصرهم و سماتهم، فإن XHTML طلبت من المؤلفين اتباع قواعد لغة XML، و التي هي لغة نصية أكثر صرامة و التي كانت W3C تبني عليها أغلب تقنياتها.

كون القواعد أكثر صرامة ليس أمراً سيئاً. فقد شجع ذلك المؤلفين على استخدام أسلوب كتابة واحد. بينما أمكن كتابة العناصر والسمات السابقة بأحرف كبيرة، صغيرة، أو أي خليط بينهما لذا، فإن مستند XHTML 1.0 الصالح يتطلب أن تكون جميع العناصر والسمات مكتوبة بأحرف صغيرة.

تزامن اصدار XHTML 1.0 مع تصاعد دعم المتصفحات للـ CSS. مع تقبل مصممين الويب لظهور معايير الويب، بقيادة مشروع معايير الويب، فأن البنية الأكثر صرامة للغة  XHTMLينظر لها على أنها “أفضل تجربة” لكتابة النص.

ثم قامت W3C بنشر XHTML 1.1.

في الوقت الذي كانت XHTML 1.0 ببساطة مجرد HTML على شكل XML، كانت XHTML 1.1 حقيقية. فقط كانت XML حقيقية. ذلك يعني أنها لا يمكن أن تعمل باستخدام نمط text/html. لكن إذا نشر المؤلفون مستنداً باستخدام نمط XML، فإن المتصفح الأكثر شهرة في العالم في ذلك الوقت – إنترنت إكسبلورر – لن يتمكن من عرض المستند.

كان يبدو أن W3C كانت تفقد التواصل مع واقع النشر اليومي على الويب.

XHTML 2: أها، لن نأخذها بعين الاعتبار!

لو أن شخصية الممثل داستين هافمان (Dustin Hoffman) في فيلم الخريج (The Graduate) كانت مصمم ويب، فإن W3C كانت ستقول له كلمة واحدة، فقط كلمة واحدة: XML.

بالقدر الذي كانت W3C قلقة، فإن HTML كانت قد انتهت اعتباراً من الاصدار 4. كانوا قد بدؤوا بالعمل على XHTML 2، و التي تم تصميمها كي تقود الويب نحو مستقبل مشرق يعتمد على XML.

على الرغم من أن الاسم XHTML 2  بدا مشابهاً لـ XHTML 1، فلم يكن هناك أي اختلاف بينهما. على عكس XHTML1، فإن XHTML2 كان لا يدعم النسخ السابقة مع محتويات الويب أو حتى الإصدارات السابقة من HTML. بدلاً من ذلك، فإنها كانت ستكون لغة صرفة، بدون أعباء التوصيفات السابقة.

كانت كارثة.

الإنشقاق: فريق عمل WHATWG؟

تشكلت حركة تمرد ضمن W3C. فقد بدا أن الهيئة تشكل بشكل نظري معايير صرفة غير مرتبطة بحاجات مصممين الويب و كان ممثلوا كل من أوبرا، أبل، و موزيلا غير مسرورين بهذا الاتجاه. فقد أرادو تركيزاً أكبر على الصيغ التي تسمح بإنشاء تطبيقات الويب.

خلال ورشة عمل في عام 2004 وصلت الأمور إلى ذروتها. إيان هيكسون (Ian Hickson) الذي كان يعمل لصالح شركة أوبرا في ذلك الوقت اقترح فكرة توسيع HTML لتسمح إنشاء تطبيقات الويب. لكن هذا المقترح تم رفضه.

و شكل المتمردون الغير متضررين مجموعتهم الخاصة: مجموعة عمل تكنولوجيا تطبيقات الويب التشعبي أو WHATWG اختصاراً.

من تطبيقات الويب 1 إلى HTML5

منذ البداية عملت مجموعة WHATWG بشكل مختلف تماماً عن W3C. فقد كانت W3C تستخدم طريقة توافق الآراء: يتم طرح المواضيع، تناقش، و يتم التصويت عليها. أما في WHATWG، أيضاً يتم طرح و مناقشة المواضيع، لكن القرار النهائي لما سيتم اعتماده في التوصيفات يبقى للمحرر و هو إيان هيكسون.

ظاهرياً، يبدو أن عمل W3C أكثر ديمقراطيةً و عدلاً. لكن عملياً، السياسات و المشاحنات الداخلية تستطيع أن تعيق تقدم العمل. في WHATWG، حيث الجميع لهم الحرية في المشاركة لكن المحرر له الكلمة الأخيرة، فالأمور تجري بشكل أسرع. لكن المحرر لا يملك سلطة مطلقة و تامة: و يمكن فقط أن يتم عزله بدعوة من لجنة توجيهية و هذا من غير المحتمل في حالة سترينجلاف.

بدايةً، معظم العمل في WHATWG تم فصله إلى قسمين من التوصيفات: نماذج ويب (Web Forms 2.0) و تطبيقات ويب (Web Apps 1.0) كلا التوصيفان يهدفان إلى توسيع HTML. لكن مع الوقت تم دمجهما في مواصفات واحدة سميت ببساطة HTML5.

إعادة الاتحاد

بينما كان HTML5 قد طور في WHATWG، فإن W3C استمرت بالعمل على XHTML 2. قد لا يكون دقيقاً أن نقول أنها كانت تتم بسرعة. بل إنها كانت تجري ببطء شديد جداً.

في تشرين الأول/ أكتوبر، كتب السيد تيم بيرنرز لي تدوينة أقر فيها أن المحاولة في نقل الويب من HTML إلى XML لم تكن ناجحة. بعد عدة أشهر، أصدرت W3C ميثاقاً جديداً لمجموعة عمل HTML. بدلاً من البدء من الصفر، اتخذوا قراراً حكيماً بأن يتم استخدام ناتج عمل مجموعة WHATWG كأساس لأي اصدار مستقبلي من HTML.

كل هذا التوقف و البدء أدى إلى وضع مربك نوعاً ما. كانت W3C تعمل في نفس الوقت على نوعين مختلفين و غير متوافقين من العلامات:  XHTML 2و HTML 5 (لاحظ الفراغ قبل الرقم خمسة). في نفس الوقت منظمة منفصلة، و هي WHATWG، كانت تعمل على توصيفات تدعى HTML5 (بدون فراغ) و التي ستستخدم كأساس لإحدى التوصيفات الخاصة بـ W3C.

أي محاولة من مصممين الويب لفهم هذا الوضع ستجعل عملية فك رموز ماراثون الأفلام Momento، Primer و الأعمال الكاملة لديفيد لينش (David Lynch).

XHTML قد ماتت:  نتمنى لبنية XHTML حياة مديدة

بدأ ضباب الارتباك بالزوال عام 2009. عندما أعلنت W3C أن وثيقة HTML 2 لن يتم تجديدها. حيث أن الصيغة كانت جيدة لدرجة أنها ماتت منذ عدة سنوات; فقد كان هذا الإعلان أكثر من شهادة وفاة لها.

بشكل غريب، بدلاًمن أن يمر دون ملاحظة أحد، كان موت XHTML 2 قد استقبل ببعض الشماتة.  فمعارضوا XML استخدموا الاعلان كفرصة للسخرية من أي شخص سبق له و استخدم XHTML 1– على الرغم من أنه لا يوجد أي شيء مشترك بين XHTML 1 و XHTML 2.

في هذه الأثناء، أصبح المؤلفون الذين كانوا يكتبون باستخدام XHTML 1 كي يفرضوا نمط كتابة أكثر صرامة يقلقون بأن HTML5 ستنادي بعودة العلامات السيئة.

كما سترى قريباً،ذلك لن يكون هذا بالضرورة صحيحاً. إن HTML5 هي بقدر التساهل أو الصرامة التي تريدها.

الخط الزمني لـ HTML5

إن الحالة الراهة لـ HTML5 ليس مربكة كما كانت من قبل، لكن لا تزال غير واضحة بعد.

هنالك مجموعتان تعملان على HTML5. مجموعة WHATWG تعمل على خلق توصيفات HTML5 باستخدام طريقة عملها الخاصة “اعتمد ثم راجع”. و مجموعة W3C الخاصة بـ HTML تعمل على أخذ تلك التوصيفات و تضعها ضمن طريقتها الخاصة في العمل “راجع ثم اعتمد”. كما يمكنك أن تتخيل، هذا تحالف غير ضروري. و مع ذلك، أخيراً يبدو أن هناك بعض التوافق حول السؤال المزعج “فراغ أوبدون فراغ” (الجواب هو HTML5 بدون فراغ، فقط إذا كنت مهتماً).

قد يكون الأمر الأكثر إزعاجاً لمصممين الويب الذين بدؤوا باستخدام HTML5 هو الحصول على جواب للسؤال، “متى ستكون جاهزة؟”

في مقابلة، ذكر إيان هيكسون أن العام 2022 سيكون العام المتوقع لتصبح فيه HTML5 التوصية المقترحة. تبع ذلك موجة من الغضب الشعبي من بعض مصممي الويب. لأنهو لم يفهموا معنى “التوصية المقترحة”، لكنهم كانوا على علم أنهم لا يملكون ما يكفي من الأصابع ليعدوا السنين حتى عام 2022.

كان الغضب بلا مبرر. في هذه الحالة، الوصول إلى حالة “التوصية المقترحة” يتطلب تطبيقان كاملان للـ HTML5. إذا آخذنامجال التوصيفات بعين الاعتبار،  فإننا سنجد أن هذا التاريخ طموح جداً. بعد كل هذا، فالمتصفحات ليس لديها أفضل سجل في تطبيق المعايير الموجودة. استغرق إنترنت إكسبلورر أكثر من عقدمن الزمان لإضافة عنصر abbr.

إن التاريخ المهم فعلاً لـ HTML5 هو 2012. عندها ستكون التوصيفات قد بلغت الوقت النهائي لتصبح “التوصية المرشحة”. تلك هي لغة المعايير لـ “انتهت و عليها بعض الغبار”.

لكن حتى ذلك التاريخ غير مرتبط بمصممين الويب. ما يهم فهلاً هو متى ستبدأ المتصفحات بدعم الميزات. كنا قد بدأنا استخدام أجزاء من CSS 2.1 حالما بدأت تظهر المتصفحات التي تدعم تلك الأجزاء. إذا كان علينا الانتظار حتى تدعم جميع المتصفحات CSS 2.1 بشكل كامل قبل أن نبدأ باستخدامها، فمن المرجح أننا كنا سنبقى منتظرين.

هذا لا يختلف عن HTML5. لن يكون هناك نقط واحدة في الزمن حيث سنعلن أن اللغة جاهزة للاستخدام. بدلاً من ذلك، بامكاننا استخدام أجزاء من التوصيفات مع بدء دعم المتصفحات لتلك الميزات.

تذكر، أن HTML5  ليست لغة جديدة بالكامل. إنها تغير تطويري و ليس ثوري في قصة العلامات المستمرة. إذا كنت حالياً تنشئ مواقع ويب بأي نسخة HTML، فأنت تستخدم HTML5.

المقال الأصلي

Advertisements

التعليقات مغلقة.

%d مدونون معجبون بهذه: