أنواع تطبيقات .NET. فهم المفاهيم الأساسية لبرنامج .NET Framework ما هو الغرض من مواصفات اللغة العامة (CLS)

14.09.2022

يعد .NET Framework أحد مكونات Windows المتكاملة التي تدعم إنشاء وتنفيذ جيل جديد من التطبيقات وخدمات ويب XML. تم تصميم .NET Framework مع وضع الأهداف التالية في الاعتبار:

· توفير بيئة برمجة متسقة موجهة للكائنات لتخزين وتنفيذ التعليمات البرمجية الكائنية محليًا، أو للتنفيذ المحلي للتعليمات البرمجية الموزعة على الإنترنت، أو للتنفيذ عن بعد.

· توفير بيئة تنفيذ التعليمات البرمجية التي تقلل من التعارضات في نشر البرامج والتحكم في الإصدار.

· توفير بيئة تنفيذ التعليمات البرمجية التي تضمن التنفيذ الآمن للتعليمات البرمجية، بما في ذلك التعليمات البرمجية التي تم إنشاؤها بواسطة أطراف ثالثة غير معروفة أو أقل موثوقية.

· توفير بيئة تنفيذ التعليمات البرمجية التي تتجنب مشكلات الأداء المتعلقة بالبرمجة النصية أو بيئات تنفيذ التعليمات البرمجية المفسرة.

· توفير تجربة مطور متسقة عبر أنواع مختلفة من التطبيقات، مثل تطبيقات Windows وتطبيقات الويب.

· تطوير إمكانية التشغيل التفاعلي المستندة إلى معايير الصناعة والتي تضمن تكامل كود .NET Framework مع أي كود آخر.

المكونان الرئيسيان لـ .NET Framework هما وقت تشغيل اللغة العامة (CLR) ومكتبة فئة .NET Framework. جوهر .NET Framework هو CLR. يمكن اعتبار وقت التشغيل بمثابة وكيل يدير التعليمات البرمجية في وقت التشغيل ويوفر الخدمات الأساسية مثل إدارة الذاكرة وإدارة الخيوط والاتصال عن بعد. وفي الوقت نفسه، يتم فرض شروط كتابة صارمة وأنواع أخرى من التحقق من دقة التعليمات البرمجية لضمان السلامة والموثوقية. في الواقع، المهمة الرئيسية لوقت التشغيل هي إدارة التعليمات البرمجية. يُطلق على التعليمات البرمجية التي تصل إلى وقت التشغيل اسم التعليمات البرمجية المُدارة، بينما يُطلق على التعليمات البرمجية التي لا تصل إلى وقت التشغيل اسم التعليمات البرمجية غير المُدارة. مكون أساسي آخر في .NET Framework، توفر مكتبة الفئات مجموعة كاملة من الأنواع الموجهة للكائنات المستخدمة لتطوير التطبيقات، بدءًا من تلك التقليدية التي يتم تشغيلها من سطر الأوامر أو مع واجهة مستخدم رسومية، إلى التطبيقات التي تستفيد من أحدث إمكانيات تكنولوجيا ASP.NET، مثل نماذج الويب وخدمات ويب XML.

يمكن لـ .NET Framework استضافة مكونات غير مُدارة تقوم بتحميل وقت تشغيل اللغة العامة (CLR) في عملياتها الخاصة وتشغيل تنفيذ تعليمات برمجية مُدارة، وبالتالي إنشاء بيئة برمجة تسمح بالتنفيذ المُدار وغير المُدار. لا يوفر .NET Framework العديد من أوقات التشغيل الأساسية فحسب، بل يدعم أيضًا تطوير جهات خارجية لأوقات التشغيل الأساسية.


على سبيل المثال، يستضيف ASP.NET وقت التشغيل لتوفير بيئة قابلة للتطوير من جانب الخادم للتعليمات البرمجية المُدارة. يعمل ASP.NET مباشرة مع وقت التشغيل لتمكين تطبيقات ASP.NET وخدمات ويب XML، وسيتم مناقشة كليهما لاحقًا في هذا الموضوع.

يعد Internet Explorer مثالاً لتطبيق غير مُدار يستضيف وقت التشغيل (في شكل ملحق من نوع MIME). يتيح لك استخدام Internet Explorer لاستضافة وقت التشغيل إمكانية تضمين المكونات المُدارة أو عناصر تحكم Windows Forms في مستندات HTML. إن استضافة وقت التشغيل بهذه الطريقة تجعل تعليمات الجوال المُدارة (المشابهة لعناصر تحكم Microsoft® ActiveX®) ممكنة، ولكن مع تحسينات كبيرة لا يمكن أن تقدمها سوى التعليمات البرمجية المُدارة، مثل التنفيذ شبه الموثوق به وتخزين الملفات المعزولة.

يوضح الرسم التوضيحي التالي العلاقة بين وقت تشغيل اللغة العامة ومكتبة الفصل الدراسي وتطبيقاتك والنظام ككل. يوضح الرسم التوضيحي أيضًا كيفية عمل التعليمات البرمجية المُدارة ضمن بنية أكبر.

NET Framework في السياق

تصف الأقسام التالية المكونات والميزات الرئيسية لبرنامج .NET Framework بمزيد من التفصيل.


على سبيل المثال، يستضيف ASP.NET وقت التشغيل ويوفر بيئة قابلة للتطوير للتعليمات البرمجية المُدارة من جانب الخادم. يعمل ASP.NET مباشرة مع وقت التشغيل لتمكين تنفيذ تطبيقات ASP.NET وخدمات ويب XML التي تمت مناقشتها لاحقًا في هذا الموضوع.

يعد Internet Explorer مثالاً لتطبيق غير مُدار يستضيف وقت التشغيل (في شكل امتدادات من نوع MIME). تسمح لك استضافة وقت التشغيل في Internet Explorer بتضمين المكونات المُدارة أو عناصر تحكم Windows Forms في مستندات HTML. يتيح تخطيط البيئة هذا إمكانية تشغيل تعليمات برمجية محمولة مُدارة (على غرار عناصر تحكم Microsoft® ActiveX®)، ولكن مع المزايا الكبيرة للتعليمات البرمجية المُدارة، مثل تنفيذ الثقة الجزئية وتخزين الملفات المعزولة.

يوضح الشكل التالي كيفية تفاعل وقت تشغيل اللغة العامة ومكتبة الفئات مع تطبيقات المستخدم والنظام بأكمله. يوضح الشكل أيضًا كيفية عمل التعليمات البرمجية المُدارة ضمن البنية الأوسع.

NET Framework في السياق

توفر الأقسام التالية وصفًا أكثر تفصيلاً للمكونات والميزات الأساسية لبرنامج .NET Framework.

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

شاهد الفيديو الخاص بي على .NET Framework ووقت تشغيل CLR لـ C#

لغة البرمجة C#جديد نسبيًا، لكنه اكتسب الثقة بالفعل. تم إصدار النسخة الأولى في فبراير 2002. أحدث إصدار من اللغة في وقت كتابة هذا التقرير هو C# 7.2، والذي تم إصداره في 16 أغسطس 2017.

يعد بناء جملة لغة C#، كما يوحي الاسم، جزءًا من عائلة اللغات المشابهة لـ C ويشبه اللغات الشائعة الأخرى من هذه المجموعة (C++، Java). لذلك، إذا كنت معتادًا على إحدى هذه اللغات، فسيكون من الأسهل عليك إتقان لغة البرمجة C#.

