لمعانٍ أخرى، طالع راينو (توضيح).

**راينو** (بالإنجليزية: Rhino)‏ هو محرك جافا سكريبت مفتوح المصدر مكتوب بلغة جافا ويُدار من طرف مؤسسة موزيلا. والتي توفر محركا آخر للجافاسكريبت مكتوب بلغة سي والذي يعرف بـسبايدر مونكي.

راينو يقوم بتحويل برمجيات الجافاسكربت إلى أصناف (class) برمجية. وهو يعمل بكلا من نمطي الـ (compiled) والـ (interpreted) وقد خُطط لجعله يعمل لإعداد تطبيقات برمجية تعمل على الخادم (Server) كما في اي اس بي دوت نيت وبي اتش بي غير أنه لن تكون حاجة لدعم إضافي في متصفح الانترنت البراوزر.

إصدار حديث من راينو (راينو 1.6) تم إصداره لتتم كتابة الكود الخاصة به بواسطة لغة جافا وقد أنتجته الشركة المالكة لجافا صن ميكروسيستمز وتم دمجه مع جافا 6 في سنة 2006 مما جعل التعامل مع الجافاسكربت عن طريق لغة البرمجة جافا امرا سهلا.

نبذة تاريخية
------------

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

في الأصل تم دمج جميع كودات الجافاسكربت ضمن الجافا ضمن كلاس (صنف) برمجي خاص بذلك وكان العمل بجودة عالية جدا تتفوق على دمج الجافاسكربت ضمن لغة سي. غير أن المحرك عانى من مشكلتين: أولاهما أن التنفيذ كان يستغرق وقتا طويلا لأن كلاس الجافاسكربت كان كبير الحجم. وأيضا فقد كان هناك مشكلة [[تسرب في الذاكرة) (memory leak) لأن معظم مشغلات الجافا لا تتضمن تطبيق جامع للقمامة (Garbage collection).

وبذلك فقد تمت إضافة نمط التشغيل الجديد للجافاسكربت في سنة 1998 (interpretive mode) وتم تحويل الكلاس إلى نمط اختياري وضمن مكتبة مدمجة (Dll) وبذلك زادت سرعة التنفيذ عن السابق ولم يعد التعامل مع الجافاسكربت داخل الجافا كبقية مكونات الجافا.
وتم نشر الإصدار الأول من موزيلا في سنة 1998 وتم حجز الإصدار المصنف الذي يحتوي على كلاسات (اصناف) برمجية والذي عانى من مشاكل، واليوم وافقت موزيلا على نشر راينو بما فيه الإصدار الذي يحتوي على كلاسات كمشروع مفتوح المصدر قابل للتعديل (Open Source Project)ـ

مثال
----

المثال التالي مكتوب بلغة الجافا حيث يستخدم ""راينو"" من أجل تنفيذ عملية حسابية مكتوبة بلغة الجافاسكريبت:

```
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

public class RhinoEngine {
 public static void main(String[] args) {
 ScriptEngineManager mgr = new ScriptEngineManager();
 // Now we can go and get a script engine we want. 
 // This can be done either by finding a factory that supports 
 // our required scripting language 
 // (engine = factory.getScriptEngine();)
 // or by requesting a script engine that supports a 
 // given language by name from the script engine manager.
 ScriptEngine engine = mgr.getEngineByName("JavaScript");
 
 // Now we have a script engine instance that 
 // can execute some JavaScript
 try {
 engine.put("name", args[0]);
 engine.eval("print('Hello ' + name + '!')");
 } catch (ScriptException ex) {
 ex.printStackTrace();
 } 
 }
}

```

المصادر
-------

1. ↑  الوصول: *22 يناير 2017*. وصلة مرجع: .
2. ↑  بنود رخصة مصدر موزيلا نسخة محفوظة 23 نوفمبر 2011 على موقع واي باك مشين.
3. ↑  | url= نسخة محفوظة 5 أبريل 2008 على موقع واي باك مشين.
| title=New in Rhino 1.7R1
| publisher=مؤسسة موزيلا
| accessdate=2008-03-20}} "نسخة مؤرشفة". مؤرشف من الأصل في 2016-03-15. اطلع عليه بتاريخ 2021-02-04.

وصلات خارجية
------------

* رهاينو على موقع Open Hub (الإنجليزية)عدل على Wikidata
* Rhino - JavaScript for Java
* Download Rhino
* Download Archive (Main download page above doesn't work currently)
* 5 things you didn't know about... the Java Scripting API by Ted Neward

قالب:Mozilla projects
قالب:ECMAScript

| * ع
* ن
* ت
جافا (منصة برمجية) |
| --- |
| منصات جافا | 
* جافا (لغة برمجة)
* آلة جافا الافتراضية
* جافا بلاتفورم ميكرو إديشين
* منصة جافا
* منصة جافا
* Java Card
* تطوير برمجيات أندرويد

 |  |
| تقنيات صن | 
* Squawk
* عدة تطوير جافا
* عدة تطوير جافا المفتوحة
* آلة جافا الافتراضية
* JavaFX
* Maxine VM

 |
| تقنيات المنصة | 
* بريمجات جافا
* سيرفلت
* MIDlets
* صفحات خادم جافا
* Web Start (JNLP)

 |
| تقنيات من طرف ثالث | 
* JRockit
* GNU Classpath
* Kaffe
* TopLink
* Apache Harmony
* أباتشي سترتس
* ec
* هايبرنت
* ريد هات
* Tapestry
* Jazelle

 |
| تاريخ | 
* Java version history
* Java Community Process
* صن ميكروسيستمز
* Free Java implementations

 |
| لغات برمجة رئيسية | 
* BeanShell
* كلوجر (لغة برمجة)
* جروفي (لغة برمجة)
* Oxygene
* Java Tcl
* JRuby
* جايثون
* بروسيسنج
* راينو (محرك جافا سكريبت)
* سكالا (لغة برمجة)
* المزيد…

 |
| مؤتمرات جافا | 
* جافا ون

 |

| * ع
* ن
* ت
موزيلا |
| --- |
| مشاريع | 

|  |  |
| --- | --- |
| متصفحات إنترنت  | 
* كامينو
* فيرفكس (2
* 3
* 3.5
* 3.6
* موبايل)
* سي منكي

 |
| مشاريع أخرى  | 
* بسبين
* بونساي
* بجزيلا
* تشاتزيلا
* لايتنج
* بينيلوب
* بريزم
* قطرة المطر
* صنبرد
* ثندربرد
* بارود
* يوبيكويتي
* الحياكة
* مراقب فايرفوكس

 |
| الأصول والجذور  | 
* موزيلا تطبيق الجناح
* نتسكيب نافيجاتور
* نتسكيب الاتصال
* نتسكيب

 |
| مشاريع مشتركة  | 
* جنيوسنس
* فلوك
* جنيوزيلا
* آيساب
* آيسكات
* آيسدوف
* آيسئول
* نتسكيب 9
* الإصدارة المحمولة
* :::سويفت فوكس
* سويفت ويسل
* ميرو
* سونغ بيرد
* إكسيرو بنك

 |
| البنية التحتية
(الإطار)  | 
* امتداد
* جيكو
* نيكو
* إكس بي إل
* إكس بي سي أو إم
* إكس بي كونكت
* إكس بي إنستول
* إكس يو إل
* إكس يو إل رنر

 |
| وحدات البرمجة  | 
* تطبيق الطراز الكائن
* كومبوسر
* إن إس بي آر
* إن إس إس
* راينو
* سبايدر مونكي
* تامارين
* فنكمان

 |
| مشاريع توقفت  | 
* مشروع سالندار
* جريندل
* مينيمو

 |

 |
| المنظمة | 

|  |  |
| --- | --- |
| المؤسسة  | 
* مؤسسة موزيلا (فروع: شركة موزيلا
* مراسلة موزيلا
* موزيلا على الإنترنت)

 |
| التابعة لها رسميا  | 
* موزيلا الصين
* موزيلا أوروبا
* موزيلا اليابان

 |
| مجتمع محلي  | موزيلا تايوان |

 |
| المجتمع | 
* موزديف.أورج
* إضافات موزيلا
* مركز مطورو موزيلا
* موزيلا زاين
* فيرفكس سبريد

 |
| انظر أيضا | 
* كتاب موزيلا
* رخصة موزيلا العمومية
* مشروع مايكروفت
* إعادة تسمية تطبيقات موزيلا من ديبيان
* جالب الحظ

 |

* أيقونة بوابةبوابة برمجة الحاسوب
* أيقونة بوابةبوابة برمجيات
* أيقونة بوابةبوابة برمجيات حرة
* أيقونة بوابةبوابة تقانة المعلومات
* أيقونة بوابةبوابة علم الحاسوب