Кіріспе

Java тілінде жазылған JavaScript қозғалтқышы

Rhino – Mozilla Foundation ашық бастапқы кодты бағдарламалық қамтамасыз ету ретінде басқаратын, толығымен Java тілінде жазылған JavaScript қозғалтқышы. Ол Mozilla-да дамытылған, бірақ C++ тілінде жазылған және Mozilla Firefox-та қолданылатын SpiderMonkey қозғалтқышынан ерекшеленеді.

Тарих

Rhino жобасы 1997 жылы Netscape компаниясында басталды. Ол кезде Netscape толыққанды Java тілінде жазылған Netscape Navigator нұсқасын жасауды жоспарлап, сондықтан Java тілінде жұмыс істейтін JavaScript интерпретаторы қажет болды. Netscape Javagator жобасын тоқтатқаннан кейін, Rhino жобасы JavaScript қозғалтқышы ретінде аяқталды. Содан бері бірнеше ірі компания (соның ішінде Sun Microsystems) Rhino-ны өз өнімдерінде пайдалану үшін лицензиялады және Netscape-ке осы үшін төледі, бұл жобаны жалғастыруға мүмкіндік берді. Алғашқыда Rhino барлық JavaScript кодын Java байт-кодына түрлендіріп, Java кластарының файлдарында сақтады. Бұл ең жақсы өнімділікті қамтамасыз етті, көбінесе C++ тілінде жасалған JavaScript интерпретаторын, тек уақытында компиляциялау (JIT) арқылы орындаудан асып түсті, бірақ екі кемшілігі болды. Біріншіден, байт-кодты жасау және жасалған кластарды жүктеу ресурстарды көп қажет ететін процесс болғандықтан, компиляциялау уақыты ұзақ болды. Екіншіден, Java виртуалды машиналарының (JVM) көпшілігі пайдаланылмаған кластарды немесе класты жүктеу нәтижесінде интернирленген жолдарды жинамағандықтан, реализация жадты тиімсіз түрде пайдаланды. (Бұл Java-ның кейінгі нұсқаларында өзгерді.) Осының салдарынан 1998 жылдың күзінде Rhino интерпретациялық режимді қосты. Клас файлдарын жасау кодын динамикалық түрде жүктелетін, қосымша пакетке көшірді. Компиляция жылдамырақ болды және скрипттер енді қажет болмағанда, кез келген басқа Java нысаны сияқты жинауға болатын. Rhino 1998 жылдың сәуірінде Mozilla Foundation-ға шығарылды. Бастапқыда Rhino кластық файлдарды жасау мүмкіндігі шығарылымнан тыс қалды. Бірақ Rhino лицензиясын алғандар Rhino-ның барлық бөлігін, соның ішінде кластық файлдарды жасау кодын ашық код ретінде шығаруға келісті. Rhino ашық код ретінде жарияланғаннан бері түрлі мақсаттарда қолданылып келеді және оның кодын жақсартуға үнемі көбірек адамдар үлес қосуда. Жобаның аты O'Reilly Media баспасынан шыққан JavaScript кітабының мұқабасындағы суреттен алынған. 1.7R11 (2019 жылдың мамыр айы) нұсқасынан бастап Rhino Java 8 және одан жоғары нұсқаларын қолдайды, сондай-ақ ECMAScript ES6/ES2015 мүмкіндіктерінің бірқатар нұсқаларын қолдайды.

Қолдану

Rhino JavaScript кодтарын сыныптарға түрлендіреді. Rhino жинақталған және интерпретацияланған режимдерде жұмыс істейді. Ол десктоптық немесе серверлік қолданбаларда қолдануға арналған, сондықтан JavaScript-ке жиі байланысты веб-браузер объектілеріне кіріктірілген қолдау жоқ. Rhino-ны Rhino қабығын пайдалану арқылы түзету құралы ретінде қолдануға болады. JavaScript қабығы скрипттерді пакеттік режимде немесе зерттеу бағдарламалау үшін интерактивті ортада орындаудың оңай жолын ұсынады. Оны Rhino-ны енгізу арқылы қолданбаларда пайдалануға болады. Rhino 1.6r2-нің сәл өзгертілген нұсқасы Sun Microsystems-тің Java SE 6 нұсқасымен бірге келді, ол 2006 жылдың желтоқсанында жарық көрді. Бұл Java бағдарламаларының бөлігі ретінде JavaScript-ті интеграциялауды және JavaScript-тен Java ресурстарын пайдалануды жеңілдетеді. Java 6-ның басқа да іске асырылымдары әртүрлі болуы мүмкін.