نظرًا لأن لغة C# هي لغة موجهة للكائنات، فهي تدعم الوراثة وتعدد الأشكال والتغليف والكتابة المتغيرة القوية والتحميل الزائد للمشغل والمزيد. سيتم مناقشة كل هذه المفاهيم بالتفصيل في المقالات اللاحقة. بفضل استخدام نموذج التصميم الموجه للكائنات باستخدام لغة البرمجة، من السهل جدًا تطوير مشاريع واسعة النطاق ومرنة في نفس الوقت. وفي الوقت نفسه، يتم إصدار إصدارات جديدة من لغة C# بانتظام، مما يضيف وظائف جديدة لتبسيط حياة المطور، وزيادة سرعة التطوير، وتحسين أداء التطبيق وموثوقيته.

منصة .NET

.الإطار الصافي هي منصة برمجية من الشركةمايكروسوفت السماح بالتطوير في لغات البرمجة المختلفة، حيث أن جميع اللغات تستخدم بيئة تنفيذ لغة مشتركة واحدةوقت تشغيل اللغة المشتركة (CLR). وبالتالي، فإن القدرات الرئيسية لمنصة .NET هي:

  • عبر منصة- .الإطار الصافي مدعومة بمعظم أنظمة التشغيل الحديثةويندوز، ومن الممكن أيضًا إنشاء تطبيقات تدعمها أنظمة Linux، وحتى تطبيقات الهاتف المحمول.
  • متعدد اللغات- بما أن كود المصدر المكتوب بلغة البرمجة المستخدمة يتم ترجمته إلى كود اللغة المتوسطة المشتركة (CIL)، يصبح من الممكن التطوير بأي لغة برمجة مدعومة، وحتى استخدام لغات برمجة مختلفة في حل واحد. اللغات المدعومة الأكثر شيوعًا هي C#، VB.NET، C++، F#.
  • مكتبة واسعة من الطبقات والتقنيات– يوجد عدد هائل من المكتبات الجاهزة للاستخدام لحل المشكلات اللازمة. في كثير من الأحيان، ليست هناك حاجة إلى تنفيذ المنطق منخفض المستوى للتطبيق على الإطلاق؛ يكفي استخدام حل جاهز يتم توفيره بسهولة من خلال مدير الحزم nuget. بالإضافة إلى ذلك، يتيح نظام .NET إمكانية التطوير السهل لأي نوع من البرامج المطلوبة تقريبًا.

التعليمات البرمجية المُدارة وغير المُدارة. تجميع JIT

كود مُدارهو رمز تتم إدارته بواسطة وقت تشغيل اللغة العامة (CLR). وهذا يعني أن بيئة التحكم لديها القدرة على إيقاف تنفيذ التطبيق مؤقتًا والحصول على معلومات محددة حول حالة التطبيق في أي وقت أثناء تنفيذه. تتم ترجمة الكود المصدري للغة البرمجة المستخدمة إلى كود CIL متحكم فيه (يسمى أيضًا المجمع عالي المستوى).

بعد إنشاء مكتبة أو تطبيق للفصل الدراسي، يستمر تخزين كود المصدر في CIL. وعندما تقوم بتشغيل تطبيق أو الوصول إلى مكتبة، يتم تنفيذ Just-In-Time ( جيت) تجميع التطبيق في رمز الجهاز الخاص بالبيئة التي يتم فيها تنفيذ التطبيق. في هذه الحالة، الميزة المهمة هي أنه يتم تجميع فقط جزء التطبيق أو المكتبة الذي يتم الوصول إليه (والاتصالات بالطبع). يتيح لك ذلك زيادة أداء النظام وتوفير الموارد.

رمز غير مُدار- هذا هو الكود الذي يتم ترجمته مباشرة إلى كود قابل للتنفيذ بواسطة الجهاز ويتم تنفيذه مباشرة بواسطة نظام التشغيل.

بالإضافة إلى ذلك أنصح بقراءة المقال. واشترك أيضًا في مجموعة VKontakte وقناة Telegram و YouTube. هناك أشياء أكثر فائدة وإثارة للاهتمام للمبرمجين.

NET Framework بمثابة بيئة لدعم وتطوير وتشغيل التطبيقات الموزعة التي تعتمد على المكونات (عناصر التحكم).

