تقنية ASP.NET من ASP إلى MVC و Web API

تقديم عام:

تقنية ASP.NET باختصار هي إطار عمل Framework أنشأته شركة ميكروسوفت للسماح للمبرمجين بإنشاء صفحات الويب الديناميكية، فكما نعلم جميعا لا بد من الإلمام بمجموعة من التقنيات واللغات لكي نستطيع إنشاء صفحات الويب.
ولعل أبرز ما نحتاجه:

1. لغة HTML: باعتبارها اللغة التي تسمح لنا ببناء الهيكل الأساسي لمواقع وتطبيقات الويب، ومن دونها لا نستطيع إنشاء الصفحات، إذ هي التي تسمح لنا بالقيام بأول خطوة وهي عرض المحتوى وبناء الهيكل الرئيسي للصفحات.

2. لغة CSS: تسهل عملية التصميم والتحكم في شكل الصفحات وتحديد مواقع و خصائص مكونات الصفحة.

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

كل اللغات الآنفة، تنفذ على مستوى المتصفح، أي على حاسوب المستخدم / الزائر، مما يضمن سرعة استعراض الصفحات، لأن هذه السرعة غير مقتسمة من طرف كل الزوار، فهي متعقلة بجهاز الزائر، على خلاف لغات السيرڤر، التي كلما ازداد عدد الزوار والمستخدمين، ازداد الضغط على السيرڤر مما قد يبطيء عملية استعراض الموقع أو التطبيق حسب كفاءة جهاز السيرڤر.
لكن الللغات السابقة وحدها لا تكفي لبناء تطبيق ويب متكامل، يسمح بإجراء العمليات على مستوى السيرڤر، كإرسال الرسائل، أو التعامل مع قواعد البيانات وما إلى ذلك، لذلك وجب استخدام إحدى اللغات الديناميكية التي تخول لنا القيام بهذه العمليات وغيرها.
توجد لغات وتقنيات كثيرة، تسمح ببناء أنظمة ديناميكية على الويب، لعل أبرزها لغة PHP و JSP و التقنية الرهيبة التابعة لمنصة الدوت نيت ASP.NET.

ظهرت تقنية ASP.NET عام 2000 تحت اسم ASP اختصارا ل Active Server Pages، وجاءت كحل من ميكروسوفت لتمكين المبرمجين من بناء صفحات ويب ديناميكية، وكان مما يميز هذا الإصدار القديم أنه يسمح بكتابة أوامر ASP داخل أوامر HTML بين الرمزين <% %>.

فتقدم الزمن بعد ذلك، وتطورت تقنية ASP ليصبح اسمها ASP.NET، وصارت جزء لا يتجزأ من إطار العمل دوت نيت فريموورك، وكان من مستجدات التقنية، أنها صارت تعتمد على الترجمة Compilation لا على التفسير Interpretation كما كان الحال مع تقنية ASP الكلاسيكية، إضافة إلى تقسيم الكود إلى صفحتين، ما يتعلق بHTML يكتب في صفحة وما يتعلق بلغة البرمجة يكتب في صفحة تعرف باسم Code Behind.

تسمح تقنية ASP.NET بإنشاء صفحات ويب ديناميكية بعدة طرق، لعل أبرز هذه الطرق:


1. طريقة Web Forms:

وهي طريقة قوية جدا، شبيهة جدا بنمط برمجة الواجهات في الويندوز، إذ بدورها تعتمد على آلية السحب والإفلات Drag and Drop لوضع الأدوات على الويب فورم، واقتناص الأحداث بطريقة مماثلة جدا لبرمجة الواجهات، وهذه الطريقة هي الطريقة التي اشتهرت بها تقنية ASP.NET نظرا لسهولة تعلمها، وكفاءتها العالية.

2. طريقة MVC:

