LoginSignup
13
10

More than 5 years have passed since last update.

OpalはRubyのコードをJavaScriptに変換するコンパイラです。Opalを使うと、Rubyのプログラムをブラウザ上で動かすことができます。

Opalの用途

ブラウザで動くアプリケーションをRubyで書けるよ、というのが主な用途になります。JSでいいじゃん、という人には訴求しないですけど…:frowning2:、Rubyをブラウザでも使いたい、という人にはとても良くできているツールだと思います。筆者はJSも書けなくはないですがRubyが一番長く使っていて手に馴染むので、Opalの可能性には期待しています。というだけではなくて、DXOpalというゲームフレームワークと、OvtoというWebフレームワークを実際に作って使っています。

Opalでゲームプログラミング

DXOpalは筆者が作ったゲームフレームワークです。Rubyist Magazineにチュートリアルを兼ねた紹介記事があります。

実際に動いているところは以下で見られます。(作者の方々に感謝。)

OpalでWeb開発

ゲームでない普通のアプリケーション(SPA)向けのフレームワークもあります。筆者はこれでTODOアプリを作って実用しています。

Ovtoについてはまた別の日に記事を書こうと思っています。

Web開発でいうと他にもMeniliteというフレームワークがあります(記事)。isomorphic programmingといって、一つのコードをサーバ側とクライアント側の両方で動かせるのが特徴です。(明日の記事で紹介があるかも?)

ブラウザ外でのOpal

OpalはJavaScriptが動くところならどこでも使えるので、例えば

  • PhoneGapと組み合わせてモバイルアプリを作る

とか、

  • Electronと組み合わせてデスクトップアプリを作る

といった応用が考えられます。後者については過去のアドベントカレンダーに記事があります。

Opalの情報

英語での情報は以下があります。

日本語情報としては、@youchan@githubによる書籍があります。

また過去のアドベントカレンダーにも情報があります。

13
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
10