ويمكن تطوير التطبيقات (البرامج) بلغات البرمجة المختلفة التي تدعم هذه التقنية.

يوفر NET Framework:

  • الاستخدام المشترك للغات البرمجة المختلفة؛
  • أمن البرامج وقابليتها للنقل؛
  • نموذج برمجة عام يعتمد على نظام التشغيل Windows.

2. ما هي المكونات الرئيسية لبرنامج .NET Framework؟

من وجهة نظر البرمجة، يتكون .NET Framework من عنصرين رئيسيين:

  • بيئة تنفيذ اللغة المشتركة CLR (وقت تشغيل اللغة العامة)؛
  • مكتبة الطبقة الأساسية.

يعمل وقت تشغيل اللغة العامة (CLR) على حل مشكلات اكتشاف أنواع .NET تلقائيًا وتحميل تلك الأنواع وإدارتها. يتولى CLR إدارة الذاكرة وصيانة التطبيقات ومعالجة الخيوط وتنفيذ العديد من الفحوصات المتعلقة بالأمان.

تتضمن مكتبة الفئات الأساسية تعريفًا لمختلف العناصر الأولية، والتي يمكن أن تكون: التدفقات، وواجهات برمجة التطبيقات الرسومية، وتطبيقات قاعدة البيانات، وإدخال/إخراج الملفات، وما إلى ذلك.

3. ما هو مبدأ تشغيل وقت تشغيل اللغة العامة (CLR)؟

يدير وقت تشغيل اللغة العامة (CLR) تنفيذ تعليمات NET البرمجية.

بعد تجميع برنامج بلغة C# (أو لغة أخرى)، يتم إنشاء ملف يحتوي على نوع خاص من الكود الكاذب أو الكود الثانوي (وليس ملفًا قابلاً للتنفيذ، كما كان من قبل). يسمى هذا الكود الزائف (MSIL) أو اللغة المتوسطة المشتركة (CIL). هذا الرمز الزائف هو لغة Microsoft المتوسطة.

الغرض الرئيسي من CLR هو تحويل كود MSIL الوسيط إلى كود قابل للتنفيذ أثناء تنفيذ البرنامج.

يمكن تنفيذ أي برنامج تم تجميعه إلى الكود الكاذب لـ MSIL في أي بيئة تحتوي على تطبيق CLR. يتيح ذلك للبرامج أن تكون محمولة داخل .NET Framework.

أرز. 1. عملية تحويل الكود المصدري إلى كود MSIL (CIL أو IL) وإنشاء ملف تجميع (*.dll أو *.exe)

بعد ذلك، يتحول الكود الكاذب إلى كود قابل للتنفيذ. يتم ذلك بواسطة مترجم JIT. تجميع JIT (في الوقت المناسب) هو تجميع سريع.

CLR مسؤول عن تحديد مكان وضع التجميع.

يتم تحديد النوع المطلوب الذي تم وضعه في التجميع (مثل فئة ArrayList أو أي نوع آخر) في الملف الثنائي (*.dll أو *.exe) من خلال قراءة بيانات تعريف الملف.

يقوم CLR بعد ذلك بوضع النوع المقروء من التجميع في الذاكرة.

يقوم CLR بعد ذلك بتحويل كود CIL إلى تعليمات مناسبة مصممة خصيصًا لمنصة محددة (اعتمادًا على جهاز الكمبيوتر ونظام التشغيل وما إلى ذلك). بالإضافة إلى ذلك، يتم إجراء فحوصات السلامة اللازمة في هذه المرحلة.

آخر ما عليك فعله هو تنفيذ كود البرنامج المطلوب.

4. ما هي لغة MSIL المتوسطة ( لغة مايكروسوفت المتوسطة) أو CIL (اللغة المتوسطة المشتركة)؟

