أستغفر الله العظيم ... سبحان الله وبحمده



العودة   منتديات داماس > برامج الكمبيوتر والانترنت > برامج


مواضيع مميزة  


آخر عشرة مواضيع المواضيع النشطة


28-07-2010, 01:44 AM
MAHMOED غير متصل
عضوية الشرف
رقم العضوية: 153278
تاريخ التسجيل: Aug 2008
الإقامة: فى كنف الاخوان
المشاركات: 5,019
إعجاب: 1,515
تلقى 2,132 إعجاب على 501 مشاركة
تلقى دعوات الى: 1744 موضوع
    #1  

دليل الهجرة من Windows إلى Linux


دليل الهجرة Windows Linux

احبتى الكرام الاعضاء والمشرفين

اسمحولى بوضع الموضوع هنا مع العلم انى اعلم انه ليس مكانه ( السموحه)

والموضوع منقول كما هو


لكى تعم الفائده التى يحتاجها الكثير منا

السلام عليكم ورحمة الله وبركاته


دليل الهجرة من Windows إلى Linux

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

لقد شاركت في العديد من المنتديات الخاصة بنظام التشغيل Linux، أكثر الأسئلة التي
كانت تسأل تتعلق بكيفية الهجرة من ويندوز الى لينكس، بمقارنة البرامج و لغات
البرمجة و العتاد لكل من نظامي التشغيل ويندوز و لينكس.

و بطبيعية الأمر كنت أحاول إجابة السائلين بأبسط الطرق من أجل إيصال الفكرة مباشرة
للمتلقّي، لكنني و بكل صراحة مللت من المنتديات العربية و أدركت أن تضييع الوقت
فيها كثير، و للأسف السبب يعود لزواّر المنتديات بشكل رئيسي و بعد ذلك لإدارة هذه
المنتديات.

المشكلة الرئيسية عند مستخدمي لينكس العرب هو غياب مركزية المصادر بسبب قلتها، و لقد حاولت جاهدا مع العديد من الأخوة أن نوجد نواة مركزية للعرب بهذا المجال لكنني فشلت لأسباب سأتناولها في تدوينة مخصصة بهذا المجال.

أهم المشاكل التي يواجهها المستخدم العربي لويندوز عند إنتقاله للينكس هي زيادة
الإعتماد على سطر الأوامر بالّلونين الأسود و الأبيض (يعتقد البعض أنها نافذة موجه
الاوامر DOS لكن هذا الإعتقاد خاطئ تماما و سأشرحه لاحقاً)، أي بمعنى آخر غياب
واجهة المستخدم المرئية GUI في العديد من الاماكن التي يمكن حلها في ويندوز بشكل
مرئي، تعزى هذه المشكلة ليست لصعوبة لينكس بل لجهل مستخدمي ويندوز إضافة
لعصبية مصممي و و مستخدمي لينكس.

إن الغالبية العظمى من مستخدمي ويندوز يقومون بحفظ الرسائل المرئية و أماكن توضع
النوافذ في نظام التشغيل ويندوز بشكل أعمى -عن ظهر قلب- حتى دون الحاجة لقراءتها
بحيث تصبح عادة النقر على أزار معينة (تجاهل، موافق، إلغاء الأمر) ضمن الرسائل و
النوافذ أمر روتيني دون الحاجة لقراءتها، صحيح أن هذه الطريقة بالتعامل مع نظام
التشغيل مفيدة للكثيرين من حيث السرعة، لكنها كارثية لآخرين من حيث المضمون،
فالكثير ممن لا يتقنون اللغة الإنكليزية (من أطفال و كبار) يلجؤون للإجابة على هذه
الرسائل بطريقة عمياء، و أكبر مثال على ذلك هو زر ”Cancel” أو ”Esc” مما ينتج
عن ذلك كوارث في بعض الأحيان تضر بالبيانات أو بنظام التشغيل بشكل كامل، و الأهم
من كل ذلك هو إستغلال العديد من القراصنة و المخترقين لهذه النقطة و ذلك بتصميم
برامج قرصنة تحمل نفس الواجهات المرئية لنظام التشغيل، و بالتالي يصدر برنامج
الإختراق مجموعة من الرسائل الوهمية شبيه بتلك التي إعتاد عليها المستخدمون
العاديون ، فيجيبون عليها بشكل سريع و تتم عمليات القرصنة أو الإختراق دون علم
المستخدم، لذلك البرامج المفتوحة المصدر تكشف عن مثل هذه التلاعبات خصوصا أن
شيفرتها مسموح الإطلاع عليها و بالتأكيد لينكس هو الحاضنة الرئيسية للبرامج
المفتوحة المصدر، فنسبة أكثر من 99% من البرامج المستعملة في لينكس هي برامج
مجانية مفتوحة المصدر …. لقد أطلت المقدمة، حسنا نعود لدليل الهجرة.


من أجل ركوب سفينة الهجرة من مدينة ويندوز الى قارة لينكس إتبع الخطوات التالية:
الخطوة الأولى

قم بإنشاء قائمة بأسماء البرامج التي تستعملها في ويندوز مع مهمة كل برنامج.

الخطوة الثانية

إبحث عن بدائل برامج ويندوز و التي تؤدي نفس الوظيفة المطلوبة منها.


بما أن معظم البرامج المفتوحة المصدر يمكنها العمل على عدة أنظمة تشغيل لذلك
أنصحك بتحميل بدائل برامج ويندوز التجارية بأخرى مفتوحة المصدر من أجل التدرب
على هذه البرامج قبل هجرتك إلى لينكس و القائمة تحتوي على العديد من البرامج
المشتركة بين لينكس و ويندوز


دليل البرامج الحرة

عملية التدرب و البحث عن هذه البرامج يجب أن لا تتجاوز ألـ15 يوم فقط و أحب أن
أنوّه إلى أنك في الوقت الحالي يجب أن تنسى أمر الألعاب لأنني لا أعدّها من فئة البرامج
العادية بسبب أنها تملك بعض الخصوصية.

الخطوة الثالثة

قم بأرشفة جميع ملفاتك الشخصية و إنسخها على قرص DVD أو CD من أجل
الإحتفاظ بنسخة آمنة في حال حدث أي طارئ ما. و أنصحك بإستعمال برنامج النسخ
Nero.او iso


الخطوة الرابعة

بما أن لينكس حر مفتوح المصدر لذلك، هنالك العديد من التوزيعات التي تم إنشاؤها
لأغراض محدّدة أو عامة.

و بما أنك مواطن جديد في قارة لينكس، لذلك أنصحك بإختيار:

توزيعة ubuntu

أو

توزيعة opensuse

و إذا كنت لا تثق بأي من الإختيارين السابقين بإمكانك إستعمال المعالج التالي الذي
يساعدك على إتخاذ القرار بالتوزيعة المناسبة لك

Linux Distribution chooser

أو بإمكانك الإعتماد على الموقع التالي الذي يحتوي على روابط و تعريفات عن كل
توزيعات لينكس في الدنيا -تقريبا.

distro watch

بعد إختيار التوزيعة التي ترغب بها يجب عليك قراءة ميزات التوزيعة من اجل التأكد
مناسبتها لك.

الخطوة الخامسة

قم بتحميل التوزيعة التي تريدها من الموقع الرسمي، أو من أي موقع آخر لكن تأكد من
رقم الإصدار، فيجب ان تحصل على آخر إصدار من التوزيعة، لأنه قد تحدث إختلافات
جذرية بين إصدار و آخر، ثم بعد ذلك قم بنسخ ملف التوزيعة (على الإلب لاحقة ملف
التوزيعة سيكون من نوع *.iso) على قرص مضغوط بواسطة برنامج النسخ Nero.


و في حال أردت شراء توزيعة من السوق (و هو شيء لا أفضّله)، أنصحك بمراجعة رقم
الإصدار من الموقع الرسمي للتوزيعة، ثم بعد ذلك إذهب و إشتر من السوق.

الخطوة السادسة

بواسطة أي برنامج يدعم الآلة الإفتراضية لويندوز و لينكس، قم بتنصيب التوزيعة بشكل
وهمي من أجل تجربتها، و ذلك من أجل التأقلم عليها قدر المستطاع. و أشهر البرامج
التي تستعمل للآلات الإفتراضية هو:

vmware

و هو برنامج عملي خاص بالآلة الإفتراضية و الشبكات الإفتراضية أيضاً

يجدر بي التنويه أن هنالك بعض التوزيعات تعمل من القرص مباشرة دون الحاجة
لتنصيبها (LiveCD أو LiveDvD) لذلك لا حاجة لك بإستعمال برنامج الآلة
الإفتراضية لأن هذا النوع من التوزيعات يتيح لك خيار التنصيب على القرص الصلب أو
العمل من القرص المضغوط دون تغيير أي من محتويات جهازك.

الخطوة السابعة

