برمجة الوب
برمجه وب
Web programming -
حسام عابد
يشير المصطلح «برمجة الوب» Web programming أو «تطوير الوب» Web development إلى مفهوم واسع يختص بالعمل على تطوير مواقع وب على الشبكة العالمية «الإنترنت» (الشابكة) أو الشبكة المحلية «الإنترانت». وهذا يمكن أن يشمل تصميم الوب وتطوير المحتوى والاتصال مع العميل والبرمجة الخطاطية Scripting من ناحية الزبون، ومن ناحية المخدم وإعداد مخدم الوب وتشغيله وإعدادات أمن الشبكة وتطوير التجارة الإلكترونية. في حين يشير المصطلح بين المحترفين إلى الجوانب الرئيسية غير التصميمية لبناء مواقع الوب، ككتابة الرماز التأشيري Markup code ورماز البرنامج Program code. يمكن لتطوير الوب أن يمتد من كتابة صفحة وب بسيطة إلى تطبيقات إنترنت وأعمال إلكترونية وخدمات الشبكات الاجتماعية المتطورة المعتمدة على الوب.
يمكن لفريق تطوير الوب أن يتألف من مئات الأفراد. أما المؤسسات الصغيرة فقد تكتفي بمطور واحد دائم أو متعاقد يدعى مدير الموقع Webmaster. إن تطوير الوب هو جهد تشاركي بين الأقسام؛ وليس عملاً خاصاً بقسم محدد.
كان التطوير على الوب من أسرع فروع المعلوماتية تطوراً في العالم منذ منتصف التسعينيات في القرن العشرين، ففي عام 1995 كان هنالك ما يقارب ألف شركة تطوير وبِّي في الولايات المتحدة، وبحلول عام 2005 وصل العدد إلى ما يقارب 30,000 شركة في الولايات المتحدة وحدها. كان الدافع وراء هذا النمو هو الرغبة في بيع منتجات وخدمات وأتمتة تدفق العمل.
إضافة إلى ذلك، فقد تراجعت كلفة بناء مواقع الوب واحتضانها كثيراً في هذه المدة، فبدلاً من صرف عشرات آلاف الليرات على بناء موقع وب، يمكن الآن تطوير موقع وب بسيط مجاناً باستخدام أدوات حرة لبناء مواقع مثل Google Sites أو غيرها بحسب تعقيد الموقع وكمية المحتوى فيه.
أما أدوات تطوير مواقع الوب وبيئاته فقد ساهمت بدورها في ذلك؛ إذ يتوفر العديد منها مجاناً للعموم. ومن الأمثلة على ذلك الحزمة البرمجية لامب LAMP، وهو اسم يتركّب من الأحرف الأولى لكلمات Linux, Apache, MySQL, PHP أو وامب WAMP (Windows, Apache, MySQL, PHP). من العوامل المؤثرة الأخرى توفّر برمجيات لتصميم المواقع تعمل بتقنية «ما تراه هو ما تحصل عليه WYSIWYG»، ومن أشهرها دريم ويفر Dream Weaver ونتبينز NetBeans وويبديف WebDev ومايكروسوفت إكسبرشن استوديو Microsoft Expression Studio وآدوبي فلكس Adobe Flex. ويمكن باستخدام هذه البرمجيات افتراضياً من قبل أي شخص أن يطوّر صفحة وب خلال دقائق إذ لم تعد معرفة لغة تأشير النصوص الفائقة Hyper Text Markup Language (HTML) أو لغات برمجة أخرى أمراً مطلوباً. أمّا من أجل نتائج احترافية، فتصبح أمراً موصى به.
تستفيد تقنيات الجيل التالي من أدوات تطوير الوب من النمو السريع للبيئة LAMP وللنسخة المؤسساتية من منصة جافا ومن تقنيات مايكروسوفت دوت نت؛ لتقديم الوب كطريقة لتشغيل التطبيقات على الإنترنت (الشابكة). يمكن للمطورين الآن توفير تطبيقات تعمل كخدمة، وقد كان ذلك متاحاً فقط كتطبيقات متاحة على الحاسوب المكتبي فقط.
وبدلاً من تنفيذ الرماز على الحاسوب المحلي؛ يتفاعل المستخدمون مع التطبيقات على الإنترنت لإنشاء محتوى جديد. ولقد أدى ذلك إلى توليد طرائق جديدة في الاتصال، وسمح بتوزيع المعلومات والوسائل الإعلامية بدلاً من مركزيتها. ويمكن للمستخدمين الآن التفاعل مع التطبيقات من أماكن عديدة بدلاً من الالتصاق بحاسوب محدد للعمل على تطبيقاتهم.
تندرج التجارة الإلكترونية ضمن التحولات المثيرة في الاتصالات والتجارة التي قادها التطوير على الوب. لقد غيّرت مواقع المزايدة على الإنترنت -مثل موقع eBay- الطريقة التي يتّفق بها الزبائن والطريقة التي يشترون بها البضائع والخدمات. كذلك غيّرت مواقع البيع مثل Amazon.com وBuy.com آليات التسوق والمساومة لدى العديد من الزبائن. تقدم المدونات Blogs أمثلة أخرى جيدة على هذا التحول المقود من قبل تطوير الوب. فقد ساهمت تطبيقات وبية مثل WordPress وMovableType بتسهيل توليد مدونات لمواقع شخصية. كذلك وسعت أنظمة إدارة المحتوى مفتوحة المصدر open source -مثل دروبال Drupal وجُملا JOOMLA وإكزوبس XOOPS وتايبو 3 Typo3 وأنظمة إدارة المؤسسات مثل ألفريسكو Alfresco- تطوير الوب إلى أنواع جديدة من التفاعل والتواصل.
إضافة إلى ذلك فقد انتقل تطوير الوب إلى طور جديد من الاتصال بالإنترنت. فلم تعد مواقع الوب مجرد أدوات بسيطة للعمل والتجارة، بل أصبحت تُستخدم للتواصل. فتوفر مواقع مثل مواقع التواصل الاجتماعي (فيسبوك Facebook وتويتر Twitter) للمستخدمين منصة تواصل مجانية وحرة. يغيّر هذا الشكل الجديد من التواصل الوبّي التجارة الإلكترونية متأثرة بعدد مرات تصفح الصفحات والإعلانات على الإنترنت.
يمكن تقسيم تطوير الوب إلى عدة مجالات، فيمكن لرماز تطبيق وِب أن يتألف من رماز من ناحية الزبون Client-side code ومن رماز من ناحية المخدم Server-side code أو من مزيج من كليهما.
يجري تنفيذ الرماز وتخزينه من ناحية الزبون مثل رماز لغة HTML أو XHTML على الزبون المحلي (ضمن مستعرض الوب)، في حين لا يكون الرماز من ناحية المخدم متاحاً للزبون، بل يجري تنفيذه على مخدم الوب الذي يولد رماز XHTML المناسب والذي يُرسل بدوره إلى الزبون. تسمح طبيعة الرماز من ناحية الزبون بتغيير HTML وبتجديد الصفحات بالمحتوى المحدث (محلياً)، ويجب أن يضع مصممو الوب دوماً في أذهانهم أهمية المسألة الأمنية وجديتها فيما يتعلق بالرماز من ناحية المخدم. فإذا ما قبل نص برمجي من ناحية المخدم محتوى من قبل نص برمجي محلي من ناحية المخدم؛ فيمكن القول: إن تصميم الوب لتلك الصفحة غير متقن أمنياً.
لقد صُمم الرماز من جانب الزبون لمعالجة المحتوى الذي يعيده المخدم وإظهاره. يسمح هذا الأمر بالاستجابة لطلبات المستخدم بإخفاء العناصر أو إظهارها على الصفحة أو تحريك العناصر أو تغيير الألوان والخطوط. إن إظهار الجداول وإخفاءها هو عصب إنشاء القوائم المنسدلة في صفحة الوب، ويسمح إظهار نافذة استجابةً لموقع مؤشر الفأرة لصفحة الوب بدعم بالونات الحوار ToolTip.
إن أكثر لغة مستخدمة هي جافاسكريبت JavaScript التي هي منصة من جانب الزبون متوفرة في أغلب المستعرضات تسمح بتطوير تطبيقات وب غنية، ويمكن أن تعمل على عدد من التجهيزات. ومن التقنيات التي تعمل من جانب الزبون تقنية آجاكس (Ajax (Asynchronous JavaScript التي توفر طرقاً جديدةً لاستخدام جافاسكريبت ولغات أخرى لتحسين عمل المستخدم. ومنها أيضاً جي كويري JQuery، وهي مكتبة جافاسكريبت تعمل على أغلب المستعرضات مصممة لتسهيل برمجة HTML وتسريعها من ناحية الزبون. هنالك أيضاً تقنية فلاش Flash من شركة آدوبي والتي ينفذها مشغل فلاش الذي هو مقبس متوفر لأغلب المستعرضات. تتوفر عدة تطوير البرمجيات Flex 2 الخاصة بمشغل الفلاش (النسخة 9+).
إن مايكروسوفت سيلفرلايت Silverlight هو مقبس للمستعرضات من مايكروسوفت يُمَكّن الحركة والرسم البياني الشعاعي وتشغيل الفيديو العالي الدقة، وهو مبرمج باستخدام لغات البرمجة XAML وNET. أمّا HTML 5 و CSS3 فهي آخر معايير HTML المقترحة مدمجةً مع آخر معيار مقترح من وريقات الأنماط التسلسلية CSS التي تدعم ضمنها العديد من الوظائف من جانب الزبون التي توفرها أطر عمل أخرى كفلاش وسيلفرلايت.
إن البرامج الخطاطية من ناحية المخدم هي تقنية لمخدم الوب حيث تجري الاستجابة لطلبات المستخدم بتنفيذ البرنامج الخطاطي مباشرةً على المخدم بهدف توليد صفحات وب ديناميكية. وهي تُستخدم عادةً لبناء مواقع الوب التفاعلية التي ترتبط بقواعد البيانات. إنها تختلف عن البرامج الخطاطية من ناحية الزبون التي تنفذ على مستعرض الوب. تكمن الميزة الأساسية للبرمجة الخطاطية من ناحية المخدم في القدرة على توفير ردود مخصصة جداً توافق متطلبات المستخدم وسماحيات الوصول والاستفسارات المرسلة إلى قواعد البيانات.
يمكن أن يُذكر من لغات البرمجة من ناحية المخدم لغة بي إتش بي PHP وهي لغة مفتوحة المصدر، وتعمل على أنظمة عديدة مثل لينوكس وويندوز، ولغة ASP، وهي لغة من مايكروسوفت غير مفتوحة المصدر تعمل فقط على نظام التشغيل ويندوز، ولغة بيرل Perl، وأُطر العمل المعتمدة عليها مثل كاتاليست Catalyst ودانسر Dancer، وكلها مفتوحة المصدر، وبايثون Python وإطار العمل المعتمد عليها مثل ديانغو Diango، وهي مفتوحة المصدر أيضاً، ولغة جافا ومنصة جافا المؤسساتية Java EE ومخدم تطبيقات الوب المعتمد على جافا WebObjects وواجهة البوابة العامة CGI.
كما أن هنالك مجموعة أخرى أقل شهرة وانتشاراً، ومنها كولد فيوجين ColdFusion ولغة البرمجة Groovy وبيئة التأطير Grails ولوتُس دومينو Lotus Domino ونسخة الوب من ريل استوديو Real Studio وروبي Ruby مثل روبي أون ريلز (مفتوح المصدر) وسمولتوك Smalltalk مثل سيسايد Seaside وآيدا/وب AIDA/Web وجافاسكريبت من ناحية المخدم SSJS مثل آبتانا جاكسر Aptana Jaxer ورينو من موزيلّا Mozilla Rhino ووبسفير Websphere (خاص بشركة آي بي إم) ودوت نت Dot Net وإطار العمل .NET MVC (خاص بمايكروسوفت).
الرماز من جانب الزبون ومن جانب المخدم
توفر بعض البيئات إمكان تطوير الرماز من جهة الزبون ومن جهة المخدم؛ وهذا يسرّع تطوير مواقع الوب وتطبيقاته، فمثلاً توفر مجموعة أدوات الوب من غوغل Google Web Toolkit أدوات لإنشاء تطبيقات واجهة متطورة تعمل بجافاسكريبت باستخدام لغة جافا. كذلك توفر أوبا Opa- وهي لغة عالية المستوى مفتوحة المصدر -إمكان تطوير جزء الزبون وجزء المخدم بها. يقرر المترجم بعد ذلك الأجزاء التي تُنفذ على الزبون (والتي تُترجم إلى جافاسكريبت آلياً) والأجزاء التي تُنفذ على المخدم. يمكن توليف هذين الخيارين باستخدام بعض الإعدادات البسيطة.
إن بيجاماز Pyjamas هي أداة وبيئة لتطوير تطبيقات آجاكس وتطبيقات إنترنت الغنية بلغة بايثون، وإن تيرسوس Tersus هي منصة مفتوحة المصدر لتطوير تطبيقات الوب الغنية بواسطة تعريف واجهة المستخدم مرئياً وتعريف سلوك الزبون وتعريف المعالجة من جانب المخدم.
تتنوع لغات البرمجة التي يمكن استخدامها لتطوير الوب، وتختلف خصائصها من لغة إلى أخرى. ولا يمكن القول إطلاقاً: إن هنالك لغة واحدة تحتكر مشهد التطوير الوبي تماماً، مع أن متطلبات الوب قد تدعم لمصلحة لغة على أخرى.
تتميز جافا بتوفرها وبكونها مناسبة، ولكن لا يفضّلها جميع مطوري التطبيقات على لغات أخرى تتشابه أكثر مع ما يستخدمونه حالياً، وهذا الأمر ليس سيئاً. لكن الوب يضع بعض القيود على خيارات للغة البرمجة، فهنالك القدرة على التعامل مع عدد من البروتوكولات والصيغ (مثل الصيغ (المصاغات) الرسومية) والمهام البرمجية، وجودة الأداء من حيث السرعة والحجم، والأمن، وعدم الاعتماد على منصة العمل، والحماية من حقوق الملكية، والقدرة على التعامل مع أدوات الوب ولغاته الأخرى. لا تستقل كل واحدة من هذه الصفات عن الأخرى.
يتطلب وجود العديد من منصات الحساب والإظهار والبرمجيات لدى المستخدمين استراتيجيةً يكون للزبائن دور رئيسي في تقرير كيفية معالجة المعلومات وإظهارها، كما يمكن للمخدمات أن تكون قادرة على إجراء هذه الأعمال على جميع الزبائن المحتملين. ولما كان الخيار الأخير غير عملي فقد جرى تطوير مجموعة من بروتوكولات الوب التي تشمل طرق العنونة وصيغ العرض ومعالجة صيغ الأطراف الأخرى بهدف السماح بالتفاعل بين المخدم والزبون.
تُعدّ لغة تأشير النصوص الفائقة HTML اللغة الأساسية التي يفهمها زبائن الوب. ويمكن لبيانات HTML غير المعدلة أن تنفذ على حاسوب شخصي يعمل بنظام التشغيل ويندوز Windows أو ماكنتوش أو يونيكس أو لينوكس. وإن لغة HTML بسيطة جداً، ويمكن تقريباً لأي شخص أن يكتب وثيقة HTML.
طور تيم بيرنرز-لي Tim Berners-Lee لغة HTML بوصفها جزءاً من الشبكة العنكبوتية WWW في مركز الفيزياء سيرن The European Organization
(for Nuclear Research (CERN، ويُتابع تحسينها دوماً في اتحاد الشبكة العنكبوتية World Wide Web
(Consortium (W3C. تنحدر HTML من Standard
(Generalizd Markup Language (SGML وهي اللغة المعيارية للنصوص.
إن HTML هي لغة تأشيرية، وليست لغة برمجة كاملة. ووثيقة HTML هي نص ASCII يتضمن تعليمات (تأشيرات) تؤثر في كيفية عرض النص. تتألف تطبيقات HTML أو ما يمكن عدّه مكافئاً بلغة HTML للتطبيق من مجموعة من صفحات الوب المترابطة التي يديرها مخدم HTTP واحد. ربما يكون هذا تبسيطاً شديداً، ولكن النموذج بسيط، واللغة بسيطة، وهو واحد من أهم ميزاتها.
مع انتقال HTML عبر سلسلة المعايرة وتوسعتها من قبل البائعين؛ فإنها تفقد بعضاً من بساطتها، ولكنها تبقى لغة مفيدة. يجد مطورو الوب أن HTML منقوصة في مجالين: أداؤها في بعض أنواعٍ من التطبيقات، وقدرتها على برمجة بعض المهام الشائعة.
تعاني HTML محدودية في قدرة الحوسبة، وهذا مقصود في بنيتها التصميمية؛ إذ إن ذلك يمنع تنفيذ برامج قد تكون خطرة على الحواسيب الزبونة. تبعاً لذلك فقد حدت هذه القيود مبرمجي الوب الذين يبنون تطبيقات متطورة. وجوب أن يجري تنفيذ المهام التي لا يمكن برمجتها بلغة HTML على المخدم بلغة أخرى أو على الزبون ضمن برنامج بلغة أخرى يجري تنزيله من المخدم. كلا الحلين غير مريحين للمبرمج، ويؤديان إلى تجزئة التطبيق إلى عدة مجتزآت بين المخدم والزبون، وهي تجزئة ليست أمثلية، وتدخل اعتبارات أمنية.
بسبب محدودية وظائف HTML وتحويل الحمل الحسابي إلى المخدم تعاني بعض أنواع التطبيقات ضعف الأداء؛ وخصوصاً عندما يكون الزبون متصلاً بالإنترنت بحزمة ضعيفة. تنبع مشاكل الأداء من مصدرين:
(أ) التطبيق العالي التفاعلية؛ وهذا يتطلب الاتصال بالمخدم مراراً وتكراراً.
(ب) إجراء جميع الحسابات على المخدم يزيد الحمل عليه؛ وهذا يقلل الأداء.
يملك أغلب المستخدمين اليوم حواسيب قوية تستطيع قبول حمل حسابي أكثر بكثير مما تسمح به HTML. مثلاً إن لعبة تفاعلية على الإنترنت ستكون تجربة مخيبة للمستخدمين الذين يتصلون بسرعة ضعيفة. إن مطور مثل هذه الألعاب سيكون مجبراً على جعل عدد من الوظائف من مهام الزبون، ولكن لمّا كانت HTML محدودة؛ فيجب إيجاد طرق أخرى لعمل ذلك. قد يجعل المطور برنامجاً تنفيذياً متاحاً للمستخدمين حيث يمكن استدعاؤه من ضمن مستعرض HTML، لكن ذلك قد لا يلاقي قبول المستخدمين إلا إذا كان من مصدر موثوق، إذ إنه قد يكون مصدر خرق أمني. كذلك يجب ألاّ يحمل المستخدمون البرامج باستمرار للوصول إلى الوب؛ إذ إن لذلك حدوداً عملية حقيقية إذا ما نُظِر إلى حجم الوب وحيويته. إذا أمكن تنزيل برامج آمنة وقوية وعالية الأداء آلياً إلى البرامج الزبونة بطريقة صفحات HTML نفسها فيمكن للمسألة أن تُحل.
هنالك أمران يجب التمييز بينهما لدى تنفيذ رماز على الزبون: ما يجب شحنه وما يجب تنفيذه. هنالك ثلاثة أبدال لكل منها: الرماز المصدري، وصيغة وسيطة مترجمة جزئياً (مثل الرماز الثماني Byte code)، والرماز الثنائي. ولمّا كانت الترجمة تجري على الزبون؛ فما يُشحن ليس هو ما يُنفذ.
يمكن للرماز الثماني Byte code أن يكون أصغر حجماً من الرماز الثنائي بمرتين إلى ثلاث مرات؛ وهذا يجعل نقله أسرع وخصوصاً على الوصلات البطيئة. يُعدّ ذلك ميزة رئيسية بالنظر إلى أهمية زمن النقل على الوب. إن أداء التنفيذ في حالة الرماز الثنائي أفضل من حالة الرماز الثماني وهذا الأخير أفضل من حالة الرماز المصدري. يُنفذ الرماز الثنائي عموماً بسرعة أكبر من الرماز الثماني قد تقع بين 10-100 مرّة.
بالنظر إلى تنوع نظم التشغيل ومنصات العتاد المستخدمة حالياً على الوب؛ فإن الفعالية القصوى تنتج من التعامل مع شكل واحد من التطبيقات. لقد برهن نجاح HTML على ذلك، وتلاه نجاح جافا. لقد كان إمكان تطوير تطبيقات مستقلة عن المنصة هاجساً لدى المطورين الذين يمضون وقتاً طويلاً في صيانة نسخ من منتجاتهم على منصات مختلفة. وفيما يتعلق بجافا، يوجد برنامج تنفيذي واحد مترجم لرماز ثماني تجري صيانته لكل منصات العتاد والبرمجيات.
يمكن تحقيق الاستقلالية عن المنصة بتوفير الرماز الثماني أو الرماز المصدري. من الميزات التي يتفوق فيها الرماز الثماني على الرماز المصدري أن العديد من لغات المصدر تتطلب أن تحافظ الحواسيب الزبونة على العديد من المترجمات أو المفسرات للغات المصدرية، في حين تتطلب صيغٌ أقل من الرماز المصدري آلاتٍ افتراضية.
إن إمكان تنزيل برمجيات جافا Java Applets آمنة وقابلة للنقل في شكل غير الرماز المصدري هو ميزة إضافية للمبرمجين الذين يرغبون بحماية ملكيتهم الفكرية.
إن معاينة الرماز المصدري الخاصة بشخص ما لمعرفة كيفية عمله أو لتحويره قليلاً أو نسخ جزء منه لا يبدو كأنه سرقة. أما لو حاول شخص ما أن يجري نوعاً من الهندسة العكسية على الرماز الثنائي أو الثماني؛ فيصبح من الواضح جداً أن هذا الرماز ملك لشخص آخر. قد يكون توفير الرماز بشكله الثماني أو الثنائي رادعاً كافياً للقلة من الناس الذين يحاولون سرقة جهد الآخرين.
لقد أثبتت الڤيروسات أن تنفيذ رماز ثنائي وارد من مصدر غير موثوق أو حتى موثوق قليلاً هو أمر خطر. يجب ألاّ يُسمح للرماز المُنَزّل من مواقع الوب أن يؤذي بيئة المستخدم المحلية. إن تنزيل الرماز الثنائي المترجم من اللغات التقليدية هو أمر خطر حتماً بسبب قوة هذه اللغات. حتى لو جرى احتواء هذه اللغات إلى حيز جزئي آمن؛ فليس هنالك وسيلة للتحقق من أنه جرى استخدام ذلك الجزء الآمن فقط أو أن المترجم المُستخدم كان موثوقاً.
لقد أثبتت HTML أن تنزيل الرماز المصدري بلغة آمنة وتنفيذه ضمن مفسّر موثوق سيكون آمناً. فلا يمكن أن تصيب زبوناً بڤيروس عن طريق تنزيل ملف HTML وعرضه، لأن HTML ليست قوية كفاية. لقد جرى العمل على حل وسيط حيث تكون قدرات البرنامج المنزل محدودةً أقل من HTML وأكثر من اللغات التقليدية. ومع أن HTML محدودة القدرات؛ فإن الفكرة خلفها والمتمثلة بوجود لغة محدودة يترجمها مفسّر موثوق من جانب المستخدم قد لاقت قبولاً واسعاً.
تحقق بعض اللغات أمناً نسبياً بتنفيذ برامج ناجمة عن رماز ثماني مترجم ضمن بيئة تنفيذية آمنة نسبياً (آلة افتراضية). كما أن هنالك لغات أخرى يجري تفسيرها بالكامل على الزبون من قبل مفسّر يوفره مطور اللغة نفسه. في كلتا الحالتين يمكن الوصول إلى أمن نسبي؛ إذ إنه يمكن للمفسّر وللآلة الافتراضية أن تتحقق من الأمن، وهو أمر يصعب إجراؤه عند الترجمة.
هنالك العديد من الاعتبارات الأمنية التي يجب أخذها بالحسبان عند تطوير الوب مثل التحقق من مدخلات المستخدم في النماذج وترشيح الخرج وتشفير البيانات. يمكن كذلك تنفيذ أعمال خبيثة مثل حقن لغة الاستفسار البنيوية Structuredl Query Language (SQL) من قبل مستخدمين ذوي معرفة متواضعة بتطوير الوب. يمكن استغلال البرامج الخطاطية لمنح المستخدم الخبيث دخولاً غير مصرح في محاولة لجمع المعلومات مثل كلمات السر وعناوين البريد الإلكتروني والمحتوى المحمي كأرقام الحسابات المصرفية.
يعتمد جزء من هذا على بيئة المخدم (آباش أو IIS) حيث يجري تشغيل اللغات الخطاطية مثل بي إتش بي PHP وروبي وبايثون وبيرل وآ إس بي ASP، وهذا ليس بالضرورة مسؤولية مطور الوب. ولكن من المفيد جداً اختبار تطبيقات الوب بعمق قبل نشرها.
يسمى إبقاء المخدم آمناً «بتعزيز بوابة المخدم» Server Port Hardening. لقد ظهرت عدة تقنيات للحفاظ على أمن المعلومات عند انتقالها من مكان إلى آخر. هنالك مثلاً شهادات التشفير باستخدام البروتوكولSecure Socket Layer (SSL) حيث يجري إصدار هذه الشهادات من قبل سلطة للشهادات Certification Authority.
تتغير الأدوات والتقانات التي يتعامل معها مطورو الوب تغيراً مستمراً على نحو مشابه لأي صناعة أخرى، ولكن ما يميز صناعة الوب أن سرعة التعلم وإعادة التعلم تسير بسرعة أعلى وبتواتر أكبر. يمكن القول: إن مستقبل تطوير الوب سيتغير حتماً في السنوات القادمة. يُعتقد أن بعض الأدوات والتقانات والاتجاهات سيكون لها دور مهم في السنوات القادمة.
من تلك التقانات قواعد البيانات التي تقع ضمن فئة الأنظمة التي لا تستخدم لغة الاستفسارات البنيوية SQL، وتدعى noSQL. وهنالك أيضاً جافاسكريبت من ناحية المخدم بفضل خصوصية سلوك المستعرضات، وليس لميزات متعلقة باللغة نفسها أو بتصميمها وبفضل سرعة محركها التنفيذي؛ تُذكر في هذا المجال تقنيات مثل تقنية node.js.
كذلك سيتطور توفير منصات كخدمات Platforms as a service، وهذا ما سيزيل عبئاً عن كاهل المطور ويصبح نشر التطبيقات أمراً بسيطاً. ففي حال تطلب التطبيق حزمة أوسع أو قدرة أكبر فما على المطور، إلا إضافة عقد جديدة إلى المنظومة. من الأمثلة على هذه المنصات خدمة هيروكو Heroku و خدمات أمازون الوبية مثل سحابة حسابات أمازون المرنة Amazon
(Elastic Compute Cloud (EC2 وخدمة تخزين أمازون البسيطة Amazon Simple Storage Service.
تطور مكتبات أدوات جافاسكريبت، سواءٌ من ناحية الزبون، مثل المكتبة Head.js والمكتبة underscore.js والمكتبة mustache.js؛ أم من ناحية المخدم مثل تقنية SproutCore ومنصة كابوتشينو Cappucino. وكذلك تطور أدوات اختبار وحدات أفضل لجافاسكريبت، ومن الأدوات التي ستلاقي رواجاً الأداة QUnit والأداة FireUnit والأداة JsUnit.
ستتطور كذلك منصات الرسم البياني من ناحية الزبون بفضل العنصر كانفاس Canvas الذي توفره HTML 5 والذي يوفر تحكماً دقيقاً بالبيكسل مثل مكتبات رافايل-إسكو Raphael- Esco الخاصة بكانفاس، وهو ما سيدفع بتطوير الألعاب على الإنترنت قدماً. من المكتبات في هذا المجال تُذكر المكتبة Processing.JS والمكتبة آكيهابارا Akihabara.
مراجع للاستزادة: -B. Frain, Responsive Web Design with Html 5 and Css3 (Community Experience Distilled),Packt Publishing, 2012. -J. Beaird, The Principles of Beautiful Web -J. Duckett, HTM L & CSS: Design and Build Web Sites Paperback, John Wiley & Sons, 2014. |
- التصنيف : كهرباء وحاسوب - النوع : كهرباء وحاسوب - المجلد : المجلد الرابع مشاركة :