في البداية، تم استدعاء لغة الكود الزائف الوسيطة لغة مايكروسوفت المتوسطة(مسيل). لاحقًا (في أحدث إصدارات .NET) تم تغيير هذا الاسم إلى اللغة المتوسطة المشتركة (CIL - اللغة المتوسطة المشتركة). الاختصارات MSIL وCIL وIL (اللغة المتوسطة) تعني نفس الشيء.

يتم تشكيل اللغة المتوسطة CIL (أو MSIL) بعد تجميع برنامج في بعض لغات البرمجة التي تدعم .NET Framework.

MSIL هو كود زائف. يحدد MSIL مجموعة من التعليمات التي:

  • يمكن نقلها إلى منصات مختلفة.
  • لا تعتمد على معالج معين.

في الواقع، MSIL هو لغة التجميع المحمولة

5. ما هو التجميع من وجهة نظر تقنية .NET؟

التجميعات هي ملفات ذات امتدادات *.dll أو *.exe تحتوي على تعليمات اللغة الوسيطة (IL) المستقلة عن النظام الأساسي .NET بالإضافة إلى بيانات تعريف النوع.

يتم إنشاء التجميع باستخدام برنامج التحويل البرمجي .NET. التجميع هو كائن ثنائي كبير.

تم تصميم التجميع للحفاظ على مساحات الأسماء. تحتوي مساحات الأسماء على أنواع. يمكن أن تكون الأنواع فئات، ومندوبين، وواجهات، وتعدادات، وهياكل.

يمكن أن يحتوي التجميع على أي عدد من مساحات الأسماء. يمكن أن تحتوي أي مساحة اسم على أي عدد من الأنواع (الفئات، الواجهات، الهياكل، التعدادات، المفوضين).

6. ما هو مدرج في الجمعيات؟

تحتوي التجميعات على رمز CIL (رمز MSIL أو رمز IL) وبيانات التعريف.

يتم تجميع كود CIL لنظام أساسي محدد فقط إذا تم الوصول إليه من بيئة تشغيل .NET.

تصف البيانات التعريفية بالتفصيل ميزات كل نوع موجود ضمن وحدة ثنائية .NET معينة.

على سبيل المثالعند إنشاء تطبيق Windows Forms في لغة C#، يتم إنشاء ملف Assembly.info. يوجد هذا الملف في المجلد الفرعي "خصائص" المتعلق بمجلد البرنامج الرئيسي. يوفر هذا الملف معلومات عامة حول التجميع.

7. ما هو البيان؟

البيانهو وصف للتجميع نفسه باستخدام بيانات التعريف.

يحتوي البيان على المعلومات التالية:

  • حول الإصدار الحالي من الجمعية؛
  • معلومات حول الثقافة (توطين الموارد الخطية والرسومية)؛
  • قائمة الروابط لجميع التجميعات الخارجية اللازمة لحسن سير العمل.

8. رسم تخطيطي للتفاعل بين التعليمات البرمجية المصدر، والمترجم .NET، ومحرك وقت التشغيل .NET.