قم بالبدأ بتنصيب لينكس لتحصل على جنسيتك الكاملة دون أي غبار، أثناء عملية
التنصيب ستلاحظ أن نوع الملفات التي يستعملها لينكس مغايرة عن ويندوز (
Fat, NTFS) لذلك لا تأبه لهذا الأمر لأنه بهجرتك إلى قارة لينكس ستصبح تعتمد على
هذا النوع من تنظيم الملفات.
ما يتعلق بالمبرمجين

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

MS Visual Studio، Borlan Delphi، Borland C++ Builder

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

بيئة التطوير IDE

عبارة عن محرّر متقدّم للشيفرات البرمجية، قد يحتوي هذا المحرر على العديد من
الإضافات، كالإكمال التلقائي، و التحرير المرئي لواجهة المستخدم GUI، و آلية الربط
التلقائي بين الشيفرات البرمجية و المترجمات Compilers من أجل إنتاج التطبيق
النهائي… إلخ من ميزات.

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

أما في لينكس فالأمر مختلف قليلاً، فهنالك بيئات تطوير تحتوي على محررات الشيفرات
فقط و أخرى تحتوي على مجموعة كاملة من الميزات (إكمال تلقائي، تحرير المرئي
لواجهة المستخدم GUI، وربط تلقائي مع المترجم Compiler)، و أخرى منقوصة،
… و الكثير.

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

و هي عبارة عن مجموعة من البرمجيات أو الشيفرات البرمجية التي تساعد على تطوير
البرامج، لكنها لا تستطيع أن تعمل مستقلة لوحدها أي بمعنى آخر، لا يمكن للمبرمج
إنجاز تطبيق أو برنامج معين بإستعمال حزمة تطوير فقط، فهو يحتاج لعدد من حزم
التطوير + محرر نصوص للشيفرات البرمجية من أجل إنجاز ما يريده، لذلك تعتبر حزم
التطوير مكمّل رئيسي لبيئات التطوير، و أهم أنواع حزم التطوير هي حزم المترجمات
Compilers و حزم تصميم واجهة المستخدم GUI Designers.

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

Glade

و هو برنامج خاص بتصميم واجهة المستخدمGUI بإستعمال حزمة التطوير GTK .


و لقد إعتقد أحد الأخوة أنه بيئة تطوير للغة البرمجة C++ و جاء يسألني عن كيفية
إنشاء تطبيق نهائي!

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

كمثال: إذا قام المبرمج بتصميم نافذة مرئية و زر متوضع ضمنها، عندها سيقوم برنامج
تصميم واجهة المستخدم بتوليد الشيفرة البرمجية التالية:

create window(caption, id)
{
create button(caption, id)
}

هذه الشيفرة متوفرة لعدة لغات برمجة مثل: C++, Python, Perl, C# …. الخ.


لذلك ينخدع المبرمج و يظن أن بإمكانه وضع شيفراته البرمجية الخاصة و بالتالي تنفيذ
برنامجه الذي يرغب به، و هذا هو قمة الخطأ !، فإنتبهوا لهذه الناحية المهمة جداً.


إن السبب الرئيسي لهذا الخلط بالمفاهيم هو قولبة الشركات للمبرمجين بطريقة تجبرهم
على نظام تشغيل معين و أكبر مثال على ذلك هو Visual Studio، فلو أردت إنشاء
برنامج يحتوي على نافذة بواسطة C++/MFC عندها ستقوم بيئة التطوير VS
بإستدعاء حزمة التطوير المرئية لـMFC، بعد ذلك يتم إستدعاء برنامج تصميم حزمة
التطوير المرئية لـMFC ، ثم بعد ذلك يتم توليد الشيفرة المناسبة لذلك تلقائياً.


كل هذا يحدث دون تدخل المبرمج، صحيح أن هذه العملية وفّرت على المبرمج كتابة
أسطر برمجية لكنها منعته من التحكم ببرنامجه ليعمل على نظام تشغيل آخر -أنا لا أقول
هنا أن بيئات التطوير في لينكس لا تدعم خاصية توليد شيفرات تلقائية خاصة بواجهة
المستخدم، بل أنوّه إلى ناحية إجبار المبرمج على إستعمال حزم تطوير خاصة بشركات
إحتكارية مثل حزمة MFC أو VCL (في لغة Delphi)

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

أنواع الشيفرات (البرامج)
الشيفرات (البرامج) الأصيلة Native Codes

شيفرات تطلب تنفيذ أمر معيّن من نظام تشغيل محدّد بحيث لو أردنا تنفيذ هذه الشيفرة
على نظام تشغيل آخر فإنها لن تنفّذ.

