라이노 (자바스크립트 엔진)
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
라이노는 1997년 넷스케이프에서 시작된 자바스크립트 엔진이다. 자바로 작성된 자바스크립트 구현이 필요하여 개발되었으며, 원래는 자바 바이트코드로 컴파일하는 방식을 사용했다. 이후 인터프리트 모드를 추가하여 성능과 메모리 관리 문제를 개선했다. 1998년 모질라 재단에 오픈 소스로 공개되었으며, 자바 SE 6부터 자바 플랫폼에 통합되어 자바 프로그램에서 자바스크립트 사용을 가능하게 했다. OpenOffice.org 및 LibreOffice에서도 매크로 언어 실행 환경으로 사용된다.
더 읽어볼만한 페이지
- 자바스크립트 엔진 - V8 (자바스크립트 엔진)
V8은 구글이 개발한 오픈 소스 자바스크립트 엔진으로, 자바스크립트 코드 실행 속도 향상을 위해 여러 컴파일러를 거쳐 크롬, 노드.js 등에서 활용된다. - 자바스크립트 엔진 - 차크라 (자바스크립트 엔진)
차크라는 ECMAScript 5.1과 ECMAScript 2015의 일부 기능을 지원하는 자바스크립트 엔진이며, 마이크로소프트는 해당 엔진의 핵심 구성 요소를 ChakraCore라는 이름으로 오픈 소스화했다. - JVM 프로그래밍 언어 - 코틀린 (프로그래밍 언어)
코틀린은 젯브레인즈에서 개발한 정적 타입 언어로, 자바 가상 머신에서 동작하며 자바와의 호환성을 갖고, 안드로이드 공식 지원 언어로 채택되어 다양한 분야에서 활용되고 있으며, 이름은 러시아의 코틀린 섬에서 유래되었다. - JVM 프로그래밍 언어 - 자바 (프로그래밍 언어)
자바는 제임스 고슬링 등에 의해 개발된 객체 지향 프로그래밍 언어로, 다양한 플랫폼에서 실행 가능하며 샌드박스 모델 기반의 보안 기능, 자동 메모리 관리, 멀티스레딩 등을 지원한다. - 모질라 라이선스 소프트웨어 - 모질라 파이어폭스
모질라 파이어폭스는 모질라 재단에서 개발한 무료 오픈 소스 웹 브라우저로, 탭 브라우징, 팝업 차단, 확장 기능 등을 지원하며 웹 표준 준수 및 개인 정보 보호 기능을 강화했다. - 모질라 라이선스 소프트웨어 - 시몽키
시몽키는 웹 브라우저, 이메일 클라이언트, HTML 편집기, IRC 클라이언트를 통합한 오픈 소스 인터넷 스위트이며, 모질라 애플리케이션 스위트의 개발 중단 후 시몽키 위원회가 이어받아 개발하고 파이어폭스와 동일한 게코 엔진을 사용한다.
라이노 (자바스크립트 엔진) - [IT 관련 정보]에 관한 문서 | |
---|---|
일반 정보 | |
개발 상태 | 개발 중 |
최신 릴리스 버전 | 1.7.15 |
최신 릴리스 날짜 | 2024년 5월 3일 |
운영체제 | 크로스 플랫폼 |
플랫폼 | 자바 가상 머신 |
프로그래밍 언어 | 자바 자바스크립트 |
장르 | 자바스크립트 엔진 |
라이선스 | MPL 2.0 |
웹사이트 | 라이노 공식 웹사이트 |
리포지토리 | 라이노 GitHub 리포지토리 |
2. 역사
라이노 프로젝트는 1997년 넷스케이프에서 시작되었다. 넷스케이프는 자바로 작성된 넷스케이프 내비게이터 버전을 개발할 예정이었고, 이에 따라 자바로 작성된 자바스크립트 구현체가 필요했다. 이른바 자바게이터(Javagator) 프로젝트가 자바스크립트 엔진으로서 완성되었다. 그 후, 썬 마이크로시스템즈 등 일부 기업들은 라이노를 사용하기 위해 라이선스하였고 넷스케이프에 작업을 위한 비용을 지불했다.
원래 라이노는 모든 자바스크립트 코드를 자바 클래스 파일의 자바 바이트코드로 컴파일하여 성능이 좋았지만, 컴파일 시간이 길고 메모리 누수가 발생하는 문제가 있었다. 1998년 가을, 이 문제를 해결하기 위해 인터프리트 모드를 추가했다.
1998년 4월, 모질라 재단에 공개되었고, 라이선스 제공자의 동의로 전체가 오픈 소스로 공개되었다. 이후 라이노는 다양한 용도로 사용되었고 많은 사람들이 코드에 기여했다.[4] 프로젝트 이름은 오라일리 미디어의 자바스크립트 책 표지에 있는 코뿔소에서 따왔다.[5] 1.7R1 버전을 기준으로, 라이노는 자바 4 이상을 지원하며, 버전 1.7의 자바스크립트를 지원한다.[6]
2. 1. 개발 배경
넷스케이프는 1997년에 라이노 프로젝트를 시작했다. 당시 넷스케이프는 자바로 작성된 넷스케이프 내비게이터 버전을 개발할 예정이었으며, 이를 위해 자바로 작성된 자바스크립트 구현체가 필요했다. 넷스케이프가 자바게이터(Javagator)에 대한 작업을 중단하면서 라이노 프로젝트가 자바스크립트 엔진으로 완성되었다. 그 후 썬 마이크로시스템즈 등 일부 주요 기업들이 자사 제품에 라이노를 사용하기 위해 라이선스를 획득하고 넷스케이프에 개발비를 지원했다.[4]2. 2. 초기 개발 및 문제점
라이노 프로젝트는 1997년 넷스케이프에서 시작되었다. 당시 넷스케이프는 자바로 완전히 작성된 넷스케이프 내비게이터 버전을 개발할 예정이었으며, 이에 따라 자바로 작성된 자바스크립트 구현체가 필요하였다. 넷스케이프가 자바게이터(Javagator)에 대한 작업을 착수하면서 이른바 라이노 프로젝트가 자바스크립트 엔진으로서 완성되었다. 그 이후로 썬 마이크로시스템즈를 포함한 일부 주요 기업들은 자사의 제품에 라이노를 사용하기 위해 라이선스하였고 넷스케이프에 자금을 지불하여 작업을 계속해나갔다.[4]원래 라이노는 모든 자바스크립트 코드를 생성된 자바 클래스 파일의 자바 바이트코드로 컴파일하였다. JIT 컴파일과 더불어 종종 자바스크립트의 C++ 구현체에 버금갈 정도로 최고의 성능을 뽐냈지만 두 가지 문제점이 있었다. 첫째로 바이트코드를 생성하는데 컴파일 시간이 길었고 생성된 클래스를 불러오는 것이 리소스를 많이 잡아먹는 과정이었다. 또한, 대부분의 자바 가상 머신(JVM)이 사용되지 않은 클래스라든지 클래스 파일 로드의 결과로 억류된 문자열의 수집을 하지 못했기 때문에 메모리 누수가 발생하였다(이는 자바의 나중 버전에서 변경되었다).
그 결과, 1998년 가을 라이노는 인터프리터 모드를 추가하였다. 클래스 파일 생성 코드는 선택적인 동적 적재 패키지로 이동되었다. 컴파일 속도는 더 빨라졌고 스크립트를 더 이상 사용하지 않을 때 다른 모든 자바 객체처럼 수집이 가능하게 되었다.
2. 3. 인터프리트 모드 도입 및 오픈 소스 전환
1998년 가을, 라이노는 인터프리트 모드를 추가했다. 클래스 파일 생성 코드는 선택적으로 동적 적재되는 패키지로 이동되었다. 이를 통해 컴파일 속도가 더 빨라졌고, 스크립트를 더 이상 사용하지 않을 때 다른 자바 객체처럼 수집이 가능해졌다.[1]1998년 4월, 라이노는 모질라 재단에 공개되었다. 라이노의 라이선스 제공자는 클래스 파일 생성을 포함한 라이노 전체를 오픈 소스로 공개하는 데 동의하였다. 오픈 소스로 공개된 이후 라이노는 다양한 용도로 활용되었고, 많은 사람들이 코드에 기여하게 되었다.[1] 프로젝트 이름은 오라일리 미디어의 자바스크립트 책 표지에 있는 동물(코뿔소)에서 따왔다.[2]
- --
변경 사항:
- `[4]`를 `[1]`로 변경했습니다. 원본 소스에서 두 인용구가 동일한 내용을 가리키고 있으므로, 중복을 피하기 위해 하나로 통합했습니다.
- 나머지 부분은 기존 출력 내용과 동일하며, 모든 지시사항을 준수하고 있습니다.
2. 4. 현재
1.7R11 버전 (2019년 5월)부터 Rhino는 자바 8 이상을 지원하며, 여러 ECMAScript ES6/ES2015 기능을 지원한다.[3]3. 이용
라이노는 자바스크립트 스크립트를 클래스로 변환하며, 컴파일 및 인터프리트 모드로 동작한다.
3. 1. 사용 환경
라이노는 서버 사이드 애플리케이션용으로 설계되었으므로 웹 브라우저 객체에 대한 자체 지원은 없다. 라이노 셸을 사용하여 디버거로 활용할 수 있다. 자바스크립트 셸은 배치 모드나 탐색 프로그래밍을 위한 인터랙티브 환경에서 스크립트를 실행하는 방법을 제공한다.[1]3. 2. 자바 플랫폼 통합
라이노 1.6r2의 수정판은 2006년 12월에 출시된 자바 SE 버전 6에 번들로 제공되었다. 이를 통해 자바스크립트를 자바 프로그램의 일부로 통합하고 자바스크립트에서 자바 리소스에 쉽게 접근할 수 있게 되었다. JDK 중 Java Platform, Standard Edition 6 JDK부터 자바스크립트 실행 엔진으로 포함되었고,[1] OpenOffice.org와 LibreOffice에서도 매크로 언어 중 하나로 채택된 자바스크립트를 실행하고 디버깅하는 환경으로 사용된다.[1]4. Rhino를 사용한 소프트웨어
참조
[1]
웹사이트
Rhino History
https://web.archive.[...]
Mozilla Foundation
2008-03-20
[2]
서적
O'Reilly's Javascript book, inspiration for the Rhino name
http://www.oreilly.c[...]
[3]
웹사이트
Rhino ES2015 Support
https://mozilla.gith[...]
Mozilla Foundation
2019-08-13
[4]
웹인용
Rhino History
https://web.archive.[...]
모질라 재단
2008-03-20
[5]
서적
O'Reilly's Javascript book, inspiration for the Rhino name
http://www.oreilly.c[...]
[6]
웹인용
New in Rhino 1.7R1
https://developer.mo[...]
Mozilla Foundation
2008-03-20
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com