يقوم المبرمج بإنشاء الكود المصدري للتطبيق بلغة تدعم تقنية .NET (C#، C++/CLI، Visual Basic .NET، وما إلى ذلك). يتم إنشاء التطبيق في بعض بيئات البرمجة، مثل Microsoft Visual Studio. يقوم المترجم بإنشاء تجميع - ملف يحتوي على تعليمات CIL وبيانات التعريف والبيان.

بعد تشغيل هذا التطبيق على جهاز كمبيوتر معين (منصة معينة)، يتم تشغيل محرك وقت التشغيل .NET. أولاً، يجب تثبيت أحد إصدارات .NET Framework (على الأقل) على جهاز الكمبيوتر.

إذا كانت التعليمات البرمجية المصدر تستخدم مكتبات الفئة الأساسية (على سبيل المثال، من مجموعة mscorlib.dll)، فسيتم تحميلها باستخدام أداة تحميل الفئة.

يقوم مترجم JIT بتجميع التجميع مع الأخذ في الاعتبار (الربط) ميزات الأجهزة والبرامج الخاصة بالكمبيوتر الذي يعمل عليه التطبيق.

بعد هذا، يتم تشغيل التطبيق.

الشكل 2. العلاقة بين الكود المصدري والمترجم ومحرك وقت التشغيل .NET

9. ما هي أنواع التجميعات الموجودة؟

هناك نوعان من التجميعات:

  • تجميعات ملف واحد؛
  • تجميعات متعددة الملفات.

يُطلق على التجميع الذي يتكون من وحدة نمطية واحدة (*.dll أو *.exe) اسم الملف المفرد. تقوم تجميعات الملف الواحد بوضع جميع تعليمات CIL وبيانات التعريف والبيانات الضرورية في حزمة واحدة محددة جيدًا.

يسمى التجميع الذي يتكون من العديد من ملفات التعليمات البرمجية الثنائية .NET بتجميع متعدد الملفات. ويسمى كل من هذه الملفات بوحدة نمطية.

في التجميع متعدد الملفات، تكون إحدى الوحدات هي الوحدة الرئيسية (الأساسية).

10. ما هو الملف الذي يحتوي على التجميع الرئيسي لمكتبة MS Visual Studio؟

يقع التجميع الرئيسي في الملف "mscorlib.dll".

11. ما هو نظام نوع CTS العام؟

CTS (نظام النوع العام) - نظام كتابة يحتوي على وصف كامل لجميع أنواع البيانات المحتملة وبنيات البرامج التي يدعمها وقت تشغيل اللغة العامة CLR. ويصف أيضًا كيف يمكن لهذه الكيانات أن تتفاعل مع بعضها البعض.

يمكن أن تكون الأنواع فئات، واجهات، هياكل، تعدادات، مندوبين.

12. ما هو الغرض من مواصفات اللغة المشتركة CLS؟

كما تعلم، ليست كل لغات البرمجة المتوافقة مع .NET يمكنها دعم وظائف نظام نوع CTS. ولهذا الغرض، يتم استخدام مواصفات اللغة العامة CLS (مواصفات اللغة العامة).

الغرض من CLS هو وصف تلك المجموعة الفرعية فقط من الأنواع الشائعة وبنيات البرمجة المقبولة من قبل جميع لغات البرمجة التي تدعم .NET.

13. ما هي لغات البرمجة التي تدعم تقنية .NET؟

في نظام تطوير تطبيقات MS Visual Studio، يتم دعم تقنية .NET بواسطة لغات البرمجة التالية: C#، Visual Basic .NET، C++/CLI، JScript .NET، F#، J#.

لتتمكن من استخدام تقنية .NET، تحتاج إلى تثبيت البرنامج على جهاز الكمبيوتر الخاص بك مجموعة أدوات تطوير برامج Microsoft .NET Framework(SDK) أو Microsoft Visual Studio من أي إصدار.

14. ما هي مساحة الاسم؟

تهدف مساحة الاسم إلى توحيد مجموعة من الأنواع المرتبطة ببعضها البعض من وجهة نظر دلالية. يتم وضع الأنواع في التجميعات (التجميع). الأنواع تعني الفئات والمفوضين والواجهات والهياكل والتعدادات.

أمثلة على أسماء مساحة الاسم:

نظام بيانات النظام System.IO System.Collections System.Threading.Tasks

على سبيل المثال، تحتوي مساحة الاسم System.Data على الأنواع الرئيسية للعمل مع قواعد البيانات، وتحتوي مساحة الاسم System.Collections على الأنواع الرئيسية للعمل مع المجموعات.

15. كيفية عرض محتويات التجميعات ومساحات الأسماء والأنواع في MS Visual Studio؟

يحتوي نظام Microsoft Visual Studio على أداة Object Browser، والتي يتم استدعاؤها من قائمة العرض (الشكل 3).

أرز. 3. استدعاء الأداة المساعدة لمتصفح الكائنات

سيؤدي هذا إلى فتح نافذة متصفح الكائنات، والتي ستعرض التجميعات المستخدمة في تقنية معينة.

يوضح الشكل 4 قائمة التجميعات التي يتم عرضها في تقنية ".NET Framework 4". تم تمييز التجمع المسمى "mscorlib".

أرز. 4. نافذة متصفح الكائنات مع تمييز مجموعة mscorlib.dll

إذا قمت بتوسيع محتويات مجموعة mscorlib (" + ")، ثم سيتم عرض قائمة بجميع مساحات الأسماء لهذا التجميع (الشكل 5). كما ترون من الشكل، يتضمن التجميع مساحات الأسماء Microsoft.Win32، وSystem، وSystem.Collections، وSystem.Collections.Concurrent، وغيرها الكثير.

أرز. 5. مجموعة mscorlib وقائمة مساحات الأسماء المضمنة فيها

يتم توسيع أي من مساحات الأسماء بنفس الطريقة. مساحات الأسماء تصف الأنواع. تصف الأنواع الطرق والخصائص والثوابت وما إلى ذلك.

يوضح الشكل 6 فئة BinaryReader من مساحة الاسم System.IO. من الواضح أن الفصل يطبق الأساليب المسماة BinaryReader() وClose() وDispose() وFillBuffer() وغيرها.

أرز. 6. محتويات فئة BinaryReader

16. كيفية ربط مساحة الاسم في برنامج C#؟

لتوصيل مساحة اسم، استخدم الكلمة الأساسية use

يوم جيد للجميع. أليكسي جولينين على اتصال. في هذه المقالة الأولى عن C#، أود أن أتحدث عن النظام الأساسي .الإطار الصافي. ظهرت لغة C# والمنصة نفسها لأول مرة في عام 2002. كان الغرض الرئيسي من إنشائها هو توفير نموذج برمجة أبسط وأكثر قابلية للتطوير، والأهم من ذلك، أكثر قوة مقارنة بنموذج برمجة COM. استنادًا إلى النظام الأساسي .NET Framework، يمكنك إنشاء تطبيقات لعائلة أنظمة التشغيل Windows، ويمكنك أيضًا إنشاء تطبيقات لأنظمة التشغيل Unix وLinux وMac OS X. وفيما يلي ملخص لذلك قائمة الميزات التي يدعمها .NET Framework:

1) القدرة على التفاعل مع التعليمات البرمجية الموجودة. تتيح لك هذه الميزة ترجمة، على سبيل المثال، مكونات COM الثنائية ومكونات .NET.
2) دعم لغات البرمجة المختلفة. يمكن إنشاء تطبيقات .NET باستخدام لغات برمجة مختلفة، مثل C#، وVisual Basic، وF#.
3) آلية التنفيذ العامة. النقطة هنا هي أن .NET لديه مجموعة محددة من الأنواع التي يمكن لكل لغة تدعم .NET أن تفهمها.
4) التكامل اللغوي. يمكنك كتابة فصل دراسي في Visual Basic ثم توسيعه في C#.
5) مكتبة كبيرة من الطبقات الأساسية. بفضل هذه المكتبة، يمكننا أن ننسى تعقيدات تنفيذ استدعاءات منخفضة المستوى لواجهات برمجة التطبيقات والتركيز ببساطة على البرمجة.
6) نموذج نشر بسيط. على عكس مكتبة COM، لا يحتاج .NET إلى التسجيل في السجل. يمكن أن توجد على هيئة ملف Assembly.dll.

