2009-07-23 10 views
10

Zastanawiam się, jaka jest różnica między JRuby na Railsach a oryginalną Ruby on Rails dla mojego produktu?Czy JRuby może używać oryginalnych kamieni Ruby?

Jaka jest różnica w aktywności programistycznej, wdrażaniu, obsłudze oryginalnej lub skalowalności?

Przeczytałem wiele artykułów. Powiedzieli, że JRuby ma taką samą funkcję jak Ruby. Czy to oznacza, że ​​możemy używać klejnotów Ruby dla JRuby, używając Rusztowania i ActiveRecord jak Ruby, a my możemy również wdrożyć produkt taki jak Java?

Odpowiedz

0

Większość, ale nie wszystkie, klejnoty Ruby są również dostępne dla JRuby. Scaffold i ActiveRecord z pewnością można używać z JRuby. Nie znajdziesz żadnej funkcji RoR, której brakuje w JRuby na Railsach.

Z JRuby możesz wdrożyć swoją aplikację jako standard WAR. Jeśli nie wiesz na pewno, czy chcesz używać natywnej Ruby lub JRuby, polecam używanie Netbeans IDE. Dzięki niemu możesz z łatwością przełączać się z natywnych Ruby na JRuby dla aplikacji Railsowych.

0

JRuby to pełna implementacja Ruby, są one takie same, ale JRuby działa na JVM. Jest bardzo skalowalny, ponieważ można go wdrożyć na serwerze aplikacji, takim jak Glassfish lub JBoss.

Możesz używać Railsów, istnieje tylko jedna konfiguracja do zrobienia, adapter do bazy danych. Musisz zainstalować adapter JDBC dla ActiveRecord, na przykład:

gem install activerecord-jdbcmysql-adapter 

iw swoim database.yml

adapter: jdbcmysql 

i gotowe!

edit:

jeśli jesteś zainteresowany nie ma porównania pomiędzy różnymi implementacjami Ruby, http://www.infoq.com/presentations/seifer-ruby-vm-comparison i JRuby jest jedną z najlepszych realizacji.

7

Tylko klejnoty napisane wyłącznie w Ruby będą działały pod JRuby. Klejnoty takie jak RMagick lub MySQL lub (standardowa implementacja) JSON, które wymagają rozszerzeń C, w niektórych przypadkach pozostawiają cię przy odrobinie szczęścia, aw innych przypadkach z alternatywami, takimi jak klejnoty JDBC MySQL i JSON-JRuby.

3

Zobacz moją odpowiedź here

Również ten jest przydatny referencyjny: Is It JRuby

+3

Ta strona internetowa już nie istnieje. –

0

Nie trzeba ponownie zainstalować wszystkie swoje skarby dla JRuby. Wszystko, co musisz zrobić, to ustawić zmienną środowiskową GEM_HOME na ścieżkę z Twoimi klejnotami. Należy również pamiętać, że JRuby nie obsługuje rozszerzeń natywnych. Więc będziesz musiał znaleźć kompatybilne z JRuby zamienniki klejnotów, które używają natywnych rozszerzeń.

0

można przeczytać JRuby description

istnieje jakiś tekst o ruby ​​gem i jak z nich korzystać chmura jruby:

wiele klejnotów będzie działać dobrze w JRuby; jednak niektóre Gems budują natywne biblioteki C jako część procesu instalacji. Te klejnoty nie będą działały w JRuby, chyba że Gem dostarczy również odpowiednik Javy dla biblioteki natywnej.

Powiązane problemy