ما هي ASP.NET؟ هي إطار لبناء تطبيقات الويب على منصة .NET. أما ASP.NET Core فهو التصميم المفتوح المصدر الذي ظهر عام 2016، ويعمل على ويندوز ولينكس وmacOS. [1]
الخلاصة السريعة
يوفر إطار الويب بنية لمعالجة الطلبات؛ يختار التوجيه نقطة نهاية في التطبيق، وينتج كودها الاستجابة. [3]
- ASP.NET إطار لتطبيق الويب؛ المحرر أداة لكتابة المشروع. Core أعيد تصميمه للعمل على ويندوز ولينكس وmacOS. [1][4]
- تتعامل البرمجيات الوسيطة مع الطلب والاستجابة، ويمكنها تمرير الطلب إلى التالية أو إنهاء المسار مبكرًا. [2]
- يختار التوجيه نقطة النهاية المناسبة، ويمكنه استخراج قيمة من العنوان؛ نمط المسار يحدد المطابقة. [3]
- في مثالنا /courses/{id} يطابق /courses/27 فتكون قيمة id هي 27؛ نوع الجواب يعتمد على كود المثال الذي تختاره.
- ASP.NET Web Forms خاص بإصدار .NET Framework، ولا يعمل بوصفه جزءًا من ASP.NET Core. [4]
الإطار والمحرر والإصدار
ASP.NET إطار لبناء تطبيقات ويب على .NET، وليس اسم محرر الشفرة. وتعمل نسخة Core على الأنظمة الثلاثة المذكورة. يمكن تطوير تطبيقات .NET بأدوات مثل Visual Studio أو Visual Studio Code، أو بأدوات سطر الأوامر. [1][4]
عند وصف مشروع، افصل خانة الإطار عن خانة أداة العمل. قول «هذا مشروع ASP.NET Core» يخبرك عن بنية التطبيق، أما ذكر اسم المحرر فيخبرك بالأداة التي استعملها الكاتب.
كيف يمر الطلب في التطبيق؟
تتكون قناة المعالجة من برمجيات وسيطة تتعامل مع الطلب والاستجابة. يقرر كل مكون تمرير الطلب إلى المكون التالي أو إنهاء المسار؛ وقد يعمل قبل التالي وبعده. لذلك لا يفترض مرور كل طلب بجميع المكونات. [2]
يمكن تصور المسار بسهم ذهاب وسهم عودة: يصل الطلب، تنفذ المكونات المطلوبة عملها، ثم تعود الاستجابة. الرسم الداخلي يمثل المسار الكامل المختار، ويضع فرعًا للإنهاء المبكر بدل إخفائه. [2]
التوجيه ونقطة النهاية: مثال
يطابق التوجيه طلب HTTP مع نقطة نهاية، وهي كود يعالج الطلب. وقد يستخرج المطابقة قيمًا من العنوان. تضبط أنماط المسارات ما يقبل التطبيق من عناوين، فلا يكون كل نص في المتصفح عنوانًا صالحًا لأي إجراء. [3]
افترض النمط /courses/{id}. اخترنا طلبًا إلى /courses/27، فتكون القيمة التي يتتبعها مثالنا هي 27. يمكن لكود نقطة النهاية إعداد صفحة أو جواب بيانات؛ تلك خيارات مختلفة للجواب بعد مطابقة المسار.
قارن الطلب الثاني /courses/42: بقي النمط نفسه وتغيرت القيمة إلى 42. هكذا نفصل شكل المسار عن قيمة الحالة المختارة، قبل الدخول في كتابة تطبيق كامل.
لماذا نفرق Core عن Framework؟
لا يشمل ASP.NET Core تطبيقات ASP.NET Web Forms؛ فهي متاحة ضمن .NET Framework. لذلك لا يصح توقع تشغيل مشروع قديم من هذا النوع في Core بمجرد تشابه الاسمين. [4]
عند قراءة شرح قديم، تحقق من الاسم الكامل للإطار ومن نوع المشروع الذي يتحدث عنه. في مثال المقارنة اكتب «Core» و«Web Forms على Framework» في خانتين؛ بذلك يصبح السؤال عن تقنية محددة بدل الاسم العام ASP.NET.
المصادر ومتابعة القراءة
- Microsoft: تعريف ASP.NET Core (يفتح في نافذة جديدة)dotnet.microsoft.com
- Microsoft: البرمجيات الوسيطة (يفتح في نافذة جديدة)learn.microsoft.com
- Microsoft: التوجيه ونقاط النهاية (يفتح في نافذة جديدة)learn.microsoft.com
- Microsoft: NET وإصدار Framework (يفتح في نافذة جديدة)learn.microsoft.com
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
