NET Core هو إطار عمل متعدد المنصات ومفتوح المصدر طورته شركة Microsoft والذي يمكّن المطورين من إنشاء تطبيقات حديثة وعالية الأداء لمختلف الأنظمة الأساسية ، بما في ذلك سطح المكتب والجوال والويب. منذ طرحه ، تطور .NET Core إلى إطار عمل ونظام بيئي قويين ، مما يوفر العديد من المزايا مقارنة بـ .NET Framework التقليدي. ستتعمق هذه المقالة في بنية .NET Core وتستكشف مكوناتها المختلفة ، بما في ذلك وقت التشغيل و Common Language Runtime (CLR) والمزيد.
مكونات .NET الأساسية ووقت التشغيل
يمكن تصنيف بنية .NET Core على نطاق واسع إلى عدة مكونات تعمل معًا لتوفير بيئة تطوير متماسكة لبناء التطبيقات. تشمل هذه المكونات:
- وقت التشغيل: ينفذ وقت التشغيل تطبيقات .NET Core ويوفر خدمات أساسية مثل إدارة الذاكرة وجمع البيانات المهملة وتجميع Just-In-Time (JIT).
- المكتبات الأساسية: توفر المكتبات الأساسية مجموعة قياسية من مكتبات الفئات وواجهات برمجة التطبيقات لتطوير تطبيقات .NET ، وتلبية الوظائف المختلفة مثل الوصول إلى البيانات ، وملف الإدخال / الإخراج ، واتصالات الشبكة.
- SDK: تتكون مجموعة أدوات تطوير البرامج الأساسية لـ .NET (SDK) من أدوات ومكتبات تساعد المطورين في جميع مراحل عملية تطوير التطبيق ، بما في ذلك التجميع والتعبئة والنشر.
- أدوات CLI: أدوات واجهة سطر أوامر .NET الأساسية (CLI) هي مجموعة من الأدوات المساعدة لسطر الأوامر لإنشاء تطبيقات .NET وإنشائها واختبارها ونشرها.
- وقت تشغيل اللغة العامة (CLR): يعد CLR مكونًا مهمًا في بنية .NET Core ، وهو مسؤول عن توفير بيئة تنفيذ مُدارة لتطبيقات .NET.
- مترجم Roslyn: مترجم Roslyn عبارة عن مجموعة مفتوحة المصدر من برامج التحويل البرمجي لـ C # و Visual Basic ، مما يوفر واجهة برمجة تطبيقات لتحليل التعليمات البرمجية لمطوري .NET لإنشاء تطبيقات قوية.
بالإضافة إلى هذه المكونات ، يتميز وقت تشغيل .NET Core بتصميم معياري ، والذي يسمح للمطورين بتضمين المكتبات الضرورية ومكونات إطار العمل فقط في تطبيقاتهم. ينتج عن هذا حزم نشر أصغر وأداء محسن.
وقت تشغيل اللغة العامة (CLR)
يعد Common Language Runtime (CLR) مكونًا رئيسيًا لبنية .NET Core ، حيث يوفر بيئة تنفيذ مُدارة لتطبيقات .NET. يتولى CLR مسؤوليات مختلفة ، بما في ذلك إدارة الذاكرة ومعالجة الاستثناءات والأمان وتنفيذ التعليمات البرمجية المكتوبة بلغات .NET متعددة.
إحدى الميزات الأساسية لـ CLR هي التجميع في الوقت المناسب (JIT) ، والذي يحول رمز اللغة المتوسطة (IL) إلى رمز الجهاز الأصلي المحسّن للنظام الأساسي المستهدف في وقت التشغيل. يتيح ذلك لتطبيقات .NET تحقيق أداء محسن والاستفادة من التحسينات الخاصة بالنظام الأساسي.
يشتمل CLR أيضًا على Garbage Collector (GC) ، المسؤولة عن الإدارة التلقائية للذاكرة وتضمن استعادة الذاكرة المخصصة بواسطة التطبيق عند عدم الحاجة إليها. هذا يلغي حاجة المطورين إلى إدارة الذاكرة يدويًا ، مما يقلل من فرصة تسرب الذاكرة أو المشكلات الأخرى المتعلقة بالذاكرة.
جانب آخر مهم من CLR هو دعمها للتشغيل البيني عبر اللغات. يتيح ذلك للمطورين كتابة التعليمات البرمجية بلغات NET مختلفة (مثل C # و VB.NET و F #) واستخدامها معًا في نفس التطبيق. أصبحت إمكانية التشغيل البيني عبر اللغات ممكنة بفضل قدرة CLR على إدارة تنفيذ التعليمات البرمجية المكتوبة بلغات متعددة وضمان سلوك متسق عبر المكونات المختلفة للتطبيق.
يلعب CLR دورًا مهمًا في بنية .NET Core ، مما يوفر بيئة مستقرة ومدارة لتنفيذ تطبيقات .NET والاستفادة من قوة لغات .NET المختلفة.
المكتبات والأطر الأساسية
في بنية .NET Core ، تعد المكتبات الأساسية وأطر العمل بالغة الأهمية في توفير وظائف شاملة لدعم تطوير التطبيقات. تعمل هذه المكتبات على تمكين التوافق عبر الأنظمة الأساسية وتحسين الأداء وتبسيط قاعدة التعليمات البرمجية. يستهدفون جوانب مختلفة من تطوير التطبيقات ، بدءًا من مكونات واجهة المستخدم إلى منطق الواجهة الخلفية. بعض الأطر والمكتبات الرئيسية المضمنة في .NET Core هي:
- مكتبة الفئات الأساسية (BCL): BCL هي أساس نظام مكتبة .NET Core. يوفر مجموعة واسعة من الفئات الأساسية ، بما في ذلك المجموعات ، IO ، والشبكات ، والمزيد. يستفيد المطورون من BCL لأنه يسمح لهم بكتابة تعليمات برمجية فعالة بشكل أسرع.
- ASP.NET Core: إطار عمل قوي متعدد الأنظمة الأساسية لبناء تطبيقات الويب الحديثة وواجهات برمجة التطبيقات والخدمات المصغرة. ASP.NET Core هو إطار عمل مفتوح المصدر يأتي مع ميزات مثل الأداء العالي والأمان وحقن التبعية والبرمجيات الوسيطة وبنية التحكم في عرض النموذج (MVC). يتكامل مباشرة مع .NET Core ويسمح للمطورين بإنشاء تطبيقات ويب قابلة للتطوير.
- Entity Framework Core (EF Core): إن EF Core عبارة عن إطار عمل خفيف الوزن وقابل للتوسيع وعبر الأنظمة الأساسية لرسم خرائط العلاقات (ORM). يساعد المطورين على التفاعل بسلاسة مع قواعد البيانات باستخدام استعلامات LINQ وتنفيذ عمليات CRUD دون كتابة كود SQL . يدعم EF Core أيضًا عمليات ترحيل قاعدة البيانات ، مما يجعل صيانة مخططات قاعدة البيانات وتحديثها أمرًا سهلاً.
- نموذج الهوية وخادم الهوية: تركز هذه المكتبات على المصادقة والتفويض وإدارة الهوية لتطبيقات .NET Core. Identity Model عبارة عن مكتبة عميل تسهل التفاعل مع خدمات رمز الأمان ، في حين أن IdentityServer هي خدمة رمز أمان قابلة للتوسيع قائمة على البرامج الوسيطة تتيح أمان واجهة برمجة التطبيقات والأمان على مستوى التطبيق.
- Xamarin: Xamarin هو إطار عمل لبناء تطبيقات جوال متعددة المنصات باستخدام .NET Core runtime. يسمح للمطورين بكتابة التعليمات البرمجية مرة واحدة وتشغيلها على أنظمة أساسية متعددة مثل iOS و Android و Windows. يستخدم Xamarin عرض واجهة المستخدم الخاص بالنظام الأساسي لتوفير أداء يشبه الأصلي وتجربة المستخدم.
هذه المكتبات وأطر العمل ، بالإضافة إلى غيرها من المكتبات غير المذكورة هنا ، تمكن المطورين من إنشاء تطبيقات عالية الأداء بملاءمة وقوة .NET Core.
مترجم روزلين
يعد برنامج التحويل البرمجي Roslyn مكونًا مهمًا في بنية .NET Core التي تتكون من برامج التحويل البرمجي لـ C # و Visual Basic مفتوحة المصدر. كما يوفر أيضًا واجهة برمجة تطبيقات لتحليل الكود تساعد المطورين في بناء التطبيقات من خلال التحليل الديناميكي والثابت. يساعد مترجم Roslyn على تبسيط عملية التطوير من خلال:
- تحويل الكود المصدري إلى كود Microsoft Intermediate Language (MSIL) ، وهو تمثيل منخفض المستوى وغير مألوف للنظام الأساسي للشفرة المصدر.
- يؤدي دعم بناء الجملة والرموز والتشخيصات إلى تبسيط تحليل التعليمات البرمجية وتحريرها.
- تمكين ميزات اللغة الجديدة ، مثل مطابقة الأنماط وأنواع المراجع القابلة للإلغاء.
- السماح بنقاط التوسعة لأدوات الطرف الثالث ، مثل محللي الكود وموفري إعادة البناء.
يزيد برنامج التحويل البرمجي Roslyn من كفاءة عملية تطوير .NET Core ويسرع تسليم التطبيقات عالية الجودة.
حقن التبعية والبرمجيات الوسيطة في .NET Core
حقن التبعية
يُعد Dependency Injection (DI) ميزة جوهرية في .NET Core تعمل على تعزيز قاعدة كود منفصلة وقابلة للصيانة. إنها تقنية تشجع المطورين على ضخ التبعيات في المكونات بدلاً من ترميزها الثابت ، مما يزيد من قابلية النموذج والاختبار. يتضمن .NET Core انعكاسًا مدمجًا لحاوية التحكم (IoC) التي تدعم:
- حقن المنشئ
- حقن الممتلكات
- طريقة الحقن
في فئة بدء التشغيل ، يمكن للمطورين تسجيل الخدمات وتكوينها باستخدام طريقة ConfigureServices (). يتيح ذلك لوقت تشغيل .NET Core حل التبعيات تلقائيًا وتوفير مثيلات للخدمات المطلوبة للمكونات التي تعتمد عليها.
الوسيطة
في .NET Core ، تعد البرامج الوسيطة مكونًا يدير طلبات HTTP ومعالجة الاستجابة. إنها تشكل بنية تشبه خط الأنابيب حيث يقوم كل مكون وسيط بمعالجة الطلب وإما تمريره إلى البرنامج الوسيط التالي أو إنشاء استجابة. مكونات البرمجيات الوسيطة قابلة لإعادة الاستخدام وهي معيارية ، ويمكن دمجها بطرق مختلفة لبناء خطوط أنابيب مخصصة للتعامل مع الطلب.
يمكن للمطورين إضافة أو تكوين مكونات البرامج الوسيطة في طريقة Configure () لفئة بدء التشغيل. تتضمن مكونات البرامج الوسيطة الشائعة الاستخدام:
- البرامج الوسيطة للتوجيه endpoint لتوجيه URL وإرسال endpoint.
- برامج وسيطة للمصادقة والترخيص لتأمين التطبيقات.
- ملف ثابت يخدم البرامج الوسيطة لخدمة الأصول الثابتة (CSS ، JavaScript ، الصور).
- البرامج الوسيطة للتسجيل والتعامل مع الأخطاء للتتبع والتشخيص.
- برمجيات وسيطة مخصصة لمعالجة الطلبات المتقدمة وإنشاء الاستجابة.
تسمح Dependency Injection والبرمجيات الوسيطة في .NET Core للمطورين بإنشاء تطبيقات مرنة وقابلة للصيانة ، وتعزيز بنية التطبيقات ، وتبسيط عملية التطوير.
NET Core و AppMaster Platform
بينما توفر منصة AppMaster بشكل أساسي حلاً بدون رمز لإنشاء تطبيقات الويب والجوال والخلفية ، إلا أنها يمكن أن تتكامل مع تطبيقات .NET Core للحصول على تجربة تطوير أكثر قوة. من خلال الاستفادة من قوة .NET Core ، يمكن للمطورين الاستفادة من قابلية التوسع والأداء والقدرات عبر الأنظمة الأساسية لإطار العمل جنبًا إلى جنب مع بيئة تطوير التطبيقات السريعة التي تقدمها AppMaster.
يمكن لـ AppMaster إنشاء endpoints REST API ونشر التطبيقات التي تم إنشاؤها باستخدام .NET Core إلى السحابة بنقرة زر واحدة ، مما يسهل إنشاء التطبيقات واختبارها ونشرها بسرعة. يتيح التكامل مع .NET Core لمستخدمي AppMaster الاستفادة من النظام البيئي الواسع لـ .NET Core ، بما في ذلك المكتبات الشائعة ومكونات الجهات الخارجية ، مما يزيد من تحسين وظائف التطبيقات وقابلية التشغيل البيني لها.
يمكن لفرق التطوير استخدام .NET Core و AppMaster معًا لتقليل الوقت المستغرق في المهام المتكررة ، وتحسين جودة التعليمات البرمجية الإجمالية ، وإنشاء تطبيقات غنية بالميزات وقابلة للصيانة في وقت أقل من عمليات التطوير التقليدية.
خاتمة
في الختام ، توفر بنية .NET Core إطارًا حديثًا متعدد الأنظمة الأساسية لإنشاء تطبيقات عالية الأداء وقابلة للتطوير. بفضل تصميمه المعياري ، وتحسينات وقت التشغيل ، والمكونات القوية مثل CLR ، والمكتبات الأساسية ، ومترجم Roslyn ، وتكامل Dependency Injection والبرنامج الوسيط ، يمكّن .NET Core المطورين من إنشاء تطبيقات فعالة وقابلة للصيانة.
من خلال دمج .NET Core مع النظام الأساسي AppMaster ، يمكن للمطورين تبسيط عملية التطوير الخاصة بهم والاستفادة من بيئة التطوير no-code التي يوفرها AppMaster. يتيح هذا المزيج تطوير التطبيقات بسرعة وسهولة النشر والمرونة للتكيف مع المتطلبات المتغيرة باستمرار مع الاستفادة من قوة وأداء .NET Core.
مع استمرار نمو النظام البيئي .NET Core ، يمكن للمطورين توقع نطاق أكبر من المكتبات والأدوات والموارد لدعم جهود تطوير التطبيقات الخاصة بهم. من خلال فهم وتبني بنية .NET Core ، يمكن لفرق التطوير الاستفادة من الإمكانات الكاملة لإطار العمل لإنشاء تطبيقات قوية وقابلة للتطوير ويمكن صيانتها لأنظمة أساسية مختلفة.