أكثر أطر عمل Node.js شيوعًا لعام 2018

ننشر اليوم ترجمة للمادة ، التي يريد مؤلفها التحدث عن الأطر الأكثر شيوعًا لـ Node.js. تتضمن هذه القائمة Sails.js و Hapi.js و NestJS و LoopBack و Derby.js و Mean.io و Total.js.



الأشرعة



يمكن اعتبار Sails.js أكثر أطر تطوير التطبيقات شيوعًا في الوقت الفعلي استنادًا إلى نمط تصميم MVC. تم إصداره في عام 2012 بموجب ترخيص MIT. هذا مشروع مجاني مفتوح المصدر مكتوب بلغة جافا سكريبت ، وهو مناسب لتطوير تطبيقات الويب عبر الأنظمة الأساسية. تم إنشاؤه بشكل أساسي لتطوير تطبيقات الأعمال والتطبيقات التي تنفذ بعض الوظائف الخاصة. فيما يلي بعض الحقائق المهمة حول هذا الإطار:

  • يتم استخدامه عادةً لتنفيذ واجهات برمجة التطبيقات التي تعتمد على البيانات. يتم استخدام هذا النهج لإنشاء تطبيقات مثل الدردشات في الوقت الفعلي ولوحات التحكم المختلفة والألعاب.
  • وهو متوافق بشكل جيد مع مجموعة متنوعة من البيئات والتقنيات لتطوير واجهات التطبيق. على سبيل المثال ، يمكن استخدامه لتطوير التطبيقات المصممة لمنصات Android و iOS ، وتجمع المكتبات Angular و React بشكل جيد معها. هذا يشير إلى أن المطور الذي يختار Sails.js سيكون قادرًا على دمجه في أي عملية تطوير تطبيق تقريبًا.
  • وهو يدعم وحدات Grunt ، مثل LESS و SASS و Stylus و CoffeeScript و Pug (المعروف سابقًا باسم Jade) والغبار. ونتيجة لذلك ، يعتبر Sails.js مثاليًا لتطوير التطبيقات المستندة إلى المستعرض.
  • تم دمج waterline.js في مكتبة ORM ، والتي بفضلها تدعم الأدوات العالمية للعمل مع أنواع مختلفة من قواعد البيانات والبروتوكولات وواجهات برمجة التطبيقات التابعة لجهات خارجية. هذا يسهل التشغيل البيني مع أنظمة التخزين المختلفة.
  • لإدارة طلبات HTTP ، يستخدم قدرات مكتبة Express.js.
  • يستخدم هذا الإطار على نطاق واسع في تطوير الموقع. على سبيل المثال ، تم إنشاء موقع Verizon على أساسه. مثال آخر على تطبيقه هو موقع فريق كرة القدم ديترويت ليونز.

Hapi.js



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

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

  • يتيح لك Hapi.js إنشاء مواقع ويب ثابتة ، كما أنه مدمج لدعم DBMSs مثل MySQL و MongoDB و PostgreSQL.
  • يعمل إطار الخادم هذا بشكل جيد مع أي مكتبات تطوير واجهة مثل React و Angular و Vue.js.
  • يمكن تنفيذ مشروع قائم على Hapi.js كخادم API ، أو خادم يدعم موقع ويب ، أو وكيل HTTP.
  • يمكن استخدامه لتطوير تطبيقات RESTful وتطبيقات الويب في الوقت الحقيقي ، وكذلك لإنشاء الخدمات.
  • وهي تحظى بشعبية كبيرة وتستخدم في المشاريع الكبيرة. على وجه الخصوص ، نحن نتحدث عن مواقع Disney و Concrete و PayPal و Walmart وغيرها الكثير.

Nestjs



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

ميزة مثيرة للاهتمام في NestJS هي دعمها لـ TypeScript ، وهي مجموعة فرعية من JavaScript. من بين السمات الرئيسية لهذا الإطار ما يلي:

  • الهيكل المعياري ، الذي يبسط استخدامه تقسيم المشروع إلى كتل منفصلة. يسهل استخدام المكتبات الخارجية في المشاريع.
  • يحتوي NestJS على حاوية DI مضمنة.
  • وهو يدعم التنظيم المعياري للمشاريع التي تم إنشاؤها وفقًا لانتماء كل جزء منطقي من المشروع (الوحدة النمطية) إلى مجال معين.
  • يعمل استخدام NestJS على تبسيط الاختبار من خلال دعم الميزات مثل حاويات DI والوحدات النمطية.
  • يسمح لك إطار العمل بإنشاء حلول برمجية قابلة للتوسيع ، بين المكونات التي لا يوجد اتصال قوي بها.