عدم التنفيذ للأمر على نظام تشغيل آخر يرجع لسببين، إما أن الشيفرة البرمجية تحتوي
على إستدعاءات مباشرة من واجهة برمجة التطبيقات API لنظام تشغيل محدّد أو أن
الشيفرة تم ترجمتها لنظام تشغيل محدّد (سناقشه في الفقرة القادمة).

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

هذا النمط من الشيفرات و الإستدعاءات المستعملة هو ما يستعمله مبرمجوا ويندوز إما
بشكل مباشر أو عن طريق حزم التطوير مثل MFC أو VCL، لكن هذا النمط ليس
مقتصرا على مبرمجي ويندوز فقط بل هو متواجد أيضا عند مبرمجي لينكس! ، لكنه قليل
الإستعمال -نوعا ما- فهو يقتصر على البرامج المكوّنة لنظام التشغيل ذاته أو على بعض
البرامج التي تحتاج لإستدعاءات خاصة من نواة نظام التشغيل مثل بعض برامج تحرير
الفيديو.
الشيفرات (البرامج) متعدّدة المنصات Cross-platform Codes

المقصود بكلمة منصات هي أنظمة التشغيل = منصات تشغيل.

معظم لغات البرمجة في العالم تستطيع العمل على عدّة أنظمة تشغيل أي لو قامالمبرمج
بكتابة شيفرة بلغة C++ القياسية على لينكس فإنها بالتأكيد ستكون صالحة للعمل على
ويندوز و ماكنتوش لكن بشرطين:

1.
أن لا تحتوي الشيفرة البرمجية على إستدعاءات واجهة برمجة التطبيقات API (شرحتها
بالفقرة السابقة) الخاصة بنظام تشغيل محدّد
2.
أن يتوفر للمبرمج مترجمات تستطيع ترجمة هذه الشيفرة لعدّة أنظمة تشغيل

المقصود بمصطلح ”تعدد المنصات” هو إمكانية ترجمة الشيفرات لتعمل على عدّة أنظمة
تشغيل و ذلك من قبل عدّة مترجمات أو مترجم واحد يترجم لعدة أنظمة تشغيل، و بالتالي
سنحصل بالنهاية على عدّة توزيعات لتطبيق معين من شيفرة واحدة، مثال:

لو أردنا ترجمة الشيفرة التالية بلغة C++ لنظامي التشغيل لينكس و ماكنتوش و
ويندوز عندها سنحصل على ثلاثة تطبيقات كل تطبيق خاص بنظام التشغيل الذي يخصّه


#include

int main()
{
std::cout << "Hello world!" << std::endl;

return 0;
}


لكن ماذا لو أراد المبرمج إستعمال حزم تطوير معينة، هل تصلح الشيفرة التي ستكتب
للعمل على عدّة أنظمة تشغيل؟

الجواب بسيط، لكنه سيكون بصيغة سؤال، هل حزمة التطوير التي تستعملها تحقق
الشرط الاول؟، إن كانت كذلك إذا الشيفرة الناتجة ستكون صالحة للعمل على عدّة أنظمة
تشغيل.

نسبة كبيرة من مبرمجي لينكس (بشكل خاص مبرمجي المصادر المفتوحة) يعتمدون في
برمجة تطبيقاتهم على أسلوب الشيفرة متعدّدة المنصات، و ذلك من أجل السماح
للمستخدمين أو المبرمجين على حد سواء من إستعمال هذه البرامج بكل حرية و بغض
النظر عن نظام التشغيل المستعمل.
الشيفرات (البرامج) المستقلة عن أنظمة التشغيل Os Independence

تكلمنا عن الغالبية العظمى من لغات البرمجة ماذا عن الباقي!

القسم الصغير من لغات البرمجة الأخرى لا تصلح لكي تصنف من أي من القسمين
السابقين و ذلك بسبب طبيعة هذه اللغات، إذ أن معظم هذه اللغات مختصة ببرمجة
الشبكات و الإتصالات مثل PHP و ASP و HTML لذلك تصنف هذه اللغات على أنها
مستقلة عن نظام التشغيل أي بالإمكان إنشاء تطبيق واحد قادر على العمل على عدة أنظمة تشغيل و لسنا بحاجة على الإطلاق لعمل توزيعات كما في النوع الثاني، لذلك يعتير هذا النوع من لغات البرمجة الأكثر قابلية للنقل لإمتيازه بهذه الخاصية المهمة، لكن
بالرغم من أهمية هذه الخاصية إلا أن تطبيقات هذا النوع من اللغات تبقى قاصرة ببعض
النواحي التي تتعلق بعمق نظام التشغيل، لذلك تم تطوير بعض هذه اللغات لتتعمق أكثر
بهذا المجال و تتدارك هذه النقطة السلبية و أذكر بالتحديد كل من لغتي البرمجة جافا
Java و بايثون Python

