حسّن منهجيّتك في تطوير الواجهات 3 – Yeoman

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

حسّن منهجيّتك في تطوير الواجهات 3 – Yeoman

قبل أن نبدأ

أود أولاً أن أشير إلى نقطة تتعلق بالمقالة السابقة حول Grunt. لفت أحد الأصدقاء انتباهي إلى Gulp الذي يُعتقد أنه سيحل محل Grunt سريعاً كأداة لتشغيل المهام.

النقاش حول أفضلية أحدهما لا يزال قائماً، على سبيل المثال هذه المقالة والرد عليها. لكن يبدو لي أن المطورين القادرين على استخدام Node.js سيحبون Gulp، في حين يبقى مطورو اللغات الأخرى على Grunt نظراً لسهولة كتابة إعداداتها.

على كل حال، علمت مؤخراً أن فريق تطوير Yeoman سيقوم بدعمهما معاً.

والآن لنعد لموضوعنا. كالعادة سأفترض أنك تملك Node.js و Bower و Grunt على حاسوبك.

أداة تحسين سير العمل Yeoman

يوصف Yeoman من قبل مطوريه بأنه طريقة لتسيير العمل (Workflow) في المشاريع البرمجية، وهو يتكون من ثلاثة أجزاء يتم تطويرها بشكل منفصل، لكنها تعمل معاً بتوافق وتناغم:

  • Bower: لإدارة الحزم البرمجية التي يعتمد عليها المشروع سواء خلال التطوير أو بعد وضعه في إطار الإنتاج الفعلي.
  • Grunt: لإدارة المهام الروتينية (كالضغط والاختبار وتحسين الأداء) خلال مرحلة التطوير.
  • Yo: أداة لتحميل وتهيئة المشاريع الجديدة، حيث تعتمد على أفضل الممارسات لاختيار حزم Bower و Grunt المناسبة لنوع المشروع وكتابة إعداداتها. كما يمكن استخدامها لاحقاً خلال التطوير لتيسير إضافة أجزاء جديدة للمشروع.

تحدثنا عن أول أداتين في مقالات منفصلة، ما يهمنا هنا هو الأداة الأخيرة.

العمل مع أداة Yo

كالعادة نبدأ بتنصيب الأدة بشكل عام لمرة واحدة:

npm install -g yo

يمكن استخدام الأداة بعد ذلك لإنشاء أنواع لا حصر لها من المشاريع البرمجية، لكن لكل نوع من المشاريع حزمة مولدة (Generator) يجب تنصيبها بشكل عام عند الرغبة باستخدامها. على سبيل المثال الحزمة المولدة WebApp تولد مشروع ويب بأبسط أشكاله، لنقم بتنصيبها أولاً:

npm install -g generator-webapp

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

yo webapp

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

إضافة أجزاء جديدة للمشروع

تسمح بعض الحزم المولدة بإضافة أجزاء للمشروع خلال تطويره، من الأمثلة على ذلك العمل على مشاريع تستخدم AngularJS، حيث تستطيع إضافة متحكمات (Controllers) وموارد أخرى للمشروع كما يلي:

yo angular:controller myController
yo angular:directive myDirective
yo angular:filter myFilter
yo angular:service myService

وهذه نهاية الحكاية

هذا كل ما يلزمك كمطور للعمل مع هذه التوليفة من الأدوات، ولكن كمستهلك فقط، إذا أردت أن تساهم في تطوير هذه الأدوات أو كتابة الحزم لها فهناك المزيد من القراءة والتعلم بانتظارك.

بعض الموارد المفيدة للعمل مع Yeoman:

نرجو أن تكونوا قد أفدتم من هذه السلسلة وتوصلتم لمنهجية تطوير مرنة وسريعة.

بانتظار مشاركاتكم في التعليقات!

محمود الدعاس

من مواليد دمشق. ابتدأ بعد التخرج كمبرمج ويب عام 2005 مع شركة إيميا، انتقل بعدها إلى شركة تكنوليد للأتمتة المتكاملة ومنها إلى شقيقتها أتمتة للحلول المتقدمة كمصمم غرافيك ومصمم ومطور ويب. أسس مع مجموعة من زملاء الدراسة موقع HOMELESS-PRO.com لنشر قصص مصورة باللغة العربية للشباب، و Guestra كوكالة تصميم وتطوير.

مواضيع الكاتبموقع الكاتب

لمتابعة الكاتب:
TwitterFacebookPinterest

أضف تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *