.net في لينكس
أنشئ بواسطة محمد بشير النعيمي في 18 نوفمبر 2007 | وسم كـ:
مدخل الفهرس
مضى على إعلان شركة ميكروسوفت إطلاق حزمة net. و بناء أدواتها الأولى على نظام التشغيل ويندوز عدّة أعوام و منذ ذلك الحين ظهرت أدوات عديدة تسمح للمستخدم بتشغيل تطبيقات net. على بيئة نظام التشغيل لينكس . و تفيد هذه المقالة بإعطاء المعلومات العامة لطريقة التطوير باستخدام الأدوات التي أنشأت في الوقت الراهن باستخدام net. و التي هي حزمتي Mono و DotGNU.
ما هو الـ Mono الفهرس
هو عبارة عن مشروع لبناء حزمة مفتوحة المصدر يطوّر حاليا من قبل Ximian و بدعم من Novell و هو من ابتكار Miguel de Icaza من GNOME . الفكرة الأساسية للبدء بالعمل في Mono كانت ترتكز بشكل أساسي على نفس مواصفات ميكروسوفت التقنية و التي هي :
-
تكامل لغات البرمجة فيما بينها .
-
واجهة برمجة التطبيقات ( API ) المكشوفة للغات برمجية متعددة .
-
البرمجة التي تعتمد على الواجهة الرسومية ذات الوصلة الموحدة .
المكون الأساسي لـ Mono هو وقت التشغيل للغات المشتركة ( CLR ) الذي يوفّر البيئة عندما تنفّذ .net شيفرة البايت و المعروفة بـ MSIL ( لغة يكروسوفت الوسيطة ) فإذا كانت بيئة الجافا مألوفة لديك عزيزي المبرمج فانك ستلاحظ أن CLR مشابهة لطبيعة بيئة وقت التشغيل في الجافا و التي تسمح بتنفيذ شيفرة البايت جافا في طريقة نظام التشغيل المستقل .
و بالإضافة لتنفيذ شيفرة البايت .net فان Mono تقدّم أيضا مكتبات الصف التأسيسية اللاّزمة لإنشاء تطبيقات .net بشكل مصفوفة موسّعة من الأمثلة المتوفرة لإطار العمل مثل تطبيقات الشبكة من خلال ASP .net و ADO .net و إطارات ويندوز و خدمات الشبكة و هذا الجزء الخاص من Mono يمكن أن يعتبر عملاً نحو التقدّم بالرغم من أنه لا يقدّم معظم الصفوف الشائعة المستخدمة في إنشاء مكونات .net فهذه النواقص هي عبارة عن بعض التطبيقات الخاصة ميكروسوفت .net و الموجهة لويندوز فقط .
تقدم Mono مصرفاً للغة البرمجة #C و دعم أقل لمصرف Visual Basic.Net و ذلك لإنشاء MSIL التي تسمح باستخدام إما #C أو Visual Basic لإنشاء تطبيقات .net في لينكس . مما سبق ….…. ذكرت بأن Mono تدعم لغتين برمجيتين لكن خطة عمل Mono المستقبلية تضع بالحسبان توفير مصرفات أخرى مثل #J و التي بالقريب العاجل سيتم تنفيذها لإنشاء شيفرة البايت من صفوف جافا .
و من أجل استضافة تطبيقات net. المطوّرة في بيئة الشبكة ( ASP .net ) فان Mono تقدم بديلين هما :
-
مخدّم الشبكة المستقل و المسمى XSP .
-
وحدة Apache الملقبة بـ mod_mono ( مونو العصرية )
لا البديلين السابقين يسمحان بتنفيذ تركيبات شبيهة بـ ASP .net لإنشاء مخدّم معلومات الانترنت على بيئة التشغيل لينك
ما هو الـ DotGNU الفهرس
DotGNU برنامج مجاني للمشروع الشامل لإطار العمل .net و تحت اسم .net النقال فهو يقدّم مصرف C# القياسي و وقت التشغيل اللاّزم لتنفيذ شيفرة البايت كما هو معرّف بواسطة مواصفات ECMA-334 و ECMA-335 و بشكل مشابه لحد كبير لـ Mono .
فإذا كنت عزيزي المبرمج معتادا على GNU فانك بالتأكيد ستهتم بـ DotGNU . و على أية حال Mono لديه ميزاته الخاصة فهو قابل للتطوير بشكل أكبر من DotGNU و كذلك لديه شعبية بين المستثمرين أكثر و باعتقادي أن السبب يعود لكونه من نفس جذر GNOME
و بالرغم من أن أدوات التطوير لـ .net ما تزال قيد الانجاز في لينكس إلا أن الملفات التنفيذية لشيفرة .net مستقرة في لينكس نوعا ما و أعتقد أنه بعد فترة وجيزة سيصبح بالإمكان استعمال مكونات .net في كلا من نظامي التشغيل ويندوز و لينكس و ذلك عن طريق حزمتي التطوير Mono و DotGNU .
تنويه الفهرس
بالرغم من أنني أنا من كتبت هذه المقالة إلا أن حقوق نشرها عائدة لشعاع للنشر

طيب يا محمد بالنسبة للـ Compiled .NET Applications هتشتغل هى كمان و لا ﻷ ( يعنى معايا مثلا EXE معمول بالـ #C ليعمل على الـ NET Framework 2. أعرف أشغله على Mono أو DotGNU ؟
(الـ Source Code له غير متوفر)
الأخ msayed2004
أي نظام تشغيل في العالم -بشكل عام – لا يستطيع تشغيل تطبيقات ملفات تنفيذية لبرنامج غير مخصص للعمل ضمن بيئته، لذلك لينكس لن يستطيع تشغيل تطبيق exe مخصص للعمل على ويندوز حتى و لو كان الأخير يعمل على دوت نيت، لكن بما أن مونو متوافق مع دوت نيت في ويندوز لذلك بإمكانك تشغيل تطبيق دوت نيت على لينكس إذا قمت بإعادة بناء تطبيق الدوت نيت على لينكس، و بالطبع أنت بحاجة للشيفرة المصدرية له، لكي تتم عملية إعادة البناء.
لكن بما أن تطبيق الدوت نت متوفر لديك بصيغة ثنائية (exe)، تستطيع تشغيله على لينكس بإستعمال برنامج WINE الذي يعمل كمحاكي لويندوز ضمن لينكس.
بسم الله الرحمن الرحيم
ما علاقة شعاع ؟
هل يمكن بمساعدة Mono أو DotGNU برمجة برامج من الممكن أن تعمل في ويندوز حتى إذا برمجتها و أنا أستخدم لينكس؟
هذه المقالة نشرتها في موقع شعاع من قبل لكن الموقع توقف لذلك أعدت نشرها في مدونتي لتعميم الفائدة، مع الحفاظ على حقوق النشر.
نعم بكل تأكيد، لأن مونو و دوت جنو متوفران على عدة أنظمة تشغيل، يعني البرمجة بواسطتها أكثر مرونة من حزمة دوت نت نفسها.
طبعا أنا أقصد أن أبرمج و أنا أستخدم لينكس ثم أعطي البرنامج لمستخدمي ويندوز
نعم بإمكانك ذلك بكل حرية