لقد تم توسيع هاتين اللغتين بشكل كبير في الآونة الأخيرة لتشملا العديد من النواحي من
برمجة الشبكات المستقل تماما عن نظام التشغيل حتى برمجة أجزاء من نظام التشغيل.


أي أصبحت هاتين اللغتين متطورتين لمستوى جمع بين ميزة البرامج متعددة المنصات
مع الأصيلة، لذلك أحدث التقنيات المتكورة يتم برمجتها بهاتين اللغتين و يتوقع أن
تنتشر هاتين اللغتين على صعيد واسع خصوصا مع تطور إمكانية برمجة تطبيقات سطح
المكتب بسهولة مع Java/RCP (راجع هذا الرابط)

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

الآن و بعد الإطلاع على هذه المصطلحات أصبح بإمكانك إتخاذ القرار السليم بشأن
الهجرة، و بالتالي لديك الإحتمالات التالية:
مبرمج C++ القياسية

لا توجد عندك أي مشكلة لأن برامجك أصبحت من زمرة الشيفرات الثانية، لذلك لا حاجة
لتعديل أي من برامجك فهي ستعمل 100% على لينكس. و أنصحك بإستعمال بيئة
التطوير…

easyeclipse

أو

code::blocks (و هو المفضل من ناحيتي)
مبرمج C++/MFC

حزمة MFC خاصة بشركة مايكروزوفت و بالتالي لدى إنتقالك إلى عالم لينكس لن
تستطيع إستعمال حزمة MFC لأن شيفرة MFC من النوع الأول، لذلك يجب عليك
نسيان كل ما يتعلق بهذه الحزمة! …. لا تخف

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

QT: حزمة مجانية (يوجد إصدار تجاري منها)، متوافقة مع لينكس و ماكنتوش و
ويندوز، تمتاز بتغليفها الجيد للأصناف و التوابع، لكن مشكلتها أن بيئات التطوير التي
تستعملها قليلة و السبب يعود أنها تحتوي على برنامج قوي جدا لتصميم واجهة
المستخدم لذلك لم يحبّذ مستخدموها إدماجها ضمن أي بيئة تطوير، لكن هنالك ميزة
مهمة في هذه الحزمة تميزها عن الحزم الأخرى و هي أنها متوافقة مع VS في ويندوز،
لذلك بإمكان مستخدمي VS أن يستعملوا هذه الحزمة لتعمل على Win و
Lin.

wxwidgets: حزمة أكثر من رائعة و هي مستخدمة على نطاق واسع و تم إستعمالها
في العديد من البرامج الضخمة الشهيرة، فمن ناحيتي أنا أنصحكم بإستعمالها بديلا عن
MFC فهي تجمع بين ميّزتين مهمتمين و هي التغليف الجيّد للأصناف و التوابع، إضافة
إلى صغر حجم الملف الناتج عنها.

بما أن هذه الحزمة شهيرة و مستعملة على نطاق واسع لذلك تم دمجها في العديد من
بيئات التطوير لكنني أفضل ما توصلت إليه من حيث التوافقية بين لينكس و ماكنتوش و
ويندوز هي بيئة التطوير:

code::blocks

و أفضل ما توصلت إليه من برامج تصميم لواجهة المستخدم هو:

wxformbuilder

GTK: أيضا هي من الحزم الشهيرة و المستخدمة على نطاق واسع، لكن معظم
إستعمالاتها مقتصر على البرامج التي تعمل على لينكس فقط، بالرغم من إمكانية توليد
توزيعات لبرامج تعمل على عدة أنظمة تشغيل، و السبب في إنتشارها في لينكس أكثر من
ويندوز هو أنها تمتلك بعض الميزات التي تسمح لها بالولوج لبعض الأماكن الخاصة
بلينكس فقط، إضافة لذلك أن حجم التطبيق الناتج عن هذه الحزمة كبير الحجم في
ماكنتوش أو ويندوز، لذلك عزف العديد عنها في ويندوز، بالرغم من ذلك فهي تستيطع
تأدية الغرض المطلوب منها بكفاءة، و الدليل على ذلك وجود برامج ضخمة تستعملها،
مثل حزمة سطح المكتب Gnome (لا تعمل إلا على نظم مفتوحة المصدر)، و برنامج
التصميم الشهير GIMP.

