الصفحة الرئيسية / تعليمات / تشمل لغات برمجة الخادم: مقدمة في برمجة الخادم. كيف تختلف برمجة الويب عن البرمجة التقليدية

تشمل لغات برمجة الخادم: مقدمة في برمجة الخادم. كيف تختلف برمجة الويب عن البرمجة التقليدية

لحل المشكلة ، عليك القيام بما يلي:

1. تصميم مورد يمكنه معالجة البيانات ونقلها بسرعة ؛

2. حدد قاعدة بيانات لتخزين المعلومات ؛

3. تطوير خريطة موقع لعرض البيانات.

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

لغات برمجة الخادم

يستخدم PHP على نطاق واسع لغة مفتوحةالبرمجة النصية للأغراض العامة (البرمجة النصية) المصممة خصيصًا للويب والتي يمكن تضمينها في HTML. يأتي تركيبها من لغة C و Java و Perl وهي سهلة الفهم والتعلم.

من الضروري الانتباه إلى الاختلاف في طريقة الجمع بين الكود القابل للتنفيذ وجزء العرض في البرنامج النصي لغة PHPمن البرامج النصية المكتوبة بلغة Perl أو C - بدلاً من كتابة برنامج به الكثير من الأوامر لإخراج HTML ، تتم كتابة نص HTML مع بعض التعليمات البرمجية المضمنة لتنفيذ بعض الإجراءات (في هذه القضية- لعرض بعض النصوص). يتم تغليف كود PHP بعلامات بداية ونهاية خاصة ، مما يسمح لك بالدخول إلى "وضع PHP" والخروج منه ، والقيام بذلك بالضبط عند الحاجة.

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

تتمثل إحدى السمات المهمة لـ PHP في أنها بسيطة للغاية بالنسبة للمبتدئين في البرمجة ، وفي نفس الوقت تقدم للمبرمج المحترف مجموعة واسعة من واجهات برمجة التطبيقات للعمل مع أنواع مختلفة من البيانات.

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

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

تستخدم نصوص PHP بشكل أساسي في المجالات التالية:

البرمجة النصية للخادم. هذا هو التطبيق الرئيسي والأكثر تقليدية لـ PHP. هناك حاجة لثلاثة أشياء لإنجاح هذا العمل. محلل كود PHP (CGI أو وحدة الخادم) ، خادم الويب ومتصفح الويب. يجب أن يكون الخادم قيد التشغيل ويجب أن يكون متصلاً بـ PHP مثبتًا ومهيئًا. يمكنك الحصول على إخراج برنامج PHP في متصفح الويب من خلال عرض صفحة PHP على الخادم.

البرمجة سطر الأوامر. يمكنك إنشاء نص PHP وتشغيله بدون خادم أو متصفح. هذا يتطلب فقط محلل PHP. يعد هذا النوع من الاستخدام مثاليًا لتنفيذ برنامج نصي بانتظام باستخدام cron (في * nix أو Linux) أو برنامج جدولة المهام (في Windows). يمكن أيضًا استخدام هذه البرامج النصية في مهام معالجة النصوص البسيطة.

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

يمكن استخدام PHP على جميع أنظمة التشغيل الرئيسية (OS) ، بما في ذلك Linux والعديد من نكهات Unix (HP-UX و Solaris و OpenBSD و Mac OS X) ، مايكروسوفت ويندوزو RISC OS وربما غيرها ، والتي لا تخلق مشاكل عند الانتقال من منصة إلى أخرى. يدعم PHP معظم خوادم الويب الحالية. هذه هي ApacheHTTPD و Microsoft IIS و nginx وغيرها الكثير. بالنسبة لمعظم هذه الخوادم ، تحتوي PHP على وحدات. في حالات أخرى تدعم معيار CGI ، يمكن أن تعمل PHP كمعالج CGI.

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

في PHP ، ليس للمبرمج أي قيود في الإخراج ، مع التركيز فقط على HTML. يمكن لـ PHP إخراج الصور وملفات PDF وجافا سكريبت والمقاطع برنامج أدوب فلاش(باستخدام امتدادات libswf و Ming) التي تم إنشاؤها أثناء الطيران. يمكنك بسهولة إخراج أي نص ، بما في ذلك XHTML وأي ملف XML آخر. يمكن لـ PHP إنشاء هذه الملفات تلقائيًا وتخزينها في ملفات نظام الملفاتأو إنشاء ذاكرة تخزين مؤقت من جانب الخادم للمحتوى الديناميكي أو إعداد التقارير.

واحدة من أقوى ميزات PHP وأكثرها جاذبية هي دعمها لعدد كبير من قواعد البيانات (DBs). يعد إنشاء صفحة ويب تعمل مع قاعدة بيانات أمرًا سهلاً للغاية.

قائمة مكتبات الوصول إلى قواعد البيانات التي تدعمها PHP واسعة جدًا وتتضمن الخوادم والتنسيقات الشائعة التالية:

يدعم PHP الاتصال بالخدمات الأخرى عبر بروتوكولات مثل LDAP و IMAP و SNMP و NNTP و POP3 و HTTP و COM (ضمن Windows) والعديد من البروتوكولات الأخرى. في حالة عدم وجود برنامج تنفيذي مباشر لواحد أو لآخر بروتوكول الشبكةفي PHP ، من الممكن فتح مقبس شبكة عادي والتفاعل مع خدمة بعيدة وفقًا لبروتوكولها. تقنية البرمجة النصية الشائعة الأخرى من جانب الخادم هي ASP. ASP ليست لغة برمجة بطبيعتها ، بل هي اختصار لـ Active Server Pages ، في الواقع تستخدم برامج ASP VBScript أو JScript. أكبر عيب لـ ASP هو أنه في حد ذاته نظام خاص يستخدم حصريًا على خادم معلومات الإنترنت لـ Microsoft (IIS). هذا يحد من استخدامه للخوادم على منصة Windows.

يعتبر ASP مرهقًا وأبطأ من PHP ، بالإضافة إلى أنه أقل مقاومة للهجمات الخارجية. تتمثل إحدى مزايا ASP في استخدام لغة البرمجة VBScript للبرمجة ، والتي يسهل تعلمها نسبيًا إذا كنت معتادًا على برمجة Visual Basic. أيضًا ، يتم تضمين دعم ASP في خادم ويب IIS افتراضيًا ، مما يبسط المرحلة التحضيرية لتطوير التطبيقات باستخدامه.

بديل PHP آخر مثير للاهتمام هو لغة برمجة Perl. الميزة الأكثر أهمية لـ PHP على Perl هي أن PHP تم تصميمها للبرمجة النصية على الويب ، وتم تكليف Perl بمهمة أوسع ، بما في ذلك البرمجة النصية للويب ، لذلك اتضح أنها أكثر تعقيدًا. يتمثل الاختلاف الرئيسي بين عمل مترجمي PHP و Perl في التواجد المستمر في ذاكرة المترجم الأول ، حيث تمر النصوص البرمجية ببساطة كما تسمى ، ويتم إرسال صفحة HTML التي تم إنشاؤها إلى العميل. يتم تحميل المترجم الثاني في الذاكرة وتفريغه حسب الحاجة ، ويتم استدعاء مترجم واحد لكل نص برمجي ، مما قد يؤثر على أداء الخادم.

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

يشمل السياق الحساس رؤية متغيرات المستوى الأعلى ؛

العلامات الموسعة- وهو ما يسمى التضمين الملائم في HTML ؛

سرعة عالية في العمل مع قاعدة البيانات وعدد كبير من قواعد البيانات المدعومة ، حيث تخسر Perl سرعتها ؛

دعم XML الأصلي في PHP ؛

القدرة على تغيير رؤوس الاستجابة في أي مكان في البرنامج ، حتى بعد إرسال بعض البيانات بالفعل ، بسبب المخرجات المخزنة ؛

التطوير السريع والدعم من قبل عدد كبير من المستخدمين على الإنترنت ؛

مجموعة واسعة جدًا من أطر عمل التطبيقات الجاهزة التي تجعل من السهل إنشاء أنظمة معقدة ، مما يوفر مزيدًا من الدعم البسيط.

في الآونة الأخيرة ، أصبحت بعض لغات البرمجة الجديدة مثل Ruby أو Python شائعة أيضًا ، لكنها تركز عادةً على العمل مع أطر التطبيقات الخاصة بها ، مثل Ruby on Rails أو Django ، وبالتالي تُستخدم لإنشاء تطبيقات معقدة كاملة بدلاً من كتابة نصوص بسيطة تتطلب نشر خادم تطبيق يعمل جنبًا إلى جنب مع خدمة خادم الويب طلبات HTTP. ينطبق الأمر نفسه على التقنيات القديمة التي تستخدم لغة Java ، مثل JavaServletes أو JavaServerPages الأقل تجريدًا.

