مقارنة NodeJS و Ruby on Rails 2017. ما هو الأفضل لتطوير الويب؟

من الصعب على الشركات الناشئة اختيار اللغة المناسبة للتطوير. واحدة من أكبر معركة في التنمية بين Node.JS وروبي أون ريلز. من هو الفائز في هذه المعركة؟

مات الملك، عاش الملك!

إذا طرحت هذا السؤال قبل 5 سنوات ، فسيكون بالتأكيد روبي ، لكن الوقت يتغير ولدينا قائد جديد.
دعونا نلقي نظرة على اتجاهات جوجل:

خلال السنوات الأربع الماضية ، حطم Node.JS فقط روبي ، وتواصل العقدة توسيع السوق.
الآن ، دعونا نقارن وقت تشغيل لغات البرمجة.

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

روبي على القضبان الايجابيات:

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

سلبيات روبي أون ريلز:

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

Node.JS الايجابيات:

  • المكتبات الأساسية القوية. libuv ، المكتبة الموجودة خلف العقدة التي تتعامل مع عمليات الإدخال / الإخراج غير المحظورة ، سريعة جدًا وباهتة.
  • كومة كاملة. من خادم HTTP إلى محرك templating ، Node.JS هي الحزمة بأكملها. تعتمد القضبان على شيء مثل Nginx أو Apache مع mod_rails (ويعرف أيضًا باسم Passenger) من أجل العمل فعليًا.
  • ارتفاع الطلب في السوق وشعبية للغاية في الشركات الناشئة في هذا الوقت.
  • نفس اللغة على العميل والخادم.
  • من السهل رصد ونشر ودعم.
  • تحميل الصفحة أسرع عبر الموقع. (أظهرت اختباراتنا أن مواقع الويب عادة ما تكون أسرع مرتين أو ثلاث مرات من العقدة.

سلبيات Node.JS:

  • العقدة ليست مناسبة للمهام المكثفة للمعالج.
  • واجهة برمجة التطبيقات غير المستقرة: عادة ما تتغير واجهة برمجة التطبيقات (Node API) بطرق غير متوافقة مع الإصدارات السابقة من الإصدار إلى الإصدار ، والتغييرات المتكررة في قاعدة بياناتك ضرورية للحفاظ على تشغيل الأشياء على أحدث إصدار. ومع ذلك ، من المفترض أن تكون الأمور أكثر استقرارًا منذ إصدار 0.2.0.
  • نظرًا لأنه جديد وحار جدًا ، يوجد عدد أقل من المطورين في السوق لـ node.js.

الشركات الكبرى تختار Node.JS بدلاً من روبي أون ريلز.

عندما يتعلق الأمر بالتدرج ، لا يمكنك التنافس مع Node.JS. هناك شركات ، تحولت من Ruby on Rails إلى Node.js:

  • نيتفليكس
  • نيويورك تايمز
  • باي بال
  • متوسط
  • ينكدين
  • اوبر
  • حابى

ينكدين دراسة الحالة

استبدل موقع LinkedIn البنية الأساسية للهاتف المحمول الخلفية المبنية على Ruby on Rails بـ Node.js منذ بعض الوقت لأسباب تتعلق بالأداء وقابلية التوسع.

قررت كيران براساد التحول من روبي بسبب مشاكل قابلية التوسع.

تم اختيار Node.js في النهاية لتوفير عدد من الفوائد:

  • أداء أفضل ، Node.js هو ما يصل إلى 20 مرة أسرع من القضبان لبعض السيناريوهات
  • باستخدام 3 خوادم فقط بدلاً من 30 ، مما يترك مساحة لنمو حركة المرور 10x
  • يمكن استخدام مهندسي جافا سكريبت الأمامية للشفرة الخلفية ، وتم دمج الفريقين بالفعل في واحد

قائمة بأكثر من 4000 شركة تستخدم بالفعل Node.js. هناك خيط طويل من ردود الفعل على أخبار هاكر

استنتاج

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

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