Thread View: pl.comp.lang.ruby
2 messages
2 total messages
Started by Jan Słupicki
Sat, 09 Aug 2008 20:14
HotRuby - ruby w przeglądarce.
Author: Jan Słupicki
Date: Sat, 09 Aug 2008 20:14
Date: Sat, 09 Aug 2008 20:14
21 lines
1851 bytes
1851 bytes
Link: http://hotruby.yukoba.jp/ Jest kilka projektów implementacji Ruby jako języka skryptowego zastępującego JavaScript w stronach HTML ale ten wygląda najbardziej sensownie. Gościu wpadł na pomysł używania YARV-a do kompilacji skryptu a w JavaScripcie napisał maszynę wirtualną. Czyli kod Ruby jest wysyłany na serwer gdzie jest dosłownie kilkuwierszowy skrypt który kompiluje kod a potem odsyła go w formacie JSON - sprytne. Największym zaskoczeniem dla mnie była prędkość wykonania. Okazuje się że VM w JavaScripcie bije na głowę Ruby 1.9 ! (przynajmniej na Firefoxie 3). Autorzy FF 3 zrobili tu naprawdę świetną robotę - dla porównania puściłem benchmarka na IE 7 i był ponad 50 razy wolniejszy !. W tej chwili HotRuby to tylko zabawka i "proof of concept" bo ma bardzo ograniczoną implementację biblioteki standardowej. Jednak jest to bardzo ciekawa zabawka. Zastanawiam się do czego to się może przydać ? -- Jan Słupicki
Re: HotRuby - ruby w przeglądarce.
Author: Marcin Mielżyński
Date: Sun, 10 Aug 2008 13:10
Date: Sun, 10 Aug 2008 13:10
59 lines
2942 bytes
2942 bytes
Jan Słupicki pisze:
> Link: http://hotruby.yukoba.jp/
>
> Jest kilka projektów implementacji Ruby jako języka skryptowego
> zastępującego JavaScript w stronach HTML ale ten wygląda najbardziej
> sensownie. Gościu wpadł na pomysł używania YARV-a do kompilacji skryptu
> a w JavaScripcie napisał maszynę wirtualną. Czyli kod Ruby jest wysyłany
> na serwer gdzie jest dosłownie kilkuwierszowy skrypt który kompiluje
> kod a potem odsyła go w formacie JSON - sprytne.
> Największym zaskoczeniem dla mnie była prędkość wykonania. Okazuje się
> że VM w JavaScripcie bije na głowę Ruby 1.9 ! (przynajmniej na Firefoxie
> 3). Autorzy FF 3 zrobili tu naprawdę świetną robotę - dla porównania
> puściłem benchmarka na IE 7 i był ponad 50 razy wolniejszy !.
Projekt ma już z pół roku i jestem ciekaw jak pociągnęli kompatybilność
- podobnie xruby bił wszystkich na głowę, tylko że miał tyle
optymalizacji wprowadzających niekompatybilności w rubym, że w zasadzie
nie można go było nazwać implementacją rubiego, ze względu na chociażby:
# pilnowanie widzialności czy obecności metody na każdym callsite
10.times do |i|
Fixnum.instance_eval{private :+}
i + i rescue begin
Fixnum.instance_eval{public :+}
puts i
break
end
end
# brak możliwości implementacji jakichkolwiek optymalizacji domknięć i
bindingów
def foo
a = 1
binding
end
puts eval "a", foo
# wszechobecny protokół duck-typing
o = Object.new; def o.to_str;"foo";end
puts "blah" + o
i wiele innych...
>
> W tej chwili HotRuby to tylko zabawka i "proof of concept" bo
> ma bardzo ograniczoną implementację biblioteki standardowej. Jednak
> jest to bardzo ciekawa zabawka.
>
> Zastanawiam się do czego to się może przydać ?
>
podobnie: http://www.ruby-php.org/
W przyszłości inną alternatywą dla rubiego w przeglądarkach może być
ironruby/dlr/silverlight czy jruby/consumer jre (w odpowiedzi na ciężkie
applety)
lopex
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads