ما هو .نت؟ ماذا تشمل بشكل رئيسي؟ تلخص هذه المقالة بعض المشكلات الشائعة المتعلقة بـ .NET، على الرغم من أن النظام الأساسي .NET قد تطور بسرعة في السنوات القليلة الماضية، إلا أن المفاهيم المقدمة في هذه المقالة ظلت دون تغيير.
تلخص هذه المقالة بعض الأسئلة والأجوبة الشائعة حول .NET. ستكون هذه الأسئلة المتداولة حول .NET مفيدة للقراء الذين يرغبون في فهم المفهوم العام لـ .NET.
1. ما هو .Net؟ ما الذي يتضمنه بشكل أساسي؟
.Net عبارة عن منصة حوسبة واتصالات من الجيل الجديد تم تصميمها لتبسيط تطوير التطبيقات في بيئة عالية التوزيع لإنترنت الجيل الثالث، وهي تعتمد على معايير وبروتوكولات الإنترنت المفتوحة وتحقق تفاعلًا عاليًا مع اللغات والأنظمة الأساسية غير المتجانسة.
يشتمل .Net بشكل أساسي على مكتبة فئة Common Language Runtime ومكتبة .Net architecture.
2. ما هي المزايا الرئيسية للنت؟
تتمثل المزايا الرئيسية لـ .Net في تعدد اللغات والأنظمة الأساسية والأمان ودعم معايير وبروتوكولات الإنترنت المفتوحة.
يدعم .Net إمكانية التشغيل البيني بلغات متعددة، أي أنه يمكن إعادة استخدام المكونات التي تم تطويرها في لغة واحدة في مكون آخر من خلال الميراث الموجه للكائنات. حاليًا، يدعم .Net أكثر من 20 لغة.
تدرك .Net إمكانية التشغيل البيني للكائنات في ظل منصات غير متجانسة عن طريق تجميع كل لغة أولاً إلى لغة وسيطة (IL)، ثم استخدام مترجم في الوقت المناسب (Just In Time) لتجميعها في كود النظام الأساسي المحلي أثناء التنفيذ حاليًا. يدعم .Net دعم الأنظمة الأساسية لأنظمة التشغيل Windows وLinux وUnix قيد التطوير.
يقوم .Net بتنفيذ كائنات الموارد وأمان النوع من خلال وقت تشغيل اللغة العامة.
يوفر .Net واجهة برمجة للحصول على الخدمات عن بعد، وتوصيل الأجهزة عن بعد، والتفاعل مع التطبيقات عن بعد في بيئات الشبكات غير المتجانسة من خلال الدعم القوي لمعايير الإنترنت مثل HTTP، وXML، وSOAP، وWSDL.
3. ماذا يعني وقت تشغيل اللغة العامة في .Net؟ وأين يتناسب مع .Net؟
يعد وقت تشغيل اللغة العامة CLR (وقت تشغيل اللغة العامة) أساس إطار عمل .net بأكمله وهو المفتاح لتحقيق الميزات الأساسية لـ .Net مثل أمان الأنظمة الأساسية واللغات المشتركة والتعليمات البرمجية. إنه في الواقع جزء من كود الوكيل الموجود في الذاكرة وهو مسؤول عن إدارة التعليمات البرمجية أثناء تنفيذ .net بالكامل. تتضمن الأمثلة النموذجية: إدارة الذاكرة، وإدارة الخيوط، والإدارة عن بعد، ونوع الأمان الإلزامي للكود، وما إلى ذلك. يمكن أن يطلق عليها شريان الحياة لـ .net Framework. في الواقع، يقوم وقت تشغيل اللغة العادي بتفويض جزء من وظائف إدارة نظام التشغيل.
4. ما هي مكتبة فئة Net architecture؟ ما الذي تتضمنه؟
تم إنشاء مكتبة فئة بنية .Netl استنادًا إلى الميزات الموجهة للكائنات في وقت التشغيل وهي عبارة عن مجموعة من الفئات القابلة لإعادة الاستخدام والمتكاملة بإحكام مع وقت تشغيل اللغة العادي. إنه يبسط تطوير البرامج إلى حد كبير ويسهل دمجه بسلاسة مع مكونات الطرف الثالث.
تتضمن مكتبة فئة .Net architecture بشكل أساسي دعمًا لنماذج البرمجة التالية:
1. تطبيق وحدة التحكم.
2. البرامج النصية والتطبيقات المضيفة.
3. تطبيق Windows Forms (تطبيق واجهة المستخدم الرسومية لسطح مكتب Windows).
4. تطبيق ASP.Net.
5. تطبيقات خدمات الويب.
6. برنامج خدمة ويندوز
5. ما هي لغات التطوير التي يدعمها .Net؟ ماذا تعني قابلية التشغيل البيني للغة .Net؟
تدعي شركة .Net أنها تدعم أكثر من 20 لغة في السوق، ولكن في الوقت الحالي يتم إصدار C# وVisual Basic.Net وManaged C++ وJsript رسميًا بواسطة Microsoft وتدعي الشركات المصنعة الأخرى أن أدوات الدعم قيد التطوير تشمل COBOL وEiffel وPerl و سمول توك و بايثون.
تشير قابلية التشغيل البيني للغة .Net إلى دعم وراثة الكائنات في اللغات التي تتبع مواصفات Common Language Runtime، أي أنه يمكن إعادة استخدام الفئات التي تم تطويرها ضمن منصة .Net بلغة واحدة بلغة أخرى. ويتحقق ذلك من خلال شيء يسمى Microsoft Intermediate Language MIL، أي أن مترجم اللغة يقوم أولاً بتجميع اللغة إلى Microsoft Intermediate Language، ثم يقوم بتجميع التعليمات البرمجية الأصلية ضمن النظام الأساسي المقابل. ويتم كل هذا وفقًا لمواصفات وقت تشغيل اللغة العادية.
6. ما هي الأنظمة الأساسية التي يدعمها Net؟ ما مدى جودة التنفيذ عبر الأنظمة الأساسية؟
تتضمن الأنظمة الأساسية التي تدعم حاليًا .Net Windows 2000 وNT4 SP6a وWindows Me وWindows 98. الأنظمة الأساسية التي تدعي أنها تدعمها تشمل Unix وLinux وما إلى ذلك. يوجد حاليًا ثلاثة مشاريع لتطوير منصة .Net ضمن نظام Linux: مشروع Ximian's Mono وDotGNU وPotable .NET.
7. ما هي العلاقة بين .Net وCOM؟ هل يعني .Net نهاية COM؟
يحدد COM معيارًا ثنائيًا للاتصال بين كائنات المكونات. ويوفر Net آلية مماثلة من خلال نظام النوع المدمج للمكون، والذي يوفر طريقة أخرى لذلك. .Net لا يعني نهاية COM، ولكنه سيقلل بشكل كبير من اعتماد المطورين على COM. يدعم .Net إمكانية التشغيل المتداخل بين مكونات COM و.Net. في الواقع، يمكنك الحصول على مكونات COM في .Net من خلال Runtime Callable Wrapper (RCW)، والحصول على .Net في COM من خلال مكونات COM Callable Wrapper (CCW).
8. ما هي اللغة المتوسطة (IL) في .Net؟ ما الدور الذي تلعبه في منصة .Net؟ هل يستطيع المطورون البرمجة باللغة المتوسطة (IL)؟
تشير اللغة المتوسطة في .Net إلى مجموعة من التعليمات التي يمكن تحويلها إلى تعليمات برمجية محلية من خلال مترجم في الوقت المناسب (Just In Time) ضمن مواصفات وقت تشغيل اللغة العادية وهي مستقلة عن وحدة المعالجة المركزية. إنه رابط أساسي لتحقيق قابلية التشغيل البيني للغة في النظام الأساسي .Net، ويجب أولاً تجميع جميع لغات النظام الأساسي .Net في لغة وسيطة (IL). يمكن للمبرمجين أيضًا استخدام اللغة المتوسطة (IL) مباشرة في البرمجة، ولكن لا يوصى باستخدام اللغة المتوسطة فهي مفيدة جدًا لفهم سلوكيات معينة لكائنات .Net وبرامج تصحيح الأخطاء.
9. ما هو جمع البيانات المهملة تلقائيًا في .Net؟ ما هي التغييرات التي يجلبها إلى البرمجة ضمن منصة .Net؟
يعتبر أداة تجميع البيانات المهملة .Net مسؤولة عن تخصيص الذاكرة ومهام الإصدار للكود المُدار لوقت تشغيل .Net بالكامل. فهو يختار الكائنات والوقت الذي سيتم جمعه من خلال خوارزمية تحسين معينة. لا يمكن للمبرمجين إجراء عملية جمع البيانات المهملة القسرية إلا عند تحرير عدد كبير من الموارد المُدارة. عند تحرير الموارد غير المُدارة، استخدم عملية الإنهاء لمعالجتها. يجب على تلك التي تحتاج إلى تحرير أثناء تشغيل البرنامج تنفيذ طريقة Dispose() وإنشاءها انها دعوة واضحة. وفي أحيان أخرى، يتم ترك إعادة تدوير الموارد لجمع البيانات المهملة .Net.
10. ماذا يعني كود Net المُدار والتعليمات غير المُدارة؟ ما الفرق بين الكود الخاص بهما؟
تشير التعليمات البرمجية المُدارة لـ .Net إلى التعليمات البرمجية التي تتوافق مع مواصفات وقت تشغيل اللغة العامة وتخضع لوكلاء تعليمات برمجية وقت التشغيل في الذاكرة لإدارة الذاكرة وإدارة الخيوط والإدارة عن بُعد وأنواع الأمان التي يتم فرضها بواسطة التعليمات البرمجية. تشير التعليمات البرمجية غير المُدارة إلى التعليمات البرمجية التي تعمل على موارد غير مُدارة مثل الذاكرة والملفات وقواعد البيانات وما إلى ذلك. وعادةً لا تتم إدارتها بواسطة وكلاء التعليمات البرمجية في وقت التشغيل وهي غير آمنة. عند برمجة التعليمات البرمجية المُدارة، ما عليك سوى التركيز على منطق البرمجة، وتترك إدارة الموارد مثل الذاكرة لوقت تشغيل اللغة العامة. ومع ذلك، عند برمجة تعليمات برمجية غير مُدارة، يجب على المطورين الاهتمام بكل جانب بعناية الموارد غير المدارة.
آمل أنه بعد قراءة الأسئلة العشرة المتداولة أعلاه الخاصة بـ .NET، أن تتمكن من تحسين فهمك لمنصة .NET.
هذه المقالة مأخوذة من مدونة CSDN، يرجى الإشارة إلى المصدر عند إعادة الطباعة: http://blog.csdn.net/thy822/archive/2009/12/23/5061127.aspx.
-