يبقى لي ذكر أهم بيئات التطوير التي تستعمل هذه الحزمة، و هي:

anjuta: بيئة تطوير متوافقة 100% مع GTK لكن مشكلتها الوحيدة أنها لا تعمل
على ويندوز، لكن الأمر المبشّر أن فريق تطوير هذه البيئة يسعون لتشغيلها على ويندوز
و لينكس.

code::blocks: بيئتي المفضلة للتطوير بإستعمال GTK، بالرغم من توافقيتها
الجزئية من GTK إلا أنها تعتبر ثاني بيئة تطوير توافقية مع GTK

أما برامج التطوير لواجهة المستخدم بإستعمال GTK، فهي كثيرة لكن أكثرها تميّزا
Glade الذي ذكرناه سابقاً
مبرمج dot net

أنصحك على الفور بإستعال حزمة التطوير mono، و أفضل بيئة تطوير تستعمل هذه
الحزمة هي:

monodevelop

بيئة التطوير monodevelop مخصصّة للعمل على نظامي التشغيل لينكس و
ماكنتوش (بالرغم من أن بإمكانها إنشاء تطبيقات تعمل على جميع أنظمة لتشغيل) لكن
بعض المبرمجين قاموا بتشغيلها ويندوز، و بإلإمكان الإطلاع على كيفية ذلك من خلال
الرابط النالي:

هل بإمكان MonoDevelope العمل على ويندوز؟

و المقالة التالية قد تفيد بالإطلاع عن تطور مونو .net في لينكس
مبرمج ديلفي Delphi

للأسف مبرمجي دلفي هم من أكثر المبرمجين الذين سيتأثّرون بهذه الهجرة بسبب
إستعمالهم للعديد من مكونات VCL المغلقة المصدر، لذلك جميع برامج دلفي التي
تحتوي على مكونات VCL مغلقة المصدر لن تعمل على لينكس، لكن بالإمكان الإستعاضة
عنها ببدائل لمكونات متواجدة ضمن بيئة التطوير Lazarus أما مكونات VCL
المفتوحة المصدر فهي ستعمل 100% دون أية عوائق.

Lazarus
مبرمج جافا- بايثون- بي إتش بي- بيرل- html

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

جافا Java:

easyeclipse

بايثون Python:

easyeclipse.python

بيرل Perl:

easyeclipse.lamp

بي إتش بي PHP:

easyeclipse.php

إتش تي إم إل HTML:

NVU
مبرمج Visual Basic

لغة VB بالأساس موجهة لنظام التشغيل ويندوز (هنالك فرق بين VB.net و VB)
لذلك لا يوجد أي بديل لها على لينكس، و باالتالي جميع برامج فيجوال بايسك لن تعمل
على لينكس، همممم مشكلة، أليس كذلك؟

مبرمجوا Linux وجدوا طريقة لحل هذه المشكلة و هي أنهم قاموا بتصميم بيئة تطوير
تستعمل لغة البايسيك Basic و هي gambas (Basic ليس Visual Basic) و
بالتالي كل ما عليك فعله لتشغيل تطبيقاتك هو تعديل الشيفرة البرمجية من VB إلى
Basic، و طبعا هذا أمر غاية بالسهولة بسبب التشابه الكبير من اللغتين لأن VB
إشتقت بالأساس من لغة Basic.

لكن أحب أن أنوّه أن gambas لا تعمل على ويندوز و بالتالي جميع تطبيقات ستكون
من نوع برامج الشيفرة الأصيلة (النوع الأول)

Gambas

ارجو قراءة الموضوع لاهميته و التفكير فى كل حرف


الموضوع منقول بعد استاذان صاحب الموصوع





=====================
........................................ ..
................................
...............
....
.

المواضيع المشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
Linux vs Windows الصراع مستمر MAHMOED صور - طرائف - الغاز - مسابقات - تسالي - مرح - نكت - فوازير 14 16-05-2011 01:45 AM
windows-mac-linux samirahmed المنتدى العام لتصميم الأسطوانة 4 25-10-2006 08:19 PM
Linux vs. Windows Viruses linux syria الأنظمة المفتوحة المصدر Open Source OS 13 29-12-2004 12:24 AM
Only Here in DamasGate run Mac OS X on windows Xp and Linux saadku ويندوز Windows XP 41 23-06-2004 12:49 AM
VMware Workstation for Linux&windows المثـابـر برامج 3 02-02-2004 12:44 AM
28-07-2010, 02:14 AM
mimoboy غير متصل
عضو ذهبي
رقم العضوية: 106984
تاريخ التسجيل: Feb 2008
الإقامة: كفر الشيخ
المشاركات: 978
إعجاب: 537
تلقى 101 إعجاب على 22 مشاركة
تلقى دعوات الى: 15 موضوع
    #2  
