الجمعة، فبراير 26، 2010

مقدمة عن لغات برمجة الإنترنت

كثيراً ما نسمع عن أنواع متعددة من لغات البرمجة بشكل عام وبرمجة الإنترنت بشكل خاص. وسأحاول من خلال هذه الزاوية التطرق إلى بعض لغات برمجة الإنترنت في محاولة هي الأولى بالنسبة لي في الكتابة.
في البداية سنعرض لمجموعة من المسميات التي تتداول بين مصممي ومبرمجي المواقع، :
Java, PHP, Perl, ASP, CGI, Java Script, Java Applet, JSP, XML, DHTML, HTML, CSS, Flash Action Script
لاحظ أن كل ما سبق يندرج تحت مسمى لغات برمجة صفحات الإنترنت - مع تحفظي الشخصي على إطلاق لفظ لغة على البعض, وهذه اللغات تنقسم إلى قسمين رئيسيين:
1- قسم يعمل في جهة الخادم. (Server-side Scripting Language) أي لا ترى الصفحة إلا بعد الانتهاء من معالجتها.
2- قسم يعمل في جهة العميل. (Client-side Scripting Language) أي أن العمليات البرمجية تتم في جهازك أنت.
القسم الأول:
PHP, Perl, ASP, CGI, JSP, XML
القسم الثاني:
Java, Java Script, Java Applet, DHTML, HTML, CSS, Flash Action Script
سنتطرق من خلال المقال إلى بعض لغات البرمجة سالفة الذكر مع إدراج بعض المقارنات بين هذه اللغات بموضوعية بعيدة عن التعصب بأي دافع كان.
CGI
ترمز سي جي آي إلى (Common Gateway Interface) أي واجهة الإدخال المشتركة. وتمثل وسيط للبرمجة العاديّة بين خادم الويب و البرامج الخارجيّة. ببساطة, سي جي آي تمكن صفحات موقعك من إدارة البرامج الموجودة في خادمك. لذا تتطلّب برامج سي جي آي (أحياناً) أن توضع في دليل على خادمك بحيث يكون باسم "cgi-bin". ونستطيع (مجازاً) اعتبار جميع لغات برمجة الإنترنت التي تعمل جهة الخادم "CGI واجهات إدخال مشتركة" حيث أنها تقوم بالربط بين الخادم (وما يحتويه من برامج وقواعد بيانات) ومتصفحك (الذي تستخدمه في الإبحار في صفحات الإنترنت) والذي لا يفهم إلا لغة واحدة وهي HTML إذن تعددت اللغات والنتيجة واحدة.
لمحة سريعة عن كل لغة:
يجب أن نعرف مبدأياً مدى أهمية كل لغة ومتى سنحتاج إلى استخدامها.
HTML
لغة النص المتشعب هي اللغة الإجبارية في كل صفحة، فهي روح صفحات الإنترنت، ولا نستطيع إطلاق مصطلح "صفحة إلكترونية" على أي صفحة لا تتكون من هذه اللغة.
JS
جافا سكريبت لغة تحتاجها عندما تود القيام ببعض العمليات المنطقية البسيطة (كبعض البريمجات البسيطة) والمؤثرات المرئية (مثل القوائم المنسدلة والنوافذ المنبثقة) وعيبها يكمن في عدم توافقيتها مع جميع المتصفحات، وإرهاقها لجهاز الشخص المتصفح.
Flash
كسابقتها مع تميز الأخيرة بالتوافق مع جميع المتصفحات.
CFM, ASP, PHP, JSP
عندما تحتاج للتعامل مع محتوىً ديناميكي (متغير أو معتمد على قاعدة بيانات) وعيبها أن لكل منها اشتراطات خاصة من حيث نظام تشغيل خادم الويب، ومن حيث نوع قواعد البيانات التي يمكن الربط معها.
CGI & Perl
كسابقاتها ولكن الأخيرة أصابتها الشيخوخة بسبب سهولة سابقاتها المتناهية.
CSS
ليست ملزمة، كما ينصح بها بشدة، فهي بمثابة "مساحيق تجميل" صفحات الإنترنت.
XML
عندما تحتاج إلى ربط البيانات بطريقة معقدة بين أنظمة تشغيل مختلفة.