في الماضي كان تصميم صفحات الويب التفاعلية يتطلب مهارة ودقة تصل احيانا الى مستوى تحقيق المعجزات.. الايام التي اتكلم عنها هي ايام نصوص CGI البرمجية وبيريل وغيرها ومن لغات النصوص البرمجية، التي سادت في ايام الويب الاولى، والتي كانت تهدف بشكل اساسي الى مساعدة المستخدم في تأدية مهام استخلاص المعلومات والتحكم بها عبر الويب.. في تلك الايام كان جمع ومعالجة المعلومات المتعلقة بالمستخدمين يتطلب نصوص CGI والتي كان تشغيلها يتم على الجهاز المزود. ولاستخدام هذه النصوص كان على المطور ان يقوم اولا بتصميم صفحات HTML التي تحتوي على النماذج المخصصة لجميع البيانات من المستخدمين، ومن ثم كتابة نص CGI بلغة سي او بيريل ليعالج ضمن الجهاز المزود المعلومات التي تم جمعها من خلال النماذج. نقطة الضعف الاساسية في هذا النموذج كانت انه في كل مرة كان المستخدم يقوم باستعراض الصفحة، وارسال النموذج، كان على البيانات ان تنتقل من متصفح الويب الى نص CGI والذي كان يقوم بدوره بمعالجة البيانات وارسال النتائج الى المستخدم كصفحة HTML جديدة. وكانت هذه العملية تتكرر كلما قام المستخدمون بتغيير النموذج وبالتالي اغراق المزود بطلبات المعالجة، ومعها وصلة انترنت. وفي هذه الاثناء، كانت شركة نتسكيب، ومديرها العبقري مارك اندريسن يعملون على تطوير الاصدار 2من متصفح نتسكيب نافيجيتور، وكانوا يسعون الى تطوير حل يساعد المستخدمين ومدراء الشبكات على تجاوز مشكلات النصوص البرمجية التقليدية. في ابريل 1995 من ذلك العام اتى الى نتسكيب المبرمج برندان ايخ. وهو مطور كان يعمل في شركة مايكرويونيتي، وشاءت الاقدار ان يكون براند هو مبتكر لغة جافا سكريبت، وهي اللغة التي اصبحت اليوم المقياس الاساسي لتطوير مواقع ويب تفاعلية، واصبحت متضمنة في كيان انترنت الرقمي، كما انها اللغة التي تمكنت نتسكيب بفضلها من تطوير دعم متصفح نتسكيب لبرمجيات جافا «والتي كانت في مهدها آنذاك». عندما وصل آيخ الى نتسكيب كان ذلك بعد عشر سنوات من العمل في مجال التقنية سبع منها كانت مع شركة سيليكون جرافيكس، وثلاث منها مع شركة مايكرو يونيتي في ابريل 1995 كانت نتسكيب لا تزال شركة صغيرة، وكانت تبحث عن مطورين ليعملوا على تطوير لغة النصوص البرمجية يمكنها ان تعمل ضمن المتصفح وذلك لاتمتة صفحات الويب وجعل تجربة المستخدمين على الويب اكثر ديناميكية.في ذلك العام كانت لغة جافا لا تزال في المهد، وكانت نتسكيب من اوائل الشركات التي قامت بترخيص استخدام اللغة، ولكن السؤال ضمن الشركة كان، ماذا نفعل بجافا؟ ام اننا نحتاج الى لغة اخرى.كان المطورون ضمن نتسكيب منقسمين ازاء هذا الموضوع، وكانت حجتهم هي ان جافا بحد ذاتها هي لغة ممتازة للمبرمجين الذين يقومون بانشاء عناصر برمجية، ولكن هناك مجموعة كبيرة من مطوري المواقع الذين ليست لهم الدراية الكافية بكتابة البرمجيات، ولكن يعتمدون على النصوص البرمجية اما بكتابتها من الصفر لحل مشكلات معينة أو يقومون بالحصول عليها جاهزة ومن ثم تعديلها لتناسب حاجاتهم وتتميز هذه الفئة بانهم اقل تخصصا، ويعملون في مجالات تقنية اخرى مثل ادارة الشبكات، وبعد التداول، ومناقشة كافة الخيارات المطروحة قرر المبرمجون تطوير لغة نصوص برمجية تشابه لغة جافا في هيكليتها. ومثل جميع لغات التطوير، استعارت جافا سكريبت في بداياتها من لغات تطوير النصوص البرمجية الاخرى، وما لا يعرفه البعض ان نتسكيب اطلقت على اللغة في البداية اسم لايف سكريبت LIVESCRIPT وهو الاسم الذي طرح مع الاصدار 2 من نتسكيب نافيجيتور في سبتمبر 95، وفي ديسمبر من العام نفسه تم تغيير الاسم الى جافا سكريبت بالاتفاق مع صن مايكروسيستمز. من هو برندان آيخ؟ رغم التأثير الذي احدثه آيخ على عالم تطوير تطبيقات الويب فان هناك القليل مما هو مكتوب عن سيرته الذاتية، عدا ما كتبه مارك اندريسين عنه في عام 98 وهو ما اعتمدنا عليه هنا. يقول اندريسين بأن اهم ما يميز آيخ هو مهاراته التقنية، والتي يصفها بأنها تتعدى كونها قوية، كما ان نظرته الى الامور شمولية، ومهارته في الحديث وعرض المواضيع متقنة وذات سلطة معينة تفرض حضورها على كافة الموجودين من حوله. وآيخ ليس من المبرمجين الذين يجلسون في قماقمهم ينشئون البرمجيات دون اهتمام لرأي المستخدمين، فبرندان كما يقول اندريسين يتابع المجموعات الاخبارية بحماس منقطع النظير، وخصوصا تلك المتعلقة بلغة جافا سكريبت، ويحرص على جمع آراء المستخدمين مهما كانت سلبية ليقوم بتضمينها فيما بعد في الاصدارات الجديدة من اللغة، ويقول اندريسين بأن آيخ كان في بعض الاحيان يقوم بتصليح اللغة او تعديلها خلال 15 دقيقة فقط من قراءته لتعليق عليها في المجموعات الاخبارية. وآيخ من المطورين الذين يحسنون استغلال وقت عملهم خلال النهار، وعند زيارة مكتبه يجد الضيف نفسه مضطرا الى الحديث مع النصف الجانبي لوجه ايخ، والذي لا يرفع نظره عن شاشة الكمبيوتر اثناء الزيارة بل يتابع العمل والحديث في وقت واحد، وعندما ينتهي حديث العمل فان آيخ لا يجد حرجا في اخبار الزائر بأنه مشغول ويجب عليه العودة الى العمل. ويؤمن آيخ بأن انشاء محتوى الويب لا يجب ان يكون ذلك الامر الهائل الذي يقتصر على المطورين المحترفين، او خريجي علوم الكمبويتر، ويقول آيخ في هذا الصدد ان هناك العديد من الفوائد الاقتصادية المرتبطة بالتقليل من تكلفة او صعوبة تطوير محتوى الويب ومشاركته وتجميعه، وهذه هي الفكرة الاساسي التي استند اليها آيخ وهي التي ساهمت في جعل جافا سكريبت اليوم لغة التطوير الاولى للويب، ورغم ان هذه من نقاط قوة جافا سكريبت الاساسية، الا انها ادت ايضا الى استخفاف المطورين الجديين بها، واعتبارها لغة العاب. مايكروسوفت تستجيب من المعروف ان مايكروسوفت هي من الشركات التي عرفت في بداياتها اما بتطوير لغات البرمجية، او تطوير الادوات التي تعين المبرمجين في تطوير برمجياتهم، وقد حافظت مايكروسوفت على صدارتها في هذا المجال الى ان جاءت الويب ولغاتها وعلى رأسه جافا سكريبت، وهنا شعرت مايكروسوفت بالهلع، وبدلا من ان تقوم باعتناق اللغة، قامت بتطوير بديل عنها تمثل في لغة VBSCRIPT وهي لغة مشتقة من لغة فيجيوال بيسيك التي شهدت في اواخر التسعينيات رواجا كبيرا بين المطورين، بل وكانت لغة التطوير الاولى للتطبيقات الموجهة نحو بيئة ويندوز. وقد طورت مايكروسوفت هذه اللغة بحيث يمكنها ايضا ان تقوم بالتواصل مع العناصر المضمنة، رغم ان عملها اقتصر في البداية على بيئة ويندوز. وعلاوة على ذلك قامت مايكروسوفت بانشاء نسخة معدلة من جافا سكريبت اطلقت عليها اسم JSCRIPT في يوليو 96 وقامت بتضمينها في الاصدار الثالث من متصفح انترنت اكسبلورر، ورغم ما تميز به هذا الاصدار من انترنت اكسبلورر من انجازات تقنية هائلة فانه كان متخلفا عن نافيجيتور في دعمه لجافا سكريبت، ولم يرتق اكسبلورر الى المستوى الذي كان نافيجيتور يقدمه بدعم ميزات مثل تبادل الصور، وبقي الحال كذلك حتى الاصدار 302. وفي تلك الفترة كان مصمموا المواقع يقومون بانشاء مواقعهم لدعم نافيجيتور، وكانوا يعتبرون انه لا امل في ان يرتقي اكسبلورر يوما الى ذلك المستوى «وكم كانوا مخطئين في تقديراتهم هذه». وانتهزت كلا من نتسكيب وصن ما يكروسيستمز فرصة غياب مايكروسوفت عن الساحة في تلك الفترة وبدأت تسعى الى جعل جافا سكريبت لغة قياسية مما كان سيؤدي بالتالي الى قطع الطريق كلية على مايكروسوفت، ومنعها من اصدار لغات معدلة من جافا سكريبت في المستقبل كما فعلت في JSCRIPT وكان للشركتين ما اراداته، حيث حصلتا على دعم اتحاد صانعي الكمبيوتر الاوروبيين، والذي قام باعتماد مجموعة اساسية من الميزات تدعم جافا سكريبت، واطلق عليها الاسم ECMASSCRIPT والذي تم اعتماده من قبل مؤسسة الايزو في ابريل 98 وركز هذا المقياس على أساسيات اللغة دون الدخول في التفاصيل واعتماد بعض من الميزات الاضافية التي كانت موجودة في جافا سكريبت، وهو ما يمكن للبعض ان يقول انه كان ضربة لنتسكيب حيث كان آيخ يعمل لأن ذلك افسح المجال لمايكروسوفت كي تدخل من ابواب اخرى وتتحايل على النظام مستغلة الانتشار الواسع لنظام التشغيل ويندوز. وهذا هو ما حدث بالفعل ففي عام 98 وبعد ان بدأ اكسبلورر بالانتشار بشكل يفوق نتسكيب نافيجيتور بدأ المطورون يشعرون بأنه ربما عليهم ان يبدأوا بالتركيز على المتصفح الذي كان يبدو انه سيكسب المعركة بشكل طبيعي نتيجة كونه جزءا من نظام التشغيل، كما وجد الكثير من المطورين انه لا يمكنهم كتابة برمجيات يمكنها ان تكون متوافقة مع المتصفحين من دون التضحية ببعض الميزات الضرورية، والتي كانت الآن متاحة من خلال اكسبلورر، ولذلك بدأ المطورون بهجرة نافيجيتور لصالح اكسبلورر ضمن نظام ويندوز. واثناء حروب المتصفحات في تلك الفترة بدأت شركات مثل مايكروسوفت ونتسكيب والعشرات من الشركات الاخرى بمطالبة الويب W3C بوضع مقياس موحد لنموذج عناصر وثائق الويب DOCUMENT OBJECT MODEL DOM والذي يهدف الى جعل تطبيقات الويب ونصوصها البرمجية متوافقة مع نموذج عناصر الويب القديم. جافا سكريبت اليوم رغم ان جافا سكريبت تحتل مكانة رفيعة بين مطوري الويب، فانها مازالت تعاني حتى اليوم من اثار ولادتها العسيرة، التي رافقتها حروب المتصفحات والخلافات بين الشركات العملاقة حول المقاييس التي يجب ان تعتمدها المتصفحات، اضافة الى ظهور وشيوغ لغات مثل mxl واللغات المشتقة منها، حيث لاتحتوي شيفرة صفحات الويب فيها على تصميم او وصف للصفحات، بل وصف للمعلومات المحتواة في هذه الصفحة مع ترك التصميم الى طبقة اخرى. وقد ادى ذلك الى تعقيد الامور بالنسبة الى توحيد جافا سكريبت والتي كان عليها الآن ان تتقن التعامل مع هذه الطبقة الجديدة من البيانات. واضافة الى ذلك كله فان جافا سكريبت تبقى حتى اليوم رهينة لعطف وحنان الشركات المنتجة للمتصفحات والتي يجب حصول اتفاق فيما بينها قبل تطوير اللغة لتدعم ميزة جديدة، مما يعيق بالتالي سرعة تطوير اللغة. ورغم ان جافا سكريبت هي لغة قوية جدا ومرنة من حيث القابلية للتعديل والاضافة، فان هذه العقبة الاخيرة هامة، ويجب تجاوزها لتطوير اللغة بشكل اكبر. وفوق هذا كله فان بعض المطورين يقولون ان عدم قدرتهم على حجب الشيفرة المصدرية بالنصوص البرمجية التي يقومون بتطويرها نظرا لافتقار اللغة الى ادوات تنقيح debugالبرمجيات وتوليفها هي من العقبات الرئيسة في وجه انتشار اللغة بشكل اكبر. وما زاد الطين بلة هو انه بعد شراء شركة صن لشركة نتسكيب، قامت مجموعة موزيلا، والتي تقوم بتطوير متصفح موزيلا مفتوح المصدر، بالتخلي عن نموذج الطبقات الوثائقية الذي كانت تستخدمه، رغم ان العديد من الشركات المنتجة لادوات تطوير جافا سكريبت قامت باعتماد ذلك النموذج. www.iwamag.com