ربما كتبت هنا عن بعض الأشياء غير المفهومة، على سبيل المثال الطبقات، واجهات API. لا يستحق الاهتمام بهذا بعد. من حيث المبدأ، يمكنك البرمجة دون معرفة كل هذا، ولكن بالطريقة التي نتعلم بها، دعونا نخفف الممارسة قليلًا من الناحية النظرية.
لإنهاء هذه النظرية تمامًا، سأخبرك عن العناصر الأساسية لمنصة .NET:

1) CLR (وقت تشغيل اللغة العامة) - بيئة تشغيل لغة مشتركة. المهمة الأساسية لهذه البيئة هي تحميل وإدارة كائنات .NET (بحيث لا يضطر المبرمج إلى القيام بذلك يدويًا). بالإضافة إلى ذلك، يعتني CLR بعدد من التفاصيل ذات المستوى المنخفض، مثل إدارة الذاكرة ووضع التطبيق وتنفيذ عمليات التحقق المتعلقة بأمان التطبيق.
2) CTS (نظام النوع الشائع) - نظام النوع الشائع. يصف هذا جميع أنواع البيانات المحتملة التي يدعمها وقت التشغيل (CLR). عليك أن تدرك أن لغة واحدة قد لا تدعم بشكل كامل جميع الميزات المحددة في مواصفات CTS. لذلك هناك:
3) CLS (مواصفات اللغة العامة). وهو يصف مجموعة فرعية من الأنواع الشائعة وبنيات البرمجة التي يجب أن تدعمها جميع لغات البرمجة الخاصة بـ .NET Framework.

