Prism - Rubyが使えるWebフロントエンドフレームワーク
Webブラウザで唯一実行が保障されているプログラミング言語はJavaScriptです。しかし規模の大きなシステムを書きたがらなかったり、サーバサイドは別な言語を使っているケースもあります。 そこで今回はRubyでWebアプリケーションが書けるPrismを紹介します。
Prismの使い方
デモです。
Prismのコードです。Rubyで書かれているのが分かります。
class HelloWorld < Prism::Component
attr_accessor :name
def initialize(name = "World")
@name = name
end
def render
div(".hello-world", [
input(onInput: call(:name=).with_target_data(:value)),
div("Hello, #{name}")
])
end
end
Prism.mount(HelloWorld.new)
PrismはmrubyをEmscriptenでWebAssembly化し、RubyのコードをWebブラウザ上で処理して画面に表示しています。Opalに似ていますが、パフォーマンスはPrismの方が良いでしょう。mrubyでできることに限定されるでしょうが、非常に面白いソフトウェアです。
PrismはJavaScript/Ruby製のオープンソース・ソフトウェア(MIT License)です。
prism-rb/prism: Build frontend web apps with Ruby and WebAssembly