استرجاع



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

تم اختيار هذا الإطار ، نظرًا لقدراته القوية ، من قبل فريق DA-14 كأساس لمشروع Cosmunity (التطبيق الاجتماعي). يتم استخدام LoopBack من قبل مسجل المجال الشهير وموفر الاستضافة GoDaddy ، ويستخدمه Symantec ، مطور أنظمة أمان الكمبيوتر. لاحظ بعض ميزات LoopBack:

  • يدعم الإطار القدرة على تحليل تعريفات نموذج البيانات ، ويبسط تصميم واجهات برمجة تطبيقات RESTful الجديدة ، مما يساعد المطورين في تحديد أدوار محددة مسبقًا على مستويات المستخدم والتطبيق.
  • باستخدام قدرات NPM ، يسمح لك بإنشاء واجهات برمجة تطبيقات ديناميكية.
  • باستخدام واجهات برمجة التطبيقات الديناميكية ، يمكن تحسين أداء تطبيقات الخادم الديناميكي بشكل كبير.
  • يوفر إطار العمل العديد من المكونات الإضافية لإدارة الملفات ، وتنظيم عمليات تسجيل دخول المستخدم من خلال مشاريع الجهات الخارجية ، واستخدام OAuth2 وموفري التخزين وما إلى ذلك.
  • يمكن نشر تطبيقات LoopBack على كل من الخوادم التقليدية والبيئات السحابية.
  • بالتزامن مع هذا الإطار ، يمكنك استخدام أدوات متنوعة لتطوير واجهات التطبيق ، على سبيل المثال ، Angular و SDK لنظامي التشغيل Android و iOS.
  • يحتوي LoopBack على أدوات سطر الأوامر لإنشاء REST-APIs باستخدام أدوات البحث API تدعم النماذج المستندة إلى مخططات بيانات محددة.
  • يسمح لك بربط التطبيقات التي تعمل على الأجهزة المحمولة والمتصفحات بمصادر البيانات والخدمات بسرعة.
  • يبسط تفويض المستخدم والمصادقة.

ديربي



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

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

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

يعني .io



Mean.io هو إطار عمل آخر متكامل - مجاني ومفتوح المصدر وقوي ، يستخدم لتطوير مواقع الويب الديناميكية وتطبيقات الويب. وهي تشمل جميع المكونات الأربعة لمكدس MEAN - MongoDB و Express.js و Angular و Node.js. بالإضافة إلى هذه المكونات ، فإنه يتضمن أيضًا أدوات أخرى مهمة لتطوير الويب ، مثل Babel و GraphQL. في الواقع ، نحن نتحدث عن حقيقة أن هذا الإطار هو مجموعة كاملة من الأدوات لتطوير الويب. فيما يلي بعض الميزات الملحوظة لـ Mean.io:

  • باستخدامه ، يمكنك تطوير تطبيقات بأي حجم وأي تعقيد. نظرًا لأنها تحتوي على جميع مكونات مكدس MEAN ، فهي فعالة للغاية وشعبية.
  • هناك العديد من المواقع وتطبيقات الويب التي تم إنشاؤها على أساس Mean.io.
  • يتضمن تقريبًا كل ما تحتاجه لبدء تطوير مشروع ويب.

المجموع



Total.js هو إطار عمل من جانب الخادم يعتمد على نمط MVC. انها مناسبة جدا لتطوير تطبيقات الويب. إذا تحدثنا عن استخدام هذا الإطار بالاقتران مع التقنيات الأخرى ، فيمكننا ملاحظة مرونته وتوافقه الجيد مع معظم أنظمة إدارة قواعد البيانات الحالية. من بينها MongoDB و MySQL و PostgreSQL وغيرها.

Total.js متوافق أيضًا مع أدوات تطوير الواجهة مثل React و Ember و Angular. فيما يلي بعض ميزات هذا الإطار التي يجب الانتباه إليها:

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

ملخص


في هذه المقالة ، راجعنا العديد من أطر عمل Node.js الشائعة. عند اختيار إطار عمل لمشروع معين ، يجب مراعاة العوامل التالية:

  • جودة التوثيق.
  • المجتمع.
  • حالة المشروع على GitHub ، سرعة تصحيح الأخطاء.
  • مجموعة من المهام التي عادة ما يتم استخدام اطار العمل لها.
  • مرونة الحل.
  • تعقيد النظام.
  • توافق الإطار مع الأدوات الأخرى التي تخطط لاستخدامها.

أعزائي القراء! ما هي أطر عمل Node.js التي تستخدمها ولماذا اخترتها؟

Source: https://habr.com/ru/post/ar431076/


All Articles