11 أدوات إدارة التبعية لمطوري الويب
التبعيات هي حجر الزاوية في تطوير الشبكة الحديثة. هذه هي الأدوات والإضافات والمكتبات والأطر المطلوبة ضروري لبناء تطبيقات الويب عالية المستوى.
ارتفع العدد الكبير من التبعيات في السنوات القليلة الماضية. مع مرور الوقت اعتمدت المطورين أدوات إدارة التبعية التي تخفيف من الضغط من الحفاظ على التبعيات المنظمة وتحديثها. تؤدي هذه الأدوات إلى سير عمل محسن للمطورين ومديري المشاريع.
لقد فهرست أفضل أدوات التبعية هنا بما في ذلك كل من المنصات الراسخة والناشئة حديثًا. يتطلب التطوير المهني على شبكة الإنترنت تعلُّمًا مستمرًا وأجد أن إدارة التبعية هي مجموعة مهارات تستحق التعلم.
1. NPM
لم أستطع كتابة هذا الدليل دون منح رصيد إلى Node Package Manager. بنيت على Node.js ، هذا النظام يشغل مستودع هائل من 100،000+ الحزم والوحدات.
يمكن لكل مشروع استخدام إعداد ملف package.json من خلال NPM وحتى إدارته باستخدام Gulp (على العقدة). التبعيات يمكن تحديثها وتحسينها مباشرة من المحطة. ويمكنك إنشاء مشاريع جديدة باستخدام ملفات التبعية وأرقام الإصدارات التي يتم سحبها تلقائيًا من ملف package.json.
تعد NPM ذات قيمة لأكثر من مجرد إدارة تبعية ، وهي عملياً أداة يجب معرفتها لتطوير الويب الحديث. إذا كنت مرتبكًا ، فيرجى مراجعة مؤشر ترابط Reddit للحصول على شرح للمبتدئين.
2. زقزقة
يعمل نظام إدارة الحزم Bower على NPM والذي يبدو زائداً عن الحاجة ولكن يوجد فرق بين الاثنين ، لا سيما أن NPM يقدم المزيد من الميزات بينما يهدف Bower إلى انخفاض في filesize وتحميل مرات للتبعيات الواجهة.
راجع سؤال المكدس هذا لمعرفة المزيد حول الاختلافات الدقيقة.
يزعم بعض المطورين أن Bower قديمًا نظرًا لأنه يعمل على NPM ، وهي خدمة يمكنها أن تفعل كل شيء تقريبًا Bower. عموما هذا ليس خطأ.
ولكن ديف يجب أن يدرك باور يمكن تحسين سير العمل على وجه التحديد مع التبعيات الواجهة الأمامية. أوصي بأن يكون مقال Ben McCormick مفيدًا لمعرفة المزيد عن القيمة المقدمة من كل من أدوات إدارة الحزم.
3. روبي جيمس
RubyGems هو مدير الحزم لروبي مع شعبية عالية بين مطوري الويب. المشروع مفتوح المصدر وشامل لجميع جواهر روبي المجانية.
لإعطاء لمحة موجزة للمبتدئين ، أ “جوهرة” هو مجرد بعض الرمز الذي يعمل على بيئة روبي. يمكن أن يؤدي هذا إلى برامج مثل Bundler التي تدير إصدارات الأحجار الكريمة وتحافظ على تحديث كل شيء.
سيحب مطورو Rails هذه الميزة ، لكن ماذا عن حزم الواجهة الأمامية؟ نظرًا لأن Ruby مفتوح المصدر ، يمكن للمطورين إنشاء مشاريع مثل Bower for Rails. هذا يجلب إدارة حزمة الواجهة الأمامية لمنصة روبي مع منحنى التعلم الصغيرة.
4. RequireJS
هناك شيء خاص حول RequireJS لأنه في الأساس مجموعة أدوات JS. ويمكن استخدامه ل تحميل وحدات JS بسرعة بما في ذلك وحدات العقدة.
RequireJS يمكن كشف تلقائيا التبعيات المطلوبة بناءً على ما تستخدمه ، فقد يكون هذا أقرب إلى برمجة البرامج الكلاسيكية في C / C ++ ، حيث يتم تضمين المكتبات في مكتبات أخرى.
ستجد مناقشة GitHub مثيرة للاهتمام حول هذا الموضوع والقيمة التي يقدمها لمطوري الويب الحديثين. لقد برزت أدوات إدارة JS الأخرى الممنوحة مثل webpack ، ولا تزال RequireJS تعمل في بيئات الإنتاج. وإذا كان يعمل لك هذا كل ما يهم.
5. مربى
تأتي إدارة الحزم المستندة إلى المستعرض في شكل جديد مع JamJS. هذا هو مدير حزمة جافا سكريبت مع إدارة تلقائية مماثلة ل RequireJS.
كل ما تبذلونه من التبعيات تم سحبها إلى ملف JS واحد يتيح لك الإضافة والإزالة البنود بسرعة. بالإضافة إلى أنه يمكن تحديثها في المتصفح بغض النظر عن الأدوات الأخرى التي تستخدمها (مثل RequireJS).
يتم تحديث المكتبات على أساس أحدث الإصدارات من خلال المحطة. كل مشروع يمكن أن يكون تم إنشاؤها تلقائيًا مع مكونات محسنة مرتكز على احتياجاتك. مربى مجاني على جيثب وتستحق نظرة إذا كان لديك الوقت.
6. تصفح
يعرف معظم المطورين Browserify حتى لو لم يكن جزءًا من سير العمل النموذجي الخاص بهم. هذه أداة أخرى لإدارة التبعية تعمل على تحسين الوحدات والمكتبات المطلوبة عن طريق تجميعها معًا.
هذه الحزم هي معتمد في المتصفح مما يعني أنك تستطيع تضمين ودمج وحدات مع جافا سكريبت عادي. كل ما تحتاجه هو NPM للبدء ، ثم التصفح لتنقل.
تحقق من مقدمة البرنامج التعليمي هذه لمعرفة كيف يمكن إدارة العقدة مباشرة في المتصفح. هناك أيضًا كتيب مطول لبرنامج Browserify مستضاف على GitHub مجانًا. تتمثل الفكرة في جلب جميع أدوات العقدة هذه إلى المتصفح وتوفير الوقت عن طريق أتمتة العملية باستخدام Browserify.
7. تعويذة
لا يزال في مراحله الأولى من النمو ، MantriJS هو نظام التبعية لتطبيقات الويب متوسطة إلى عالية المستوى. التبعيات تدار من خلال مساحات الأسماء و نظمت وظيفيا لتجنب الاصطدام وتقليل الفوضى.
Mantri هو حاليا في v.2.2.2 في وقت كتابة هذا التقرير. انها تماما المصدر المفتوح و مصمم لتطبيقات الويب الأكثر تعقيدًا والتي تتطلب حزم كبيرة من التبعيات. يهدف Mantri إلى اتباع ممارسات البرمجة المعيارية ويأمل في تشجيع المطورين على نفس المسار.
8. فولو
أداة إدارة المشروع volo عبارة عن ريبو NPM مفتوح المصدر يمكنه إنشاء مشاريع وإضافة مكتبات وأتمتة سير العمل.
فولو يعمل داخل العقدة ويعتمد على JavaScript لإدارة المشروع. يمكن العثور على دليل مقدمة موجز على GitHub يوضح عملية التثبيت والاستخدام الشائع. على سبيل المثال إذا قمت بتشغيل الأمر فولو خلق
يمكنك تثبيت أي مكتبة مثل HTML5 Boilerplate.
ولكن بصرف النظر عن إنشاء مشاريع جديدة يمكنك أيضا إضافة / تحديث المكتبات للمشاريع القديمة. ترتبط فولو بكل شيء تحتاجه لتطوير الواجهة الأمامية. تحقق من أهداف تصميم volo لمعرفة كيف تعمل في مشروع حقيقي.
9. اندر
اندر هو “لا مكتبة المكتبة” وهو أحد أخف مديري الحزم الذين ستجدهم على الإنترنت. انها تسمح ديف ل ابحث في حزم JS وقم بتثبيت / تجميعها مباشرة من سطر الأوامر. يعتقد أندر من “أخت NPM الصغيرة” من قبل فريق ديف.
بطبيعة الحال ، يتوفر إطار Ender بالكامل مجانًا على GitHub. إنها ببساطة أداة تثبيتها للمساعدة إدارة استهلاك إطارات جافا سكريبت الأمامية للمشاريع المحلية. كل شيء مصمم للتشغيل بكل سهولة إلى أقصى حد ممكن لسير عمل مطور الواجهة الأمامية.
يحتوي موقع الويب الرئيسي لـ Ender على مستندات عالية الجودة ، لذا فإنه يستحق نظرة سريعة إذا كنت مهتمًا.
10. نقطة
الطريقة الموصى بها لتثبيت تبعيات Python هي عبر نقطة. تم إنشاء هذه الأداة من قبل Python Packaging Authority وهي مفتوحة المصدر تمامًا مثل Python نفسها.
غالبية مطوري بيثون يوصون بالنقاط للتبعيات بما في ذلك فريق جانغو. سواء أكنت بدأت للتو في Python أو كنت تستخدمه بالفعل بشكل متسق مع تطوير الواجهة الخلفية ، فهذا هو مدير الحزم الذي ستكون سعيدًا به في صندوق الأدوات الخاص بك.
11. الملحن
الملحن هو مدير حزم يشبه إلى حد بعيد NPM ، لكنه يركز فقط على مكتبات PHP. يمكنك العثور على قائمة من التبعيات على Packagist والتي تتضمن أطر PHP كبيرة مثل Laravel.
إذا أنت مطور PHP من أي نوع أوصي بجدية النظر في الملحن. انها من السهل أن تبدأ ولكن من الصعب أن يصلح في سير العمل الخاص بك. ولكن مع الممارسة ، سوف تصبح عنصرًا أساسيًا لمشاريع تطوير PHP.
هذه أداة متعددة الاستخدامات مع إمكانية نمو أكبر بمرور الوقت. يمكن مزج Plus NPM مع الملحن لإنشاء نظام إدارة التبعية للواجهة الخلفية + الخلفية لجميع مشاريع PHP / JS.
تغليف
من الواضح أن العديد من مديري التبعية لديهم سمات متشابهة ذات صفات مماثلة. بنيت بعض ل حل المشاكل البديلة ويمكن أن تعمل جنبا إلى جنب مع بعضها البعض (أي. الملحن و NPM).
يمكن أن يكون موضوع إدارة التبعية صعباً للمطورين الجدد. أوصي باختيار إحدى هذه الأدوات والبحث بتعمق لتتعلم أكبر قدر ممكن. حاول بناء webapps الصغيرة ومعرفة لماذا إدارة التبعية مفيدة.
بمجرد أن تتعلم كيفية تطبيق هذه الأدوات على سير العمل الخاص بك ، فلن تفكر في العودة.