المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : ماهو عمل Net framework



En.Khaled Alfaiomi
09-25-2010, 11:43 AM
سوف أتحدث الان عن ماهو .Net framework مع بداية ظهور Visual Studio.Net
بدأ يكثر الحديث عنه ولاقى صدى كبير بين أوساط المبرمجين ,,
الحقيقة أردت بهذه المقالة أستعراض Net framework بشي من التفصيل عنه

رابط التحميل

http://www.microsoft.com/downloads/en/details.aspx?FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7&displaylang=en

ماهو Net framework

Net framework أنشئ بواسطة مايكروسوفت وظهرت منه عدة نسخ هي
Net framework 1.0 إلى 3.5
Net framework بأختصار شديد هي مجموعة من Namespaces Classes و fun's التي تساعد المطور
اختصار الوقت في بناء مشاريعه باستخدام هذه الجاهزة (Namespaces Classes و fun's )
كذالك يدعمNet framework لغات برمجية كثيرة منها C# وهي بالاساس من .Net
وكذالك J****** و C++ و VB وغيرها من اللغات كذالك تدعم اللغات القديمة مثل COBOLو FORTRAN

مالذي بداخل Net framework

يمكن القول ببساطة شديدة أن Net framework هي مكتبة عملاقة من الاكواد التي تستخدم تقنية البرمجة
كائنية التوجه OOP ) ) مثل C# ,

هذه المكتبة مقسمة أو مصنفة إلى مجموعة من الوحدات (modules) على سبيل المثال تحتوي على وحدة
Module)) خاصة ببناء تطبيقات ويندوز Windows applications)) ووحدة أخرى لتطوير تطبيقات الويب
(*** applications) وأخرى لبرمجة الشبكات وبعض الوحدات مقسمة إلى وحدات جزيئة من الأساسية
مثل *** service من (*** applications)

كيف يتم تنفيذ تطبيقك في Net framework
الان سوف نتكلم عن بيئة التطوير Visual Studio .Net هذه البيئة متكاملة وقوية وسهلة الاسخدام تدعم لغات

مثل
C#.Net و VB.Net و J#.Net و أيضاً C++.Net وهذه تسمى لغات .Net


وسوف نتكلم عن اللغات التي تسخدم في Net framework ك C# من المعروف أن اللغات عالية المستوى
لايمكن أن يفهمها الكمبيوتر مباشرة لابد أن تترجم إلى لغة الالة وتحويل اللغة عالية المستوى إلى لغة الالة
تسمى هذه Compiling أي ترجمة( ترجمة للكمبيوتر) لفهمها

وبالنسبة لل Net framework تتم العملية هذه بمرحلتين


MSIL و JIT

En.Khaled Alfaiomi
09-25-2010, 11:43 AM
وبالنسبة لل Net framework تتم العملية هذه بمرحلتين


MSIL و JIT

حينما تترجم الكود يحول الكود إلى اللغة الوسيطة MSIL اللغة الوسيطة لميكروسوفت
Microsoft intermediate language اختصار MISL وجميع لغات .Net تمر بهذه المرحلة
ويتم التنفيذ بواسطة JIT اختصار Just In Time وهو يهتم بعملية التنفيذ
طبعاً في حالة وجود خطاء لايتم تحويل الكود للغة الوسيطة وفي حال الأخرى يتم تنفيذ ذالك ب JIT

Assemblies و Managed Code
المجمعات
Assemblies
حينما يتم تحويل الكود إلى اللغة الوسيطة يتم تخزين ذالك في المجمعات.
المجمعات تشمل كلاً من الملفات التنفيذية مثل
.exe
وكذالك المكتبات الديناميكية
.DLL
ولا نحتاج ل أية برامج لكي تشتغل
طبعاً لابد من وجود
Net framework
إدارة الكود
Manage code
CLR
Common Languages Runtime
اللغات المشتركة وقت التنفيذ وهي طبعاً في جميع لغات
.Net
أحد قواعد
CLR
أنها لا تنتهي بمجرد ترجمة الكود أو تحويله إلى اللغة الوسيطة , الكود المكتوب ب
Net Framework
يدار وقت التنفيذ أي أدارة الذاكرة (لايحتاج المبرمج لإدارة الذاكرة ومشاكلها كما في سي ++) أو الحماية (مثل تخزين بالذاكرة بشكل صحيح وعدم استخدام موارد الاجهزة بدون فائدة) أو التنقيح من
الأخطاء وقت التنفيذ (مثل أحياناً يعمل البرنامج لكن وجود خطاء أثناء التشغيل يذهب بك إلى الكود)
بالمقارنة باللغات التي لاستخدم
CLR
مثل
C++
تتعامل مع الذاكرة بشكل مباشر باستخدام المؤشرات التي يعاني منهم الكثير من المبرمجين في إدارة الذاكرة

هذه من مميزات
CLR
في
Net framework

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


تلخيص لما ذكر سابقاً
1- تطبيق كتب بلغة سي شارب
http://farm3.static.flickr.com/2038/2230832412_bcc061eee3_o.jpg
2- الكود بعد تحويله للغة الوسيطة والتي ستخزن في المجمعات
http://farm3.static.flickr.com/2316/2230832410_e3d4e924b4_o.jpg
3- عندما يتم تنفيذ الكود
http://farm3.static.flickr.com/2284/2230832416_eb76572925_o.jpg

انتهى الموضوع وأرحب بأي مشاركات أو ملاحظات

عاشق الوطنية
09-25-2010, 11:57 AM
مشكور خالد متمني حمل بس ما رح يفدني
يا غالي ما بفهم بلبرمجة