ربما تكون فايت ليك سمعتي ب Monorepo
لكن ما عرفتيش شنو كاتعني أو ربما عمرك ما سمعتي بها, ل Monorepo
ماشي شي حاجة جديدة لكن مكانتش معروفة بزاف, حيت غير الشركات لكبار اللي كايستعملوها بزاف. مؤخرا شركة Vercel
علنات على Turborepo
اللي هي أدات كاتساعد على العمل بال Monorepos
بالنسبة للمشاريع ديال Javascript
.
الإعلان على Turborepo
سلط الضوء على ل Monorepo
بشكل كبير و ولا موضوع نقاش.
شنو هو ل Monorepo :
بلا شك عندك دراية بالمعنى ديال Repository
اللي هو بكل بساطة مجلد كايحتاوي على الملفات الخاصة بمشروع ما, ل Monorepo
هو Repository
كايحتاوي على عدة مشاريع, كل مشروع في مجلد خاص به. بتعريف أخر نقدرو نقولو باللي ل Monorepo
هو Repository
كايحتاوي على عدة Repositories
.
الإستعمال ديال ل Monorepo :
العديد من الشركات كايستعملو ل Monorepo عند العمل على المشاريع الكبيرة, كايكون المشروع كايتكون من أجزاء, مثلا ل Backend
و ل Frontend
و ل Mobile App
. نقدرو نقولو أن كل جزء هو مشروع بحد داتو, كايتم إنشاء Monorepo
كايحتاوي على جميع الأجزاء و كل جزء كايتكلف بالبناء ديالو مجموعة من المبرمجين.
الغرض من هاد ل Monorepo
هو أن جميع المبرمجين يبقاو على إطلاع بجميع التغيرات اللي كاتطرى على المشروع , في سبيل المثال ل Frontend
غايكون كايخدم بال Backend
.... .
كاينين العديد من الأدوات اللي كايساعدو في إدارة ل Monorepo
حيت كيف قلنا كايحتاوي على عدة مشاريع و هادشي غايشكل صعوبة في تتبع التغيرات و معالجة التعارضات sconflict
اللي كاتوقع في ل Code
.... مثلا في عالم Javascript
كانلقاو Lerna
, Turborepo
, Nx
.... .
هل يجب أن تتعلم إستعمال ل Monorepo ؟
الغرض من ل Monorepo
هو تسهيل العمل بين المبرمجين على المشاريع الكبيرة, هادشي علاش مغاتلقاش مبرمج واحد خدام على مشروع بوحدو و كايستعمل ل Monorepo
حيت ما عندو باش يفيدو و غير غايعقد الأمور على راسو.
أنت كمبرمج من الضروري تكون عندك دراية بال Monorepo
واخا مغاتستعملوش, حيت ربما شي نهار غاتخدم مع شي مجموعة على شي مشروع و غاتلقا راسك قدام Monorepo
.
خلاصة :
العمل الجماعي في مجال البرمجة صعب بزاف , هادشي علاش الشركات كايقادو خطط و أدوات اللي إساعدو في تسهيله لربح الوقت و الجهد.