الأحد، فبراير 07، 2010

ما هي لغة الasp.net ؟


هي النسخة الجديدة من ASP المعروفة والتي تشابه PHP، لكن .net تقدم دعماً برمجياً قوياً جداً، فمثلاً أصبح بمقدورك استخدام أي لغة برمجة تقريباً لتطوير هذا النوع من الصفحات.
واللغة الافتراضية هي Visual Basic، والتي جاءت مكان VB Script.
في ASP التقليدية كان يوجد 5 كائنات جوهرية والتي كان يتم استخدامها بشكل متكرر، أما مع ASP.NET فيوجد ما يقارب 2300 كائن مرتبة في مجموعات هرمية تسمى فضاء الاسم NameSpace.
أصبح بامكانك الآن بكل بساطة فصل كود الصفحة إلى ملفين، الأول يحتوي على HTML فقط، أما الثاني فيحتوي على الكود البرمجي، ويمكنك تحويل هذا الملف إلى مكتبة DLL، ولن تحتاج إلى استخدام الدالات الموجودة ضمنه إلا نسخه إلى مجلد يسمى BIN ، أي أنك لن تحتاجه إلى تسجيله على الملقم.
إدارة الأمن أصبحت لأكثر قوة ومرونة، فبإضافة سطر واحد فقط ضمن ملف web.config يمكنك حماية مجلد من دخول أي شخص إلى أي صفحة من الصفحات الموجودة ضمنه أو ضمن أي مجلد فرعي، وعند المحاولة إلى الدخول إلى أي صفحة يتم تحويله تلقائياً إلى صفحة باسم login.aspx، وهنا يجب أنيقوم بالتسجيل، فإذا نجح، يتم إعادته تلقائياً إلى الصفحة التي كان يحاول الوصول إليها
ASP.NET و إطار .NET
تعتبر ASP.NET جزء من إطار .NET لمايكروسوفت، الذي يتضمن عدد كبير من فئات البرمجة التي صممت لتناسب احتياجات أي مبرمج أو مطور، وفي الفقرات التالية سوف نتعلم كيف تتناسب ASP.NET مع إطار .NET كما سنتعرف إلى لغات البرمجة التي يمكنك استخدامها ضمن صفحات ASP.NET.
مكتبات فئات الإطار .NET – The .NET Framework Class Library
تحتوي مكتبات الفئات في إطار .NET على عدد كبير من الفئات المصممة لتناسب احتياجات أي مبرمج، فعلى سبيل المثال هناك فئات للوصول إلى قواعد البيانات، وأخرى للتعامل مع ملفات النظام وكذلك توليد الرسوم، وبالإضافة إلى ذلك تحتوي هذه المكتبات على فئات تخصصية مثل التعامل مع بروتوكولات الشبكات.
والأكثر أهمية لنا أن إطار .NET يحتوي على عدد من الفئات الخاصة لبناء صفحات ASP.NET.
ولهذه الفئات خصائص Properties ومناهج Methods وأحداث Event يمكنك التعامل معها، فمثلاً الفئة الخاصة بالربط مع قاعدة بيانات تمتلك خصائص نقوم بتزيدها بها مثل اسم قاعدة البيانات واسم المستخدم وكلمة المرور، فتقوم هذه الفئة بعملية الاتصال، وتوفر لنا مناهج للتعامل مع هذا الاتصال، ويمكننا الوصول إلى أي من هذه الفئات التي تأتي ضمن إطار .NET والتي يزيد عددها عن 3400 عند تطوير وبناء صفحات ASP.NET.
فهم فضاء الاسم – Understanding Namespace
لحسن الحظ تم ترتيب الفئات ضمن إطار .NET بشكل هرمي لفضاء الاسم.
تنبيه
في الإصدار السابق من ASP كنا نملك الوصول إلى خمسة فئات رئيسية فقط ( Response, Request, Session, Server, Application )، ASP.NET توفر الوصول إلى أكثر من 3400 فئة.
إن فضاء الاسم هو تجميع منطقي للفئات، فعلى سبيل المثال كل الفئات المتعلقة بالتعامل مع ملفات النظام تم جمعها ضمن فضاء اسم واحد وهو System.Io.
ونظم فضاء الأسماء إلى ترتيب هرمي ( شجرة منطقية ) حيث يتربع فضاء الاسم System أعلاها، حيث يحتوي هذا الفضاء على أنواع البيانات الأساسية مثل String, Array، كما يحتوي على فئات للعمل مع توليد الأرقام العشوائية Random number وكذلك الوقت والتاريخ.
أما من يرغب باستهدام هذه التقنية فيجب عليه أن يستخدم أحد البرنامجين التاليين:
1. Visual Studio .NET
2. Matrox والذي يمكنكم الحصول عليه مجاناً من الموقع الرسمي لـ ASP.NET وهو asp.net، وهذا البرنامج مخصص لتطوير صفحات ASP.NET.
وفي المرة القادمة سنتحدث عن الفرق بين البرنامجين.
سأبدأ اليوم بسرد شرح بسيط للفرق بين Matorx وVisual studio.Net
1. يقوم فيجوال ستوديو بإدارة كامل ملفات المشروع الذي تطوره، بينما ماتروكس يقوم على أساس التعامل مع كل ملف بشكل مستقل.
2. يقوم ماتروكس بشكل افتراضي بإضافة الكود البرمجي إلى نفس الصفحة التي تطورها، بينما يعتمد الفيجوال على تقنية الكود الخلفي أي فصل كود الواجهة عن الكود البرمجي في ملفين مستقلين، لكن ماتروكس يسمح لك بعرض الكودين بشكل مستقل.
3. تعتبر واجهة استخدام برنامج ماتروكس أبسط.
4. لا يقوم ماتروكس بتجميع compile الملفات تلقائياً بل يجب أن تقوم بذلك بشكل يدوي من خلال محرر أوامر الدوس.
5. لا يدعم ماتروكس ميزة الإكمال التلقائي للأوامر.
6. ماتروكس مجاني
طبعاً يمكنك حتى استخدام notepad لتطوير الصفحات لكن في هذه الحالة يجب عليك تركيب .Net Framwork الذي يمكن جلبه من الموقع http://asp.net/download.aspx ، وذلك لتستطيع تصفح صفحات asp.net من خلال جهازك الشخصي، وفي هذه الحالة يجب أن تمتلك iis الذي يأتي مع ويندوز 2000 أو XP.
حسناً ما هي صفحات asp.net، من ناحية المبدأ هي أي صفحة مكتوبة باستخدام هتمل لكن مع تغيير اللاحقة إلى aspx، أي مثل أي صفحة من صفحات PHP,ASP,JSP,CFM
الفرق هو طريقة كتابة الكود وما تقدمه هذه التقنية من إمكانات.
تحتوي صفحة asp.net والتي تسمى أيضاً web form على تحكمات asp.net بالإضافة إلى الشيفرة التي يتم تنفيذها على السيرفر، بجانب تحكمات هتمل والشيفرة التي تنفذ عند المضيف.
فضاء الأسماء القياسية لـ ASP.NET– Standard ASP.NET Namespace
إن جميع الفئات الموجودة ضمن فضاء الأسماء التالية تكون متوفرة بشكل افتراضي لكل صفحات ASP.NET ( هذا يعني أنه في حال الحاجة لفئة موجودة ضمن فضاء اسم آخر، فإنه يجب استيراد اسم الفضاء الذي يحتوي عليها، وهذا ما سنتعلمه في دروس لاحقة )، وتحتوي فضاء الأسماء التالية على جميع الفئات التي يتم استخدامها بشكل متكرر عند تطوير تطبيقات ASP.NET:
• System: ويحتوي على جميع أنواع البيانات الأساسية، بالإضافة إلى فئات مفيدة مثل تلك المتعلقة بتوليد الأرقام العشوائية، والتي تتعامل مع التاريخ والوقت.
• System.collections: يحتوي على الفئات الخاصة بالتعامل مع التجمعات المختلفة مثل hash tables و المصفوفات Array.
• System.collections.specialized: ويتضمن فئات للتعامل مع أنواع خاصة من التجمعات مثل قوائم الربط.
• System.configuration ويحتوي على فئات للتعامل مع ملفات الإعدادات (ملفات web.config).
• System.text: تقوم فئات فضاء الاسم هذا بتشفير، فك تشفير والتعامل مع البيانات النصية String.
• System.Text.RegularExpressions: يحتوي على فئات لتنفيذ التعابير العادية مثل المطابقة والاستبدال.
• System.Web: يحتوي على الفئات الأساسية للتعامل مع الويب، مثل التعامل مع طلبات المستعرض Browser Request وإجابات الملقم Server Response.
• System.Web.Caching: يحتوي على الفئات اللازمة لعمليات Cach وهو ما سنتعرض له في دروس متقدمة.
• System.Web.Secutity: ويحتوي على فئات التحقق من هوية زائر الصفحة.
• System.Web.SessionState: للتعامل مع الجلسة وإدارتها.
• System.Web.Ui: يحتوي على الفئات الأساسية اللازمة لبناء واجهة استخدام التطبيق الذي نطوره.
• System.Web.Ui.HTMLControl: الفئات الخاصة لتحكمات HTML.
• System.Web.Ui.WebControl: الفئات الخاصة لتحكمات الويب.
إطار عمل .NET – اللغات المتوافقة
في كل التمارين المقدمة هنا سوف نستخدم لغة فيجوال بيسيك، حيث أنها اللغة الافتراضية لصفحات ASP.NET ( كما أنها اللغة الأكثر شعبية في العالم )، لكن الأمر لا يقف على هذه اللغة فقط، فيمكنك استخدام C# (وتلفظ سي شارب)، JScript.NET ( وهي نسخة .NET من لغة Java Script)، بالإضافة إلى C++ و الكوبول والعديد غيرها.
وبغض النظر عن اللغة التي تستخدمها في صفحات ASP.NET يجب عليك أن تفهم أن صفحات ASP.NET تجمع Compiled قبل تنفيذها، وهذا يعني أنه يمكن تنفيذها بسرعة أعلى بكثير.
لا يتم تجميع صفحات ASP.NET إلى لغة الآلة بشكل مباشر، بل يتم أولاً إلى لغة ذات مستوى متوسط تسمى Microsoft Intermediate Language(MSIL)، كل اللغات المتوافقة مع .NET يتم تجميعها إلى هذه اللغة، وعند طلب أحد الصفحات فإنه يتم تجميعها إلى لغة الآلة، وكل هذه العمليات المعقدة تتم تلقائياً بالخلفية دون أي تدخل من المستخدم أو المبرمج.
المصدر كتاب تعلم البرمجه