مقدمة في ASP.NET Core

-

NET Core هو إصدار جديد من .NET Framework ، وهو عبارة عن منصة تطوير مجانية مفتوحة المصدر من Microsoft للأغراض العامة.         

إنه إطار عمل(framework)  متعدد الأنظمة cross-platform framework يعمل على أنظمة تشغيل Windows و macOS و Linux
يمكن استخدام .NET Core Framework لإنشاء أنواع مختلفة من التطبيقات مثل تطبيقات mobile وDesktop وWeb وCloud و IoT و machine learning و microservices و game وما إلى ذلك.
تمت كتابة .NET Core من البداية لجعله إطارًا معياريًا خفيف الوزن والحجم وسريعًا ومتعدد الأنظمة. بحيث يتضمن الميزات الأساسية المطلوبة لتشغيل التطبيقات المكتوبة ب NET Core. يمكن توفير ميزات أخرى مثل NuGet packages، والتي يمكنك إضافتها في تطبيقك حسب الحاجة. وبهذه الطريقة، يعمل تطبيق NET Core على تسريع الأداء وتقليل أثر الذاكرة ويصبح من السهل صيانته.

لماذا NET Core؟

في اصدار.NET Framework القديم يوجد بعض القيود عند بناء التطبيقات،فعلى سبيل المثال: يتم تشغيل التطبيقات فقط على نظام Windows. تحتاج أيضًا إلى استخدام.NET APIs مختلفة لأجهزة Windows المختلفة مثل Windows Desktop وWindows Store وWindows Phone وتطبيقات الويب. بالإضافة إلى ذلك. تؤثر أي تغييرات يتم إجراؤها عليها على جميع التطبيقات التي تعتمد عليها.
 
اليوم، من الشائع أن يكون لديك تطبيق يعمل عبر الأجهزة المختلفة؛ واجهة خلفية تعمل علىserver وواجهة امامية تعمل على windows desktop وتطبيقات web و mobile للمستهلكين. لذلك، هناك حاجة إلى إطار عمل واحد يعمل في كل مكان.  بسبب ذلك تم تطوير Microsoft NET Core.  بحيث يكون الهدف الرئيسي منها هو جعلها مفتوحة المصدر ومتوافقه مع مختلف الأنظمة التي يمكن استخدامها في القطاعات.

ASP.NET Core هو إطار عمل (framework) لتطوير تطبيقات الويب من Microsoft.يعتمد على هندسة Model-View-Controller (MVC) والأفكار والتقنيات من Agile Development، وأفضل الأجزاء من منصة .NET platform في هذا البرنامج التعليمي سوف نقدم لكم شرح عن ASP.NET Core MVC.

تاريخ ASP.NET Core MVC

أصدرت Microsoft ASP.NET Core MVC خلال النصف الأخير من عام 2015. على مدار السنوات الثلاث الماضية، أضافوا ميزات جديدة إلى إطار العمل(framework) هذا مما جعله أكثر قوة. الإصدار الحالي من هذا platform كما هو الحال اليوم هو إصدار6.0. ستتعلم في هذه السلسلة  جميع ميزات ASP.NET Core MVC بحيث يمكنك إنشاء أي نوع من تطبيقات الويب بنفسك

ميزات ASP.NET Core MVC

1- إنه مفتوح المصدر Open Source

يمكنك تحميل الكود المصدري لإطار العمل (framework) هذا من https://github.com/aspnet ويمكن تعديل وتجميع نسختك الخاصة منه.


2- Cross-Platform

ASP.NET Core MVC عبارة عن منصة مشتركة (cross-platform) للتطوير والنشر. متاح لجميع أنظمة التشغيل - Windows وLinux وmacOS.

يمكنك القيام بأعمال التطوير في ASP.NET Core MVC باستخدام محرر Visual Studio من Microsoft. يعمل Visual Studio فقط على نظامي التشغيل Windows وmacOS.

بالنسبة لنظام التشغيل Linux، يمكنك استخدم محرر Visual Studio Code.


3- تحكم كامل في HTML وHTTP

في ASP.NET Core MVC، يمكنك التحكم الكامل في HTML. يمكنك إنشاء نوع بسيط إلى معقد بتنسيق HTML باستخدام ملفات CSS وعرضها على المتصفح.

وبالمثل، يمكنك التحكم الكامل في طلبات HTTP التي يتم تمريرها بين المتصفح(browser) والخادم(server). كما أن إنشاء طلب AJAX request سهل للغاية.

يمكنك بسهولة استخدام client side libraries مثل jQuery و Angular و React & Bootstrap مع ASP.NET Core MVC.


4- ادوات CLI Tools

 يتضمن .NET Core أدوات CLI (Command-line interface) للتطوير والتكامل المستمر.


5-التطوير المرن Flexible Deployment 

يمكن نشر تطبيق .NET Core على مستوى user-wide أو على مستوى system-wide أو باستخدام Docker Containers.


6-التوافق Compatibility

متوافق مع .NET Framework و Mono APIs باستخدام مواصفات NET Standard.

7- يدعم لغات متعددة Supports Multiple Languages

يدعم لغات متعددة: يمكنك استخدام لغات البرمجة C #  و F #  و Visual Basic لتطوير تطبيقات NET Core.  يمكنك استخدام integrated development environment (IDE) المفضل لديك، بما في ذلك Visual Studio 2017/2019، Visual Studio Code، Sublime Text، Vim، إلخ.

8- إطار عمل قابل للتوسيع Extensible Framework

ASP.NET Core MVC قابل للتوسعة بشكل كبير. يمكنك إنشاء تطبيقات ويمكن تطويرها إلى أي مستويات في المستقبل. الميزات الرئيسية لهذا الإطار(framework) الذي يمنحك القوة القابلة للتوسيع والتطوير هي:
1. View Components
2. Tag Helpers
3. Routing
ستتعرف على كل هذه الميزات لاحقًا.

9-جعل الاختبار قابلية الصيانة Testing made Maintainability

تعتبر هندسة ASP.NET Core MVC رائعة لجعل تطبيقك قابلاً للصيانة والاختبار. يمكنك فصل مناطق مختلفة من التطبيق الخاص بك إلى أجزاء مستقلة واختبارها بشكل مستقل. يمكن دمج (Testing frameworks) مثل xUnit و MOQ بسهولة لمحاكاة أي سيناريو.
ASP.NET Core MVC يجعل التطبيقات الكبيرة سهلة الصيانة.

10- التوجيه Routing 

لست مضطرًا إلى معالجة عنوان URL بدقة، فبدلاً من ذلك، سيعمل التوجيه(Routing) على إعداده بناءً على الطريقة التي قمت بتعيينها.
مثال على عنوان URL صديق ل محركات البحث SEO هو:
/women-clothing/skirts/


11- تطوير API اختصار ل Application Program Interface
يمكن ل Application Program Interface في ASP.NET Core MVC الاستفادة الكاملة من اللغة ووقت التشغيل المألوفة لمبرمجي C #، مثل await keyword و extension methods و lambda expressions و anonymous و dynamic types و Language Integrated Query (LINQ).
مثال على Expression Lambda 
input => expression;
للمزيد حول Expression Lambda انتقل الى الرابط التالي :  Expression Lambda