الرئيسية

سلسلة تعلم الدوت نت: ١. البداية

Image description

مقدمة

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

لمحة تاريخية

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

بدأت مايكروسوفت عام ١٩٩٦ بإطلاق إطار عمل Classic ASP الذي يمكّن المطورين من كتابة HTMLو Server-Side Code بلغة VBScript ولصعوبة التعديل على البرنامج لترباطه ببعضه البعض ممايؤدي لصعوبة إجراء الاختبارات عليه، قامت مايكروسوفت بإطلاق إطار عمل Web Forms عام ٢٠٠٢ تزامناً مع إطار عمل .NET الذي كان يتيح للمطورين إنشاء وتصميم الصفحات عن طريق الـDrag & Drop ومع مرور الوقت وتطور تطبيقات الويب وبروز لغات مثل جافاسكربت في المجال أرادت مايكروسوفت مواكبة هذا التطور قامت عام ٢٠٠٩ بالإعلان عن ASP.NET MVC ومن أهم مزاياه هو تبنيه لنط MVC (Model-View-Controller) بنفس الفترة تم اصدار محرك Razor Engine ليتمكن المطور من كتابة لغة C# مع الـHTML وتعتبر هذه إضافة قوية وقفرة في طريقة تطوير صفحات الويب

كثرت أطر العمل وأصبح كل إطار يقوم بدور مختلف عن الآخر مماسبب تشتت للمطورين وصعوبة لدى مايكروسوفت لدعمها وتطويرها فعزمت على إعداة كتابة إطار عمل جديد يراعي جميع ماسبق وبشكل أفضل فأنتجت .NET Core

ماهو الدوت نت كور؟ .NET Core

هو منصة للمطورين مفتوحة المصدر لبناء لبناء تطبيقات مختلفة كالمواقع أو التطبيقات أو حتى إنترنت الأشياء، ماهو المقصود بمنصة للمطورين؟ المقصود هنا هو مجموعة من اللغات (C#, F#, Visual Basic) ومجموعة من المنصات مثل .NET Core، .NET Framework وXamarin وأخيراً .NET Standard التي قامت بدورها بتوحيد التعامل مع اطر العمل المختلفة.

Image description

أهم مميزات .NET Core

  1. يعمل في كل أنظمة التشغيل (ويندوز، ماك، لينكس) (Cross-Platform)
  2. قدم لنا أوامر على الـTerminal\Command Line تسهل لنا عملية التطوير.
  3. متوافق مع تطوير البرمجيات (ASP.NET)، تطوير التطبيقات (Xamarin) باستخدام .NET Standard
  4. مفتوح المصدر

الأدوات اللازمة

لكي نبدأ في تطوير تطبيق على الدوت نت نحتاج لتثبيت حزمة البرمجيات (SDK) وأيضاً سنستخدم في هذه المقالة فيجوال ستدويو كود VS Code

  1. لتنزيل الـSDK
  2. لتنزيل VSCode

بإمكانك استخدام أي محرر آخر مثل

  • Visual Studio (Windows)
  • Visual Studio for Mac
  • Visual Studio Code
  • Rider
  • …الخ

إنشاء التطبيق

بعد تثبيت الـSDK سنقوم بفتح الـTerminal\Command Line وننشئ تطبيق جديد عن طريق كتابة هذا السطر

dotnet new webapp -o dotnetFirstApp

في الأمر السابق قمنا بـ:

  1. إنشاء تطبيق جديد من نوع webapp
  2. المتغير -o لتحديد المسار الذي سيتم إنشاء التطبيق به

سنقوم بفتح المشروع بإستخدام Visual Studio Code. ستلاحظ ملفات قام بإنشائها الأمر السابق سنقوم بشرحها جميعاً الآن

*اذا كانت هذه أول مره تفتح مشروع للدوت نت ستظهر لك رسالة لتحميل الأدوات اللازمة لتشغيل التطبيق أضغط Yes

ماهو الـProgram.cs؟

هو نقطة البداية في التطبيق ومن خلال دالة Main سيتم إنشاء الـHost الخاص بالدوت نت والإنتقال بعدها للكلاس Startup

نقطة البداية Startup.cs

كلاس الـStartup هو المحطة الثانية عند تشغيل تطبيق الدوت نت يحتوى على دالتين رئيستين Configureو ConfigureServices

1. ConfigureServices

الـ ConfigureServices هو المكان الخاص بتسجيل الإرتباطات في التطبيق. حيث أن الدوت نت كور معتمد بشكل أساسي على نمط الـDependecy Injection. أي Service ستقوم بتسجيلها هنا ستتمكن من الوصول لها عن طريق اضافتها كمتغير في الـConstructor وسيتولى الـIoC بمهمة احضارها لك.

*للقراءة أكثر عن الـDepedency Injection و الـIoC Container

2. Configure

هدف هذه الدالة هو التحكم بطلبات الـhttp حيث كل طلب سيمر من خلال مجرى (Pipeline) فيه عدة وسائط (Middlewares) بإمكانها التعديل على الطلب نفسه او إضافة بعض المتغيرات عليه وستمكنك هذه الدالة من تسجيل الوسائط والتحكم بترتيبها. Image description

مجلد الـPages

هنا يتم إضافة الصفحات الخاصة بالموقع ولكل صفحة ملفين هم

  1. ملف امتداده .cshtml وهو الملف الذي يحتوي على أكواد HTML وC# بإستخدام Razor
  2. الملف الداعم وهو ملف بامتداد .cshtml.cs يحتوى على اكواد C# تتحكم بأحداث الصفحة ومتغيراتها
  3. هناك صفحات تبدأ بـUnderscore مثل _Layout.cshtml التي تحتوي على التصماميم العامة للصفحات

مجلد wwwroot

يحتوي على الملفات الثابتة static files، مثل ملفات الجافاسكربت والـCSS.

ملف appsettings.json

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

تشغيل التطبيق

إذا كانت جميع الخطوات السابقة صحيحة إلى هذه المرحلة ستتمكن من تشغيل التطبيق بالضغط على F5 أو كتابة الأمر في الـTerminal\Command Line

dotnet run

ومن ثم التوجة إلى http://localhost:5000 Image description

رائع! لقد قمت الآن بإنشاء تطبيق بإستخدام ASP.NET Core وتعرفت على الملفات الخاصة به ووظائفها. سنتحدث في المقالات القادمة بالتفصيل عن هذه الملفات وطريقة عملها والربط مع قواعد البيانات والكثير من الأمور المهمة في تطوير ويب.

إذا كنت تملك أي استفسار أو ملاحظة يشرفني تواصلك عبر الرسائل الخاصة في تويتر