فيما يلي نتائج تحليل المزايا والعيوب (الجدول 2.1).

الجدول 2.1 - مقارنة تقنيات البرمجة النصية للخادم

يركز التطور السريع لفرع البرمجة على تطوير تطبيقات الإنترنت الديناميكية. لغات برمجة الويب هي ، على التوالي ، لغات مصممة بشكل أساسي للعمل مع تقنيات الإنترنت. لغات الويب ... ... ويكيبيديا

تتم إعادة توجيه الاستعلام "site" هنا ؛ انظر أيضا معاني أخرى. موقع ويب (من موقع الويب باللغة الإنجليزية: ويب "ويب" و "شبكة" وموقع "مكان" ، مضاء. "مكان على الشبكة") أو ببساطة موقع على شبكة كمبيوتر متحد تحت عنوان واحد (مجال ... ويكيبيديا

هي مجموعة من الوسائل التي يتفاعل من خلالها المستخدم مع موقع ويب أو تطبيق ويب من خلال متصفح. أصبحت واجهات الويب منتشرة على نطاق واسع بسبب الشعبية المتزايدة لشبكة الويب العالمية ، وبالتالي ... ... ويكيبيديا

تطبيق الويب هو تطبيق خادم عميل يكون فيه المتصفح هو العميل وخادم الويب هو الخادم. يتم توزيع منطق تطبيق الويب بين الخادم والعميل ، ويتم تخزين البيانات بشكل أساسي على الخادم ، وتبادل ... ... ويكيبيديا

هذا المصطلح له معاني أخرى ، انظر الخدمة. خدمة الويب خدمة ويب ، خدمة ويب يتم تحديدها بواسطة عنوان ويب نظام البرمجياتمع واجهات موحدة. يمكن أن تتفاعل خدمات الويب ... ... ويكيبيديا

أدى تطور الإنترنت إلى جعل متصفحات الويب هي البرامج المهيمنة للوصول إلى المحتوى والتطبيقات والأنظمة حول العالم. يوجد بالفعل اتجاه في الشركات لتزويد موظفيها وشركائها وعملائها بإمكانية الوصول إلى جميع أنواع المعلومات و ... ... ويكيبيديا

تطوير الويب هو عملية إنشاء موقع ويب أو تطبيق ويب. يشمل المصطلح تصميم الويب ، وبرمجة الويب من جانب العميل والخادم ، وتكوين خادم الويب. المحتويات 1 المراحل الرئيسية لتطوير الويب ... ويكيبيديا

تطوير الويب هو عملية إنشاء موقع ويب أو تطبيق ويب. يشمل المصطلح تطوير تطبيقات التجارة الإلكترونية وتصميم الويب وعميل الويب والبرمجة من جانب الخادم وتكوين خادم الويب. المحتويات 1 ... ... ويكيبيديا

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

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

كتب

  • برمجة الويب للدمى ، نيخيل أبراهام. هل تريد تعلم البرمجة ولكن لا تعرف من أين تبدأ؟ هذا الكتاب هو بالضبط ما تحتاجه! استكشف لغات البرمجة HTML و CSS و JavaScript و Ruby و ...
  • برمجة الويب للأجهزة المحمولة ، M. Firtman. كل موقع ينشئ اصدار المحمولللعرض على الأجهزة المحمولة. يظهر سوق جديد ضخم أمام أعيننا. لتحقيق أقصى استفادة من مطور الويب هذا ...

شكرًا مقدمًا على التعليقات والتقييمات والتصحيحات (مع مراعاة أن الجمهور المستهدف هو أقداح الشاي).

إذا احتاج جميع المستخدمين تحت أي ظرف من الظروف إلى إظهار نفس الشيء ، فيمكن ببساطة وضع الملف المقابل على الخادم ، ولكن عادةً لا يكون هذا كافيًا وتريد نوعًا من التنوع. في هذه الحالة ، تحتاج إلى تشغيل برنامج على الخادم الذي سيُنشئ نص HTML الضروري في هذه الحالة بالذات. تعد كتابة برامج "الخادم" (البرامج النصية) ، بشكل عام ، العمل الرئيسي لتطوير الويب ، حيث يتم إخفاء 90٪ من تعقيد وتكلفة أي مشروع بشكل عام. نظرًا لأن البرنامج يتم تنفيذه على خادمنا ، وليس على كمبيوتر المستخدم ، فإن اختيار الأدوات متروك لنا تمامًا ولا توجد لغة واحدة تُكتب بها هذه البرامج.

أول وأهم قرار يجب اتخاذه هو نظام تشغيل خادمنا. من الناحية النظرية ، يمكن أن يكون أي شيء ، عمليًا في روسيا في 93٪ من الحالات التي يستخدمون فيها Unix ، في 6.99٪ - Windows ، في 0.01٪ - شيء آخر. لست موضوعيًا تمامًا ، لكنني لا أرى حجة واحدة لصالح Windows واثنتين لصالح Unix ، لذلك أوصي باختيارها دائمًا. الحجة الأولى: الشيء الأكثر شيوعًا هو دائمًا أكثر ملاءمة ، العثور على استضافة أسهل ، العثور على متخصص بسهولة ، أسهل للعثور على حل جاهز لبعض المهام الفرعية. الوسيطة الثانية: تكلفة تراخيص Windows / MS SQL / ...؛ المال هناك ليس باهظًا ، لكنه لا يزال مختلفًا عن الصفر. إذا اخترنا نظام التشغيل Unix باعتباره نظام التشغيل ، فإن السؤال الطبيعي التالي - ما هو التطبيق الذي يجب استخدامه - غير مهم على الإطلاق ويمكن تحديده بناءً على التفضيلات الشخصية. مدير النظام.

القرار الأساسي الثاني هو لغة البرمجة. الاختيار هنا كبير جدًا. أولاً ، هناك فئة كاملة من اللغات التي تعتبر مثالية لمهام برمجة الويب النموذجية (وقد تم اختراع إحداها خصيصًا لها) - "لغات البرمجة النصية". في الوقت الحالي ، يتوفر على الأقل PHP و Perl و Ruby و Python. يتم كتابة الغالبية العظمى من المواقع عليها ، من أبسط المتاجر عبر الإنترنت إلى vkontakte.ru ، على سبيل المثال. من حيث القدرات والملاءمة والإنتاجية وأدوات التطوير وبعض المؤشرات النظرية الأخرى ، فهي متساوية تقريبًا مع بعضها البعض ، والفرق الرئيسي هو توافر المبرمجين. في الوقت الحالي ، مؤشرات السوق المقاسة هي كما يلي: بالنسبة لـ 100 سيرة ذاتية لمبرمجي PHP في روسيا ، يوجد 10 Perl و 2-3 Ruby و Python لكل منهما. من ناحية أخرى ، من بين جميع الأشخاص الذين يطلقون على أنفسهم مبرمجي PHP ، لا ينبغي السماح لـ 80٪ بتشفير طلقة مدفع ، بالنسبة إلى Perlovists هذا الرقم يقارب النصف ، وحتى أقل بالنسبة لـ Ruby و Python. من الواضح أن الأرقام الأولى موضوعية ومأخوذة من مواقع العمل ، والثاني تقييم شخصي مشروط ولا يمكن مضاعفته بشكل مباشر ، ولكن على أي حال ، يتم ترتيب عدد المبرمجين والمبرمجين الجيدين بهذا الترتيب: PHP ، Perl أو Ruby أو Python ، والمستوى المتوسط ​​هو عكس ذلك تمامًا. وبالتالي ، إذا كان لدينا مشروع صناعي ، مع وجود عدد كبير من المطورين والموظفين ، فيجب اختيار PHP من لغات الويب (لغة Perl مقبولة في حالة وجود بعض الأسباب المحلية المهمة جدًا). إذا كان المشروع قصيرًا ، فسيكون المبرمج وحيدًا بالتأكيد ولن يتغير أبدًا ، ومن ثم يمكن الوثوق بالاختيار بالنسبة له ، في حين أن اختيار Ruby / Python قد يكون عاملًا متفائلًا.

بالإضافة إلى الأخوين التوأمين في لغات البرمجة النصية (الاختيار بينهما اجتماعي بحت) ، هناك لغات أخرى لديها لغات أخرى تحديدوبالتالي ، منافذ أخرى للتطبيق.

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

لغة C ++. له نفس عيوب C ، ولكن في شكل أقل وضوحًا ، يعطي في المقابل أداءً مشابهاً ، ولكن أقل. يتم استخدامه عادةً حيث لا يزال الأداء مطلوبًا ، ومنطق العمل معقد للغاية وهو على وشك أن يكون علميًا. المثال الكلاسيكي هو محركات البحث. أحد العوائق المهمة التي تمنعه ​​من استبدال لغة C تمامًا في مكانه هو توفير الكثير من الحرية للتعليمات البرمجية غير المدعومة. كما في حالة التخطيط الجدولي ، يكتب الجميع بلغة C بنفس الطريقة تقريبًا ، وإذا كانت الشفرة تفي بمتطلبات الجودة الرسمية والتي يمكن التحقق منها (لا تسمح بتسرب الذاكرة ، وتعالج الأخطاء بشكل صحيح ، وما إلى ذلك) ، فمن المرجح أن تكون كذلك. على مستوى مقبول تمامًا ووفقًا غير رسمي ، ولكن خصائص مهمةنوع "الفهم" و "الاتصال". لكن في C ++ ، يمكنك الكتابة ، مع مراعاة جميع المتطلبات الرسمية ، سواء كانت رائعة أو مثيرة للاشمئزاز. وبالطبع هذا الأخير أكثر شيوعًا.

لغة جافا. من وجهة نظر فنية ، يختلف عن C ++ بنفس الطريقة التي تختلف بها C ++ عن C. أي أن الانتقال من C ++ إلى Java هو خسارة نصف ترتيب آخر من حجم الأداء ، ولكن المكاسب الجديدة في التطوير السرعة ومكتبة الحلول الجاهزة بالفعل تتناسب مع لغات البرمجة النصية. من وجهة نظر اجتماعية ، فإن عدد مبرمجي Java أقل من عدد مبرمجي C ++ وعدد مبرمجي PHP ، في حين أنهم في المتوسط ​​أغلى ثمناً ، وفي رأيي الشخصي ، في المتوسط ​​أسوأ من كليهما. يعود سبب هذا التوافق الغريب إلى سوق تطوير Java الكبير إلى حد ما لأنظمة المؤسسات ، والتي من ناحية ترفع الرواتب ، ومن ناحية أخرى ، تغرس ثقافتها الخاصة ونهجها في البرمجة ، وهو أمر ضار فقط على الويب. نتيجة لذلك ، لا أرى موقفًا واحدًا يكون فيه استخدام Java في تطوير الويب مبررًا. (ومع ذلك ، فإن odnoklassniki.ru مكتوب بلغة جافا ويعمل بنجاح.)

إذا تمكنا من ارتكاب خطأ واخترنا نظام التشغيل Windows ، بالإضافة إلى اللغات المدرجة (جميعهم ، من حيث المبدأ ، تركز بشكل أكبر على Unix ، ولكن يمكن استخدامها في كل مكان) ، يظهر خياران آخران: VBScript (نوع من PHP التماثلية) و C # (تماثلية) جافا). نظرًا لأنني لا أرى أي فائدة من Windows ، فلا يمكنني التوصية بها أيضًا.

لا يقتصر تنوع لغات برمجة الخادم على الخيارات المدرجة ، ولكن الشعبية الإجمالية لكل شيء آخر قريبة من الصفر ولا أعرف الأسباب المنطقية لاختيار الأشياء الغريبة.

جميع الأدوات الموجودة (على الأقل جميع الأدوات الشائعة) عالمية. في كل منها ، يمكنك تنفيذ أي شيء على الإطلاق ، والسؤال الوحيد هو أنه مع بعض الأدوات سيكون أسرع وأرخص ، بينما مع البعض الآخر سيكون أكثر تكلفة وأبطأ. من حيث المبدأ ، لا أحد يحظر استخدام لغتين مختلفتين للخادم في مشروع واحد ، ولكن هذا عادة ما يؤدي إلى تدهور في إمكانية إدارة المشروع - نعتمد على متخصصين (أو مجموعتين من المتخصصين) بدلاً من واحد ، من ، بالإضافة إلى العمل الفعلي للمشروع ، يجب بذل جهد في التنسيق الاجتماعي البحت (التواصل فيما بينهم) والتقني. الاستثناء الوحيد الذي يبرر نفسه هو ربط إحدى لغات البرمجة النصية بشخص ما من زوج C / C ++. الجزء "السطحي" من الكود المسؤول عن الواجهة مكتوب بالنص ، والجزء الداخلي الأكثر أهمية في الأداء مكتوب بلغة C أو C ++. في الوقت نفسه ، يمكن أن تكون النسبة بين الأجزاء في المشاريع المختلفة مختلفة تمامًا. على سبيل المثال ، ulov-umov.ru هو مشروع C ++ معقد جدًا من الناحية الحسابية والذي ينفذ بشكل أساسي مشروعه الخاص محرك البحثوقليل من غلاف بيرل الذي يرسم واجهة المستخدممن 10 صفحات حرفيا. وداخل ملف PHP-ish readme.ru بالكامل ، توجد وحدة C-shny صغيرة واحدة ، والتي ، وفقًا للبيانات المعدة ، تجذب المخبرين بسرعة وبسرعة. من المهم أن تكون اللغة المنتجة دائمًا "داخل" ، وتعتمد نسبة الحجم الذي تشغله على العوامل المحلية.

يمكن تصنيف لغات البرمجة التي يعتمد عليها أي موقع في فئتين فقط: جانب العميل وجانب الخادم.

لغات برمجة الخادم

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

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

تم تصميم لغات الخادم للعمل مع ما يسمى بقواعد البيانات. لديهم مكتبات خاصة بهم مدمجة ، وهي ضرورية لقراءة المعلومات وتحريرها وحفظها.

تتضمن لغات برمجة الويب الخاصة بالخوادم لغات مثل PHP و Perl و ASP.NET و Java و Python و Groovy و Ruby. للعمل معهم يكفي التثبيت كمبيوتر شخصيالملقم المحلي.

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

لغات برمجة العميل

هنا ، تختلف طريقة معالجة الطلب قليلاً. عند زيارة الموقع ، يتلقى المتصفح من الخادم برنامج معين- نص يتم تنفيذه وفقًا لذلك في متصفحك. بشكل عام ، تعمل جميع لغات العميل على جانبك من النافذة ، في المتصفح.

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

لنفترض أنك قمت بإنشاء موقع Html بسيط وتريد معرفة رأي الزوار حول المحتوى المنشور. ما هو المطلوب لهذا؟ - على اليمين: السماح للزوار بترك تعليقاتهم. لا يمكن تحقيق ذلك باستخدام HTML أو CSS. وهنا تنقذ البرامج (تسمى أيضًا البرامج النصية) التي تم إنشاؤها باستخدام لغات برمجة الويب.

اتضح: برمجة الويبيمكن أن يسمى الخلق برامج خاصةلاستخدامها على الإنترنت. هناك عدد غير قليل من لغات البرمجة: C ++ و Perl و Java و Php و JavaScript و Python و Visual Basic وغيرها.

تعقيد لغات البرمجةمختلف. كلما كانت لغة البرمجة أكثر تعقيدًا ، زادت ميزاتها. يتم استخدام لغات أكثر تعقيدًا لكتابة تطبيقات ويب أكثر تعقيدًا. يمكن تقسيم جميع لغات البرمجة إلى معسكرين: جانب الخادم وجانب العميل.

دعنا نتحدث قليلا عن الشروط. يتم تخزين جميع المعلومات الموجودة على الإنترنت على أجهزة الكمبيوتر البعيدة ، والتي تسمى الخوادم. الجانب الآخر هم مستخدمو الشبكة الذين يبحثون عن المعلومات التي يحتاجونها ، وعادة ما يطلق عليهم عملاء.

لغات برمجة العميل

أكثرها شيوعًا هي JavaScript و Visual Basic. تكمن خصوصية هذه اللغات في اسمها. البرامج المكتوبة لغات برمجة العميل معالجتها على كمبيوتر العميل. ببساطة ، تتم معالجة البرامج النصية بواسطة المتصفح الموجود على جهاز الكمبيوتر الخاص بك. من هذه الميزة اتبع إيجابياتهم وسلبياتهم.

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

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

لغات برمجة الخادم

لغات برمجة الخادمعلى التوالي العمل على جانب الخادم. في التفاعل مع قواعد البيانات ، فإنها تحافظ على الاتصال بين المستخدم والخادم. عند تلقي طلب بعنوان مستند ويب من مستعرض ، تتصل برامج الخادم بقاعدة البيانات. توفر قاعدة البيانات معلومات حول صفحة الويب إلى البرامج النصية للخادم ، وبعد معالجتها ، يرسلونها إلى مستعرض العميل للتفسير ، مما يعرض نتيجة التعاون على الشاشة.

يظهر رسم تخطيطي مبسط لهذا العمل في الشكل.