جيه روبي
JRuby هو تطبيق للغة البرمجة Ruby على آلة Java الافتراضية ، مكتوب بلغة Java بشكل أساسي . وهو برنامج مجاني مُرخص بموجب رخصة Eclipse العامة (EPL) ورخصة GNU العامة (GPL) ورخصة GNU العامة الصغرى (LGPL). يتكامل JRuby بشكل وثيق مع Java، مما يسمح بتضمين المفسر في أي تطبيق Java مع إمكانية الوصول ثنائي الاتجاه الكامل بين كود Java وRuby (على غرار Jython للغة Python ).
المطوران الرئيسيان للغة JRuby هما تشارلز أوليفر ناتر وتوماس إنيبو، إلى جانب العديد من المساهمين الحاليين والسابقين، بمن فيهم أولا بيني ونيك سيجر. في سبتمبر 2006، وظفت شركة صن مايكروسيستمز إنيبو وناتر للعمل بدوام كامل على JRuby. [ 2 ] وفي يونيو 2007، وظفت شركة ثوت ووركس أولا بيني للعمل على Ruby وJRuby. [ 3 ]
في يوليو 2009، غادر مطورو JRuby شركة Sun لمواصلة تطوير JRuby في شركة Engine Yard . [ 4 ] وفي مايو 2012، غادر كل من Nutter وEnebo شركة Engine Yard للعمل على JRuby في شركة Red Hat . [ 5 ]
تاريخ
تم إنشاء JRuby في الأصل بواسطة يان آرني بيترسن عام 2001. في ذلك الوقت، ولعدة سنوات لاحقة، كان الكود عبارة عن نسخة مباشرة من كود Ruby 1.6 المكتوب بلغة C. مع إصدار Ruby 1.8.6، بدأت جهود تحديث JRuby ليتوافق مع ميزات ودلالات الإصدار 1.8.6. منذ عام 2001، ساهم العديد من المطورين في دعم المشروع، وصولاً إلى الإصدار الحالي ( 2012).) فريق أساسي مكون من حوالي ستة أعضاء.
أضافت JRuby 1.1 وضعَي الترجمة الفورية (JIT) والترجمة المسبقة (AOT) إلى JRuby، وكانت أسرع في معظم الحالات من تطبيق Ruby 1.8.7 المرجعي آنذاك. [ 6 ]
تتوفر حزم JRuby لمعظم المنصات. في منتصف عام 2008، كانت فيدورا لينكس 9 من أوائل الأنظمة التي أدرجتها كحزمة قياسية في JRuby 1.1.1. [ 7 ] [ 8 ]
في يوليو 2009، انضمّ مطوّرو JRuby الأساسيون في شركة Sun Microsystems، تشارلز أوليفر ناتر، وتوماس إينيبو، ونيك سيجر، إلى شركة Engine Yard لمواصلة تطوير JRuby. [ 4 ] [ 9 ] وفي مايو 2012، غادر ناتر وإينيبو شركة Engine Yard للعمل على JRuby في شركة Red Hat . [ 5 ]
يدعم JRuby التوافق مع إصدارات Ruby MRI من 1.6 إلى 1.9.3. دعم JRuby 1.0 الإصدار Ruby 1.8.6، ثم قام JRuby 1.4.0 بتحديث هذا التوافق ليشمل Ruby 1.8.7. أضاف JRuby 1.6.0 دعمًا متزامنًا للإصدار Ruby 1.9.2، بينما جعل JRuby 1.7.0 الإصدار Ruby 1.9.3 وضع التنفيذ الافتراضي (يتوفر التوافق مع Ruby 1.8.7 عبر خيار في واجهة سطر الأوامر ). أضاف JRuby 9.0.0.0 دعمًا للإصدار Ruby 2.2.
يستهدف الإصدار الحالي من JRuby (10.0.3.0) الإصدار Ruby 3.4.
روبي أون ريلز
أصبح بإمكان JRuby تشغيل إطار عمل Ruby on Rails منذ الإصدار 0.9 (مايو 2006)، [ 10 ] [ 11 ] مع القدرة على تشغيل RubyGems و WEBrick . ومنذ تعيين المطورين الرئيسيين من قبل شركة Sun، تحسّن توافق JRuby مع Rails وسرعته بشكل كبير. وقد اجتاز الإصدار 1.0 من JRuby بنجاح جميع اختبارات Rails تقريبًا. [ 12 ] ومنذ ذلك الحين، بدأ المطورون باستخدام JRuby لتطبيقات Rails في بيئات الإنتاج. [ 13 ]
التعاون بين عدة آلات افتراضية
في 27 فبراير 2008، أعلنت شركة صن مايكروسيستمز وجامعة طوكيو عن مشروع بحثي مشترك لتنفيذ آلة افتراضية قادرة على تشغيل أكثر من تطبيق روبي أو جي روبي واحد على مترجم واحد. [ 14 ]
الاستدعاء الديناميكي على آلات جافا الافتراضية
يقترح JSR 292 ( دعم اللغات ذات الكتابة الديناميكية على منصة Java TM ) [ 15 ] ما يلي:
- إضافة تعليمات جديدة
invokedynamicعلى مستوى JVM، تسمح باستدعاء الأساليب باستخدام التحقق الديناميكي من النوع ، - تغيير الفئات والأساليب ديناميكيًا أثناء التشغيل.
يهدف مشروع صن مفتوح المصدر " الآلة الافتراضية متعددة اللغات" إلى تطوير نموذج أولي لـ JSR هذا. [ 16 ] تم الإعلان عن أول نموذج أولي عامل، تم تطويره كتصحيح على OpenJDK ، وإتاحته في نهاية أغسطس 2008. [ 17 ] [ 18 ]
قام فريق JRuby بتطبيق الاستدعاء الديناميكي في قاعدة بياناتهم. وقد تم توفير الاستدعاء الديناميكي مبدئيًا مع الإصدار 1.1.5 بشكل بدائي. [ 19 ] وقد تم تفعيله افتراضيًا في الإصدار 1.7.0 على إصدارات Java 8. [ 20 ]
سجل الإصدارات
لا يعرض هذا الجدول إلا الإصدارات التي تمثل خطوات هامة في تاريخ JRuby، باستثناء الإصدارات التي اقتصرت بشكل أساسي على إصلاح الأخطاء وتحسين الأداء. كما لم تُدرج تحسينات الأداء في الجدول أدناه، إذ عادةً ما تتضمن كل إصدارات هذه التحسينات.
| يطلق | تاريخ الافراج عنه | أبرز النقاط |
|---|---|---|
| 0.9 | 1 أغسطس 2006 | دعم Rails [ 10 ] |
| 1.1 | 28 مارس 2008 | يؤدي أداءً أفضل من Ruby MRI 1.8.7 [ 6 ] في وضع AOT ووضع JIT [ 21 ] |
| 1.1.4 | 28 أغسطس 2008 | طبقة تكامل جافا المعاد هيكلتها بداية دعم روبي 1.9 نظام FFI الفرعي لاستدعاء مكتبات C [ 22 ] |
| 1.2.0 [ 23 ] | 16 مارس 2009 | مُترجم JIT للغة Ruby 1.9، ودعم أولي لنظام Android من قِبل مشروع Ruboto . |
| 1.3.0 [ 24 ] | 3 يونيو 2009 | يعمل JRuby بشكل أفضل في بيئات مقيدة مثل GAE/J |
| 1.4.0 [ 25 ] [ 26 ] | 2 نوفمبر 2009 | دعم مشغل Windows الأصلي ومثبت Windows Ruby 1.8.7 |
| 1.5.0 [ 27 ] | 12 مايو 2010 | مشغل أصلي لمنصات UNIX ، يدعم Ant وتكامل Rake-Ant، وتحديثات للمكتبة القياسية و RubyGems و RSpec |
| 1.6.0 [ 28 ] | 15 مارس 2011 | توافق مع لغة روبي 1.9.2 وواجهة برمجة التطبيقات (API) مُحلل أداء مُدمج دعم تجريبي لامتدادات لغة C المستندة إلى واجهة برمجة تطبيقات C الخاصة بروبي |
| 1.7.0 [ 20 ] | 22 أكتوبر 2012 | لغة روبي 1.9.3 هي الوضع الافتراضي. دعم invokedynamic |
| 1.7.4 [ 29 ] | 16 مايو 2013 | دعم تجريبي للغة روبي 2.0 (معظم الميزات والمكتبة القياسية مضمنة) |
| 9.0.0.0 [ 30 ] | 22 يوليو 2015 | دعم Ruby 2.x وقت تشغيل مُحسَّن جديد إدخال /إخراج وعمليات متوافقة مع POSIX منطق التشفير/تحويل الترميز المنقول بالكامل من التصوير بالرنين المغناطيسي |
| 9.1.7.0 [ 31 ] | 11 يناير 2017 | تم إصلاح خطأ الربط الخطير عند استخدام خيوط متعددة تم إصلاح العديد من مشاكل الوسائط الرئيسية تم إصلاح العديد من مشاكل المحلل اللغوي تقليل استخدام الذاكرة في JIT قم بتحديث برنامج Psych إلى الإصدار 2.2.2 قم بتحديث jruby-openssl إلى الإصدار 0.9.18 تم إصلاح 72 مشكلة |
| 9.2.0.0 [ 32 ] | 24 مايو 2018 | دعم لغة روبي 2.5 |
| 9.2.9.0 [ 33 ] | 30 أكتوبر 2019 | دعم لغة روبي 2.5.7 |
| 9.3.2.0 [ 34 ] | 2 ديسمبر 2021 | دعم لغة روبي 2.6.x |
| 9.3.3.0 [ 35 ] | 19 يناير 2022 | دعم لغة روبي 2.6.x |
| 9.3.4.0 [ 36 ] | 23 مارس 2022 | دعم لغة روبي 2.6.x |
| 9.4.0.0 [ 37 ] | 22 نوفمبر 2022 | دعم لغة روبي 3.1 |
| 9.4.1.0 [ 38 ] | 7 فبراير 2023 | دعم لغة روبي 3.1 |
| 9.4.2.0 [ 39 ] | 8 مارس 2023 | دعم لغة روبي 3.1 |
| 9.4.3.0 [ 40 ] | 7 يونيو 2023 | دعم لغة روبي 3.1 |
تصميم
منذ أوائل عام 2006، سعى الفريق الأساسي الحالي لـ JRuby إلى تطويرها لتتجاوز كونها مجرد نسخة مُعدّلة من لغة C، وذلك لتحسين الأداء وتسهيل ترجمتها لاحقًا إلى بايت كود JVM . ولتحقيق هذه الغاية، وضع الفريق هدفًا طموحًا: تشغيل Ruby on Rails دون تعديل باستخدام JRuby. وفي سبيل تحقيق هذا الهدف، توسّعت مجموعة اختبارات JRuby إلى حدٍّ كبير، ما زاد من ثقة الفريق في "صحة" JRuby. [ 41 ] ونتيجةً لذلك، مع نهاية عام 2006 وبداية عام 2007، بدأ الفريق بإجراء عمليات إعادة تصميم وإعادة هيكلة أكثر تعقيدًا لأنظمة JRuby الفرعية الأساسية.
صُممت JRuby للعمل كآلة افتراضية مختلطة الوضع للغة Ruby، حيث يمكن تفسير الكود مباشرةً، أو ترجمته في وقت التشغيل إلى بايت كود JVM، أو ترجمته مسبقًا إلى بايت كود JVM قبل التنفيذ. حتى أكتوبر 2007، كان الوضع التفسيري فقط يدعم جميع بنيات Ruby، ولكن يتوفر مُترجم AOT/JIT كامل منذ الإصدار 1.1. [ 21 ] يسمح تصميم المُترجم بتشغيل الكود المُفسَّر والمُترجم جنبًا إلى جنب، وفك ترجمته لإعادة تحسينه وإخراج البايت كود المُولَّد كملفات فئات Java.
دعم الأطر
يدعم JRuby بشكل مدمج Rails وRSpec و Rake وRubyGems. كما يتضمن نظامًا فرعيًا للواجهة الخارجية (FFI) يسمح باستخدام مكتبات C المجمعة كحزم برمجية (gems). ويتيح أيضًا تشغيل واجهة Ruby التفاعلية (irb) كما يفعل Ruby MRI.
تتيح حزمة NetBeans Ruby، المتوفرة في NetBeans 6، تطوير تطبيقات الويب باستخدام بيئة التطوير المتكاملة (IDE) مع Ruby وJRuby وRuby on Rails لكلا تطبيقي Ruby. [ 42 ] [ 43 ] لم تعد هذه الحزمة مضمنة في NetBeans 7.0 والإصدارات الأحدث.
برمجة
روبي تلتقي جافا
يُشبه JRuby مُفسِّر Ruby القياسي، إلا أنه مكتوب بلغة Java . يحتوي JRuby على بعض المفاهيم نفسها الموجودة في Ruby، بما في ذلك البرمجة كائنية التوجه والكتابة الديناميكية . ويكمن الاختلاف الرئيسي في أن JRuby مُدمجٌ بإحكام مع Java، ويمكن استدعاؤه مباشرةً من برامج Java. [ 44 ] ولـ Java دورٌ بارزٌ في تطوير تطبيقات الويب.
JRuby يستدعي Java
إحدى الميزات القوية في JRuby هي قدرتها على استدعاء فئات منصة Java . وللقيام بذلك، يجب أولاً تحميل دعم Java الخاص بـ JRuby، وذلك باستدعاء الأمر "require 'java'". ينشئ المثال التالي إطار JFrame في Java مع عنصر JLabel:
يتطلب 'جافا'frame = javax.swing.JFrame.new frame.getContentPane.add javax.swing.JLabel.new ( ' Hello , World ! ' ) frame.setDefaultCloseOperation javax.swing.JFrame :: EXIT_ON_CLOSE frame.pack frame.set_visible trueكما يسمح JRuby للمستخدم باستدعاء كود Java باستخدام تسمية الأساليب التي تشبه Ruby باستخدام الشرطة السفلية ، والإشارة إلى خصائص JavaBean كسمات:
frame.content_pane.addlabel frame.visible = trueاستدعاء JRuby من Java
يمكن استدعاء JRuby بسهولة من Java، باستخدام إما JSR 223 [ 45 ] Scripting for Java 6 أو Apache Bean Scripting Framework .
// مثال باستخدام JSR 233 للبرمجة النصية في Java 6 ScriptEngineManager mgr = new ScriptEngineManager (); ScriptEngine rbEngine = mgr.getEngineByExtension ( "rb" ); try { rbEngine.eval ( " puts ' Hello World!'" ); } catch ( ScriptException ex ) { ex.printStackTrace ( ); }أداء
وفقًا لبعض المعايير، يُعدّ JRuby أسرع من البدائل. ونظرًا لاختلاف التطبيقات في مقدار التعليمات البرمجية التي يتم تحميلها قبل التنفيذ، فإنّ اختلاف طرق قياس السرعة قد يؤدي إلى تفسيرات متحيزة لمزايا الأداء. غالبًا ما يُستثنى وقت تحميل آلة جافا الافتراضية نفسها من أوقات التنفيذ عند حساب المعايير.
يتمتع JRuby بميزة معمارية كبيرة تتمثل في قدرته على الاستفادة من خيوط JVM دون أن يكون مقيدًا بقفل المفسر العالمي (على غرار Rubinius )، وبالتالي تحقيق التوازي الكامل داخل العملية، وهو ما لا يستطيع Ruby MRI تحقيقه على الرغم من الاستفادة من خيوط نظام التشغيل.
في تطبيق خادم ويب Mongrel حقيقي تم اختباره في عام 2007، كان أداء JRuby أفضل من Ruby MRI 1.8، بعد إنشاء آلة جافا الافتراضية. [ 46 ]
في اختبار معياري أُجري عام 2007 لتطبيقات روبي، كان JRuby أسرع من Ruby MRI 1.8 في بعض الاختبارات، لكن YARV تفوق عليهما. [ 47 ]
اعتبارًا من أبريل 2014، في لعبة معايير أداء لغات البرمجة ، كان أداء JRuby 1.7.4 مماثلاً لأداء Ruby MRI 2.1.0، ولكنه كان يستهلك ذاكرة أكبر. [ 48 ] [ 49 ]
انظر أيضاً
- GraalVM
- قائمة لغات برمجة جافا
- ZK (إطار عمل) – إطار عمل Ajax يدعم JRuby
مراجع
- ↑ "إصدار JRuby 10.0.3.0" . jruby.org . 2 فبراير 2026. تم الاطلاع عليه في 4 فبراير 2026 .
- ↑ ديكوستر، جاكي (7 سبتمبر 2006). "صن ترحب بمطوري JRuby" . مدونات أوراكل . على السجل. مؤرشف من الأصل في 29 أغسطس 2012. تم الاسترجاع في 7 نوفمبر 2013 .
- ↑ بيني، أولا (2007). "ThoughtWorks" . On the Record.
- 1 2 "فريق JRuby التابع لشركة Sun ينتقل إلى شركة أخرى" . PCWorld . 28 يوليو 2009. مؤرشف من الأصل في 31 يوليو 2009. تم الاطلاع عليه في 2 يونيو 2012 .
- 1 2 "ريد هات تستقطب ثنائي جيه روبي القوي" . ذا ريجستر . 23 مايو 2012. تم الاطلاع عليه في 2 يونيو 2012 .
- 1 2 كانجيانو، أنطونيو (12 مارس 2007). "مواجهة الياقوت الكبرى" . تم الاسترجاع في 1 فبراير 2008 .
- ↑ ناتر، تشارلز (25 أبريل 2008). "JRuby 1.1.1 في RedHat Fedora" . تم الاطلاع عليه في 26 أبريل 2008 .
- ↑ "jruby" . fedoraproject.org . تم الاطلاع عليه بتاريخ 26 أبريل 2008 .
- ↑ ناتر، تشارلز (28 يوليو 2009). "مستقبل جيه روبي في إنجن يارد" . إنجن يارد . مؤرشف من الأصل في 31 يوليو 2009. تم الاسترجاع في 28 يوليو 2009 .
- 1 2 "دعم Rails" . فريق JRuby. مؤرشف من الأصل في 3 مارس 2008. تم الاسترجاع في 17 فبراير 2008 .
- ↑ ناتر، تشارلز (24 أغسطس 2008). "من الصفر إلى الإنتاج في 15 دقيقة" . تم الاسترجاع في 27 أغسطس 2008 .
- ↑ تم تنفيذ 98.6% من حالات الاختبار الخاصة بـ Rails البالغ عددها 2807 بنجاح؛ راجع JRuby 0.9.8 (تم إصداره وأرشفته في 22 مايو 2015 على Wayback Machine) .
- ↑ "قصص النجاح" . ويكي JRuby على GitHub. 5 يناير 2011. تم الاطلاع عليه في 16 مارس 2011 .
- ↑ «جامعة طوكيو وشركة صن مايكروسيستمز تبدآن مشاريع بحثية مشتركة في مجال الحوسبة عالية الأداء ولغات البرمجة المستندة إلى الويب» . صن مايكروسيستمز . ٢٧ فبراير ٢٠٠٨. تم الاطلاع عليه بتاريخ ٢٨ فبراير ٢٠٠٨ .
- ↑ انظر JSR 292
- ↑ "المشاريع الفرعية والتحقيقات" . صن مايكروسيستمز . 2007. تم الاطلاع عليه في 6 فبراير 2008 .
- ↑ روز، جون (26 أغسطس 2008). "يوم عالمي سعيد لـ Invokedynamic!" . تم الاطلاع عليه في 3 سبتمبر 2008 .
- ↑ لوريمر، آر جيه (1 سبتمبر 2008). "تشغيل الاستدعاء الديناميكي على OpenJDK" . infoq.com . تم الاطلاع عليه في 3 سبتمبر 2008 .
- ↑ ناتر، تشارلز (11 سبتمبر 2008). "تجربة أولية مع InvokeDynamic" . تم الاطلاع عليه في 13 سبتمبر 2008.
لقد نجحتُ في دمج InvokeDynamic مباشرةً في عملية الإرسال الخاصة بـ JRuby! يا له من حماس! الكود موجود بالفعل في النسخة الرئيسية من JRuby، وسيُرفق مع JRuby 1.1.5 (مع أنه سيتم تعطيله بالطبع على أجهزة JVM التي لا تدعم InvokeDynamic)
. - ١ ٢ "إصدار JRuby 1.7.0" . فريق JRuby. ٢٢ أكتوبر ٢٠١٢. مؤرشف من الأصل في ٢٥ أكتوبر ٢٠١٢. تم الاطلاع عليه في ٢٣ أكتوبر ٢٠١١ .
- 1 2 ناتر، تشارلز (27 سبتمبر 2007). "المترجم مكتمل" . تم الاسترجاع في 12 أكتوبر 2007 .
- ↑ إينيبو، توم (28 أغسطس 2008). "إصدار JRuby 1.1.4" . تم الاطلاع عليه في 25 فبراير 2009 .
- ↑ إينيبو، توم (16 مارس 2009). "إصدار JRuby 1.2.0" . فريق JRuby. مؤرشف من الأصل في 19 مارس 2009. تم الاطلاع عليه في 17 مارس 2009 .
- ↑ إينيبو، توم (3 يونيو 2009). "إصدار JRuby 1.3.0" . فريق JRuby. مؤرشف من الأصل في 12 يونيو 2009. تم الاطلاع عليه في 3 يونيو 2009 .
- ↑ "إصدار JRuby 1.4.0" . فريق JRuby. 2 نوفمبر 2009. تم الاطلاع عليه في 3 نوفمبر 2009 .
- ↑ "إصدار JRuby 1.4.0" . adtmag.com. 10 نوفمبر 2009. مؤرشف من الأصل في 15 نوفمبر 2009. تم الاطلاع عليه في 21 نوفمبر 2009 .
- ↑ "إصدار JRuby 1.5.0" . فريق JRuby. 12 مايو 2010. مؤرشف من الأصل في 16 مايو 2010. تم الاطلاع عليه في 12 مايو 2010 .
- ↑ "إصدار JRuby 1.6.0" . فريق JRuby. 15 مارس 2011. تم الاطلاع عليه بتاريخ 15 مارس 2011 .
- ↑ "إصدار JRuby 1.7.4" . فريق JRuby. 16 مايو 2013. تم الاطلاع عليه بتاريخ 19 مايو 2013 .
- ↑ "إصدار JRuby 9.0.0.0" . فريق JRuby. 22 يوليو 2015. مؤرشف من الأصل في 24 يوليو 2015. تم الاطلاع عليه في 25 يوليو 2015 .
- ↑ "إصدار JRuby 9.1.7.0 — JRuby.org" . jruby.org . مؤرشف من الأصل بتاريخ 16 يناير 2017. تم الاطلاع عليه بتاريخ 13 يناير 2017 .
- ↑ "إصدار JRuby 9.2.0.0" . مؤرشف من الأصل بتاريخ 27 مايو 2018. تم الاطلاع عليه بتاريخ 27 مايو 2018 .
- ↑ "إصدار JRuby 9.2.9.0" . تم الاطلاع عليه بتاريخ 5 نوفمبر 2019 .
- ↑ "إصدار JRuby 9.3.2.0" . تم الاطلاع عليه بتاريخ 11 يناير 2022 .
- ↑ "إصدار JRuby 9.3.3.0" . تم الاطلاع عليه بتاريخ 19 يناير 2022 .
- ↑ "إصدار JRuby 9.3.4.0" . تم الاطلاع عليه بتاريخ 23 مارس 2022 .
- ↑ "إصدار JRuby 9.4.0.0" . تم الاطلاع عليه بتاريخ 1 ديسمبر 2022 .
- ↑ "إصدار JRuby 9.4.1.0" . تم الاطلاع عليه بتاريخ 15 فبراير 2023 .
- ↑ "إصدار JRuby 9.4.2.0" . تم الاطلاع عليه بتاريخ 13 يونيو 2023 .
- ↑ "إصدار JRuby 9.4.3.0" . تم الاطلاع عليه بتاريخ 13 يونيو 2023 .
- ↑ إيلر، بات (17 يوليو 2006). "مقابلة مطوري JRuby -" . أورايلي روبي . مؤرشف من الأصل في 28 أكتوبر 2007. تم الاطلاع عليه في 20 أغسطس 2025 .
- ↑ "دعم Ruby وJRuby متوفر في بيئة تطوير NetBeans" . netbeans.org. 6 مارس 2007. مؤرشف من الأصل في 19 يوليو 2011. تم الاطلاع عليه في 4 يوليو 2009 .
- ↑ "لغة روبي تُضفي رونقًا على منصة نت بينز" . infoworld.com. 1 مارس 2007. تم الاطلاع عليه في 4 يوليو 2008 .
- ↑ فوكس، جوشوا (17 يوليو 2006). "روبي لعالم جافا" . جافا وورلد . تم الاسترجاع في 26 يوليو 2020 .
- ↑ JSR 223: كتابة البرامج النصية لطلب مواصفات منصة جافا
- ↑ سيجر، نيك (25 أكتوبر 2007). "JRuby on Rails: Fast Enough" . تم الاسترجاع في 28 أكتوبر 2007 .
- ↑ كانجيانو، أنطونيو (3 ديسمبر 2007). "مواجهة الياقوت الكبرى" . تم الاطلاع عليه في 2 فبراير 2014 .
- ↑ "مقارنة بين JRuby و Ruby 1.9، لعبة معايير لغات البرمجة (1)" . مؤرشف من الأصل في 23 يناير 2015. تم الاطلاع عليه في 2 فبراير 2014 .
- ↑ "مقارنة بين JRuby و Ruby 1.9، لعبة معايير لغات البرمجة (2)" . مؤرشف من الأصل في 23 يوليو 2014. تم الاطلاع عليه في 2 فبراير 2014 .
للمزيد من القراءة
- كوتنر، جو (22 أغسطس 2012). النشر باستخدام JRuby: تقديم تطبيقات ويب قابلة للتوسع باستخدام JVM ( الطبعة الأولى). براغماتيك بوكشيلف . ص 200. ISBN 978-1934356975.
- أو. ناتر، تشارلز؛ إينيبو، توماس؛ سيجر، نيك؛ بيني، أولا ؛ ديز، إيان (4 فبراير 2011). استخدام JRuby: جلب Ruby إلى Java ( الطبعة الأولى). Pragmatic Bookshelf . 300 صفحة . ISBN 978-1934356654.
- إديلسون، جاستن؛ ليو، هنري (18 نوفمبر 2008). كتاب طبخ جيه روبي ( الطبعة الأولى). دار نشر أورايلي ميديا . 222 صفحة . ISBN 978-0-596-51980-3.
- بيني، أولا (24 سبتمبر 2007). مشاريع عملية لتطبيقات الويب 2.0 باستخدام JRuby on Rails: نقل Ruby on Rails إلى Java ( الطبعة الأولى). Apress . 330 صفحة . ISBN 978-1-59059-881-8.
- كوتلر، كريس؛ ليونارد، برايان (4 مايو 2009). بيئة تطوير NetBeans Ruby وRails المتكاملة مع JRuby ( الطبعة الأولى). Apress . ص 160. ISBN 978-1-4302-1636-0أُرشف من الأصل في 27 أغسطس 2012. تم الاطلاع عليه في 12 يوليو 2009 .
روابط خارجية
- برنامج مجاني مكتوب بلغة جافا
- برنامج مجاني مكتوب بلغة روبي
- لغات برمجة JVM
- لغات البرمجة الكائنية التوجه
- روبي (لغة برمجة)
- لغات البرمجة النصية
- برنامج يستخدم رخصة إكليبس العامة