بالإضافة إلى مواصفات CLR وCTS/CLS، توفر منصة .NET مكتبة الطبقة الأساسية، وهو متاح لجميع لغات برمجة .NET. تسمح لك هذه المكتبة بإدارة، على سبيل المثال، إدخال/إخراج الملفات والرسومات والأجهزة الخارجية المختلفة وتدفقات البيانات والخدمات المتنوعة على مستوى عالٍ (دون التفكير في تفاصيل التنفيذ).

أنا لست أستاذًا في نظرية الكتابة، لذا سأقول أنه بالنسبة لأولئك الذين يريدون فهم فلسفة .NET بشكل أفضل، أوصي بقراءة الفصل الأول من كتاب Andrew Troelsen "لغة البرمجة C# 5.0 ومنصة .NET 4.5، صدر عام 2013." هذا الملخص لمنصة .NET مأخوذ من هذا الكتاب. المشكلة التي واجهتها في هذا الكتاب هي مدى صعوبة تقديم المادة للمبتدئين. ربما لا تعتقد ذلك، هذا مجرد رأيي.

حسنًا يا أصدقائي، هل مازلتم ترغبون في تعلم لغة C#؟ ثم دعنا ننتقل بجرأة، أعدك أنه في المستقبل سيكون هناك حد أدنى من المقالات النظرية (إذا كان ذلك فقط في بداية تعلم C#)، وممارسة واحدة فقط. إذا كنت بحاجة إلى نظرية، فدخن كتاب أندرو ترويلسن.
وهكذا، إذا كنت بحاجة إلى أي معلومات حول الفصل الدراسي أو طريقته، فانتقل مباشرة إلى

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

  • خلق شمولي بيئة البرمجة الموجهة للكائناتالسماح بخيارات التنفيذ المختلفة: يمكن تخزين التعليمات البرمجية وتنفيذها محليًا؛ يتم تنفيذها محليًا وتوزيعها عبر الإنترنت؛ أو يتم تنفيذها عن بعد؛
  • توفير بيئة تنفيذ التعليمات البرمجية التي تقلل من تعارضات نشر البرامج وإصداراتها؛
  • ضمان أمان تنفيذ التعليمات البرمجية في البيئة - بما في ذلك التعليمات البرمجية التي أنشأها مطور غير معروف أو موثوق به جزئيًا؛
  • توفير بيئة تشغيل التعليمات البرمجية لمعالجة مشكلات الأداء في البرمجة النصية أو البيئات القائمة على التفسير؛
  • توحيد عمل المطورين في تطبيقات مختلفة تمامًا: سواء في تطبيقات Windows أو في تطبيقات الويب؛
  • استخدام معايير الصناعة في جميع مجالات تبادل البيانات، ونتيجة لذلك، ضمان توافق التعليمات البرمجية التي تم إنشاؤها في .NET Framework مع البرامج الأخرى.