اختصارا ل Model, View and Controller وهي طريقة حديثة جدا في تقنية ASP.NET علما أنها نمط قديم يعود إلى سبعينيات القرن المنصرم، لكن لم تتمثلها ميكروسوفت إلا حديثا بسبب قوة هذا النمط البرمجي الذي ينتمي في الأصل إلى نماذج التصميم Design Patterns، وهو نمط يقضي بتقسيم المشروع إلى مجزوءات، كل مجزوءة تتناول جانبا من المشروع، وهي كما يلي:
مجزوءة النموذج Model: وهي تشمل كل ما من شأنه بناء الفئات وإنشاء خصائصها
مجزوءة العرض View: وهي خاصة بعرض النتيجة للمستخدم وإمداده بحصيلة تنفيذ Action معين.
مجزوءة المراقبة Controller: وهي تلعب دور الخادم الذي يتنقل بين View و Model لتحديد ما الواجب استدعاؤه وما الواجب عرضه.
أمام هذا التقسيم، تصبح عملية بناء صفحات الويب سلسة، والتركيز ينصب على كل مجزوءة بما تقتضيه بدل الانكباب الشامل على الوحدات الثلاثة في صفحة واحدة كما هو الحال في طريقة Web Forms، هذا بالإضافة إلى ما يتيحه النمط MVC من يسر وسهولة في عملية إجراء الاختبارات Testing.


3. طريقة Web pages:

وهي طريقة سهلة لبناء الصفحات الديناميكية، تعتمد بالأساس على الشكل الكلاسيكي لتقنية ASP، إذ يتم الجمع بين كود السيرڤر وكود العميل في صفحة واحدة، كود العميل معلوم حاله وهو عبارة عن أوسمة HTML وما يترتب عنها من اللغات والتقنيات التي تعمل عند العميل، وكود السيرڤر هو عبارة عن كود مكتوب بطريقة حديثة اختارت لها ميكروسوفت اسم Razor، وهي طريقة تنبني في الأساس على كتابة الأوامر البرمجية بعد الرمز @، كما تسمح أيضا باستخدام لغات البرمجة فيجوال بيسيك و سي شارب مع أوامر Razor حسب نوع الصفحة، إن كانت صفحة العرض بامتداد cshtml فأوامر Razor تدعم لغة سي شارب، وإن كانت بامتداد vbhtml فهي تدعم لغة الفيجوال بسيك.


4. طريقة Web API:

وهي طريقة حديثة بدورها، مدارها بالأساس على بناء تطبيقات من نوع RESTfull أي أنها عبارة عن تطبيقات قريبة من مفهوم خدمات الويب Web Services، تتم برمجتها بتقنية ASP.NET بالاعتماد على النمط MVC لتصير قابلة للاستهلاك من قبل تطبيقات أخرى متصلة بالسيرڤر الذي يستضيفها، وهي تدخل فيما يعرف ببناء الأنظمة المتصلة Connected Systems، أي مجموعة من التطبيقات المتصلة فيما بينها عبر وسيط شبكي.

طريقة Web API تعكس ميول شركة ميكروسوفت للاستحواذ على مجال صناعة خدمات الويب، إذ من الملحوظ أن ميكروسوفت أخذت منحى تصاعديا في هذا المجال، كان مبدؤه مع خدمات الويب في إصدارات ASP.NET القديمة، مرورا بتقنية WCF التي أتت كحل متكامل لبناء تطبيقات موزعة خدميا SOA (Services Oriented Architecture)، وانتهاء بتقنية Web API التي ـ في نظري ـ تتفوق على كل ما تقدمها من تقنيات بسبب سهولة استعمالها في إنشاء تطبيقات من نوع RESTfull.

هناك 5 تعليقات:

  1. محترم يا باش مهندس خالد ربنا يوفقك ويزيدك يا رب

    ردحذف
  2. شكرًا جزيلًا على المعلومات القيّمة ،،

    سؤالي : لو طورت نظامًا محاسبيًا بالـ vb.net أو C# ، وأردت أن أصمم صفحة ويب لتسجيل دخول الأعضاء الجدد والقُدامى على حساباتهم وفق اسم مستخدم و كلمة مرور، فهل هذا سهل، وما مُتطلباته .. ؟

    انتظر جوابك .. احترامي ،،

    ردحذف
  3. جزاكم الله خيرا على

    ردحذف
  4. جزاكم الله خيرا على

    ردحذف
  5. بارك الله فيك اخي الأستاذ خالد
    من رجل تعامل معك عن قرب
    أقول لك نعم الأخ ونعم المعلم
    تعاملك رقي وصادق

    ردحذف