ده الهجره الي الينك طويله وصعبه
قوي
ههههههههههههههههه
مشكووووووووووور اخي الفاضل علي مجهودك الرائع


الحمد لله كثيرا نحمدة و نستيع به علي بعدنا عن المعاصي

اللهم صلي و سلم علي محمد الرسول الكريم
اللهم شفعة فينا يوم اللقاء





28-07-2010, 04:11 AM
visionary7 غير متصل
عضو ماسـي
رقم العضوية: 339663
تاريخ التسجيل: Jun 2010
المشاركات: 1,029
إعجاب: 64
تلقى 211 إعجاب على 38 مشاركة
تلقى دعوات الى: 0 موضوع
    #3  
تفضل من هنا رابط مباشر لاخر اصدار من لينوكس ubuntu 10.04



http://ubuntu.qualitynet.net/release...sktop-i386.iso

ومن هنا الموقع الرسمى



http://www.ubuntu.com




التنافس مع الذات هو آفضل
تنافس في العالم,,,
وكلما تنافس الآنسان مع
نفسه كلما تطور,,,
بحيث لا يكون اليوم كما كان
بالآمس ولايكون غدا كما هو
اليوم...

28-07-2010, 06:53 AM
raedms غير متصل
VIP
رقم العضوية: 81535
تاريخ التسجيل: May 2007
المشاركات: 23,957
إعجاب: 618
تلقى 4,106 إعجاب على 733 مشاركة
تلقى دعوات الى: 1330 موضوع
    #4  
مشكور اخي الفاضل علي مجهودك الرائع


سبحان الله وبحمده سبحان الله العظيم


28-07-2010, 11:25 AM
اذكرالله غير متصل
عضوية الشرف
رقم العضوية: 327106
تاريخ التسجيل: Mar 2010
الإقامة: japan - italy
المشاركات: 1,972
إعجاب: 273
تلقى 530 إعجاب على 67 مشاركة
تلقى دعوات الى: 10 موضوع
    #5  
وعليكم السلام
اخ MAHMOED شكرا
لكن لدي بعض الملاحظات ( طبعا لكاتب الموضوع وليس لك ) اتمنى ان تتقبلها بكل سرور

1- انت تخاطب اشخاص لم يسمعوا بال linux او حتى لم يروه
فيفضل ان تكون طريقة العرض جذابة وفعاله وليس مجرد كتابة تشعر بالملل - انا مطور مع ubuntu والصراحة لم استطع اكمال القراءة - وانا ارى ان الموضوع موجه لمن يريد التطوير
مثلا انا ارى هذا ال video يعرض الفكره بطريقة جيده
هنا


http://vimeo.com/10518151

2-
لكنني و بكل صراحة مللت من المنتديات العربية و أدركت أن تضييع الوقت
فيها كثير، و للأسف السبب يعود لزواّر المنتديات بشكل رئيسي و بعد ذلك لإدارة هذه
المنتديات.
لماذا ؟ النظام اصلا البعض يراه غريبا . فهنا يجب ان تقنعهم لا ان تتركهم

3-

Glade

و هو برنامج خاص بتصميم واجهة المستخدمGUI بإستعمال حزمة التطوير GTK .
لست بحاجة الى برامج . فقط استخدم perl مع GTK
والامر سهل

4-
في نطاق نظام التشغيل المغاير لويندوز،و بالتالي لو أراد أي مبرمج وبندوز الإنتقال الى
ماكنتوش أو لينكس أو أي نظام تشغيل آخر سيجد صعوبة بالغة بسبب إعتياده على نمط
برمجي معين أجبر على إستعماله بشكل غير مباشر،
لا اعتقد ذلك اذا كنت من مبرمجي C#

5-
و في حال أردت شراء توزيعة من السوق (و هو شيء لا أفضّله)،
لماذا لا تفضله . هو خيار اخر لمن لا يملك سرعات مرتفعة


6-
Perl بدأ مشروع تطويرها من أجل
توسيع قدراتها لتصبح قادرة على إستيعاب مزيداً من المرونة كما هو الحال مع جافا و
بايثون، لكن عملية التطوير لا تزال في بداياتها، و أعتقد شخصيا أنها ستطول لفترة
معينة بسبب السيطرة التجارية لبعض الشركات
كما ذكرت . perl جيدة وسهله وقوية


الى هنا وتوقفت

شكرا


