문제

나는 레일에서 Jruby와 Jruby를 시험해보고 싶다. 레일의 Jruby와 Ruby on Rails의 차이점에 대한 정보를 찾는 데 어려움이 있습니다.

내가 찾아야 할 차이점은 무엇입니까?

도움이 되었습니까?

해결책

Jruby는 JVM에서 실행되는 Ruby 구현이며 Matz의 Ruby는 C 구현입니다.

주목할 주요 기능은 다음과 같습니다.

  1. Jruby는 Java VM에서 실행되며 Java Byte 코드로 편집되거나 해석됩니다.
  2. Jruby는 Java 코드와 통합 할 수 있습니다. Java 클래스 라이브러리 (.jar 's)가있는 경우 Jruby와 함께 Ruby 코드 내에서 참조하여 사용할 수 있습니다. 다른 방향으로는 Java 내에서 Jruby 코드를 호출 할 수도 있습니다. Jruby는 JVM 및 응용 프로그램 서버 기능을 사용할 수도 있습니다.
  3. Jruby는 일반적으로 Sun 's Glassfish 또는 Tomcat Web Server와 같은 Java 응용 프로그램 서버 내에서 호스팅됩니다.
  4. Jruby와 함께 기본 Ruby Gems를 사용할 수는 없지만 대부분의 인기있는 Ruby 라이브러리에 Jruby 구현이 있습니다.

Jruby Wiki에 나열된 다른 차이점이 있습니다.

다른 팁

이 질문에 대한 모든 답변에서 누락 된 중요한 것은 놀랍습니다. .

ESP에 관심을 가져야하는 주요 차이점. 레일로 제작 된 것과 같은 웹 응용 프로그램에서 진정한 동시성 ( "글로벌 통역사 잠금"무료). Jruby와 함께 두 개의 스레드가 실행될 때 (예 : 2 개의 사용자 요청을 제공 함) 단일 프로세스 내에서 동시에 실행할 수 있으며 MRI에는 Ruby 코드를 병렬로 실행하는 것을 피하는 GIL (1.9의 기본 스레드가 있어도)이 있습니다.

응용 프로그램 개발자에게는 이것이 Jruby를 고려하면서 명심해야 할 첫 번째 일입니다. config.threadsafe! 그러나 코드 (및 보석 코드)가 "진정으로"스레드 안전이어야하는지 확인해야합니다.

나는 틀렸을 수도 있지만, 당신은 정상적인 ror로 할 수없는 방식으로 Jruby on Rails 앱을 포장 할 수 있다고 생각합니다. 바지를 떨어 뜨리지 않고 판매 할 수 있습니다.

즉, 나는 ROR 포장에 충분히 익숙하지 않으므로 나를 붙잡지 마십시오 :)

대부분 동일하게 작동해야합니다. JROR에서는 ROR에 있지 않은 물건에 액세스 할 수 있습니다. 일반적으로 주로 배포 문제입니다.

그러나 ROR 앱이 JVM에서 실행되는 동등한 기본 라이브러리를 사용하는 경우 통증이 될 수 있습니다. 그러나 대부분의 Libs에는 비 네이티브 버전이 있습니다 (적어도 내가 겪은 인기있는 버전).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top