انا لست عربي
لذا اعذرني اذا لم افهمك من البداية
شاركنا بتصميم سطح مكتبك


++ Off-Line ++

28-07-2010, 03:43 PM
سلطان عطيه غير متصل
عضو محترف
رقم العضوية: 306123
تاريخ التسجيل: Aug 2009
الإقامة: \
المشاركات: 680
إعجاب: 473
تلقى 100 إعجاب على 39 مشاركة
تلقى دعوات الى: 0 موضوع
    #6  
انا مش فاهم حاجة
ارجو التوضيح والشرح شوية شويه علشان استفيد والكل يستفيد يا جماعة


لا اله الا الله محمد رسول الله

29-07-2010, 12:08 AM
MAHMOED غير متصل
عضوية الشرف
رقم العضوية: 153278
تاريخ التسجيل: Aug 2008
الإقامة: فى كنف الاخوان
المشاركات: 5,019
إعجاب: 1,515
تلقى 2,132 إعجاب على 501 مشاركة
تلقى دعوات الى: 1744 موضوع
    #7  
المشاركة الأصلية كتبت بواسطة mimoboy 
ده الهجره الي الينك طويله وصعبه
قوي
ههههههههههههههههه
مشكووووووووووور اخي الفاضل علي مجهودك الرائع
لذالك اسميناها هجره
ههههههههه
اكرمك الله

المشاركة الأصلية كتبت بواسطة visionary7 
تفضل من هنا رابط مباشر لاخر اصدار من لينوكس ubuntu 10.04



http://ubuntu.qualitynet.net/release...sktop-i386.iso

ومن هنا الموقع الرسمى



http://www.ubuntu.com
اضافه طيبه منك اخى الفاضل
ولكن نتكلم عن الينكس عامه

المشاركة الأصلية كتبت بواسطة raedms 
مشكور اخي الفاضل علي مجهودك الرائع
مرور عطر

المشاركة الأصلية كتبت بواسطة أبوجساس 
تسلم الأيادي أخي وفقك الله
سلمك الله

29-07-2010, 12:12 AM
MAHMOED غير متصل
عضوية الشرف
رقم العضوية: 153278
تاريخ التسجيل: Aug 2008
الإقامة: فى كنف الاخوان
المشاركات: 5,019
إعجاب: 1,515
تلقى 2,132 إعجاب على 501 مشاركة
تلقى دعوات الى: 1744 موضوع
    #8  
لكن لدي بعض الملاحظات ( طبعا لكاتب الموضوع وليس لك ) اتمنى ان تتقبلها بكل سرور
مرحبا بك اخى الكريم
عود حميد

جزاك الله خيرا على الملاحظات
انما ارت ان انقل الموضوع كما هو من صاحبه
دون تعديل عليه او اضافه
وارت ايضا ان تعم الفئده على الجميع
وانتظر ملاحظاتك الباقيه

جزاك الله خيرا

30-07-2010, 08:43 PM
محمد فاروق رشاد غير متصل
عضو فعال
رقم العضوية: 312381
تاريخ التسجيل: Oct 2009
الإقامة: Egypt
المشاركات: 130
إعجاب: 52
تلقى 0 إعجاب على 0 مشاركة
تلقى دعوات الى: 8 موضوع
    #9  

اردت ان اذيدك تقيما" اخر ولكن ظهرت رسالة انى قمت بتقيمك من قبل
اقيمك تقيم علنى انتى انسان رائع و محترم


04-08-2010, 12:36 AM
MAHMOED غير متصل
عضوية الشرف
رقم العضوية: 153278
تاريخ التسجيل: Aug 2008
الإقامة: فى كنف الاخوان
المشاركات: 5,019
إعجاب: 1,515
تلقى 2,132 إعجاب على 501 مشاركة
تلقى دعوات الى: 1744 موضوع
    #10  

المشاركة الأصلية كتبت بواسطة محمد فاروق رشاد 
اردت ان اذيدك تقيما" اخر ولكن ظهرت رسالة انى قمت بتقيمك من قبل
اقيمك تقيم علنى انتى انسان رائع و محترم
اكرمك الله
مرورك اخى الكريم تكريم لى
حياك الله

 


دليل الهجرة من Windows إلى Linux

English

Powered by vBulletin® Version
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
The owner and operator of the site is not responsible for the availability of, or any content provided.
Topics that are written in the site reflect the opinion of the author.
جميع ما يُطرح من مواضيع ومشاركات تعبر عن رأي كاتبها ولا تعبر عن رأي مالك الموقع أو الإدارة بأي حال من الأحوال.