こんにちは。フロントエンドエンジニアのつっちーです。
ブラウザで動作するプログラミング言語は JavaScriptただひとつですが、プログラミング言語はほかにも山のように存在します。WordPressでおなじみPHP、Ruby on Railsで火がついたRuby、機械学習の分野で使われるPythonなどなど。
普段これらの言語を用いて開発を行っている方は、「この言語がブラウザでも動けばいいのに」と常々思ってらっしゃるのではないでしょうか。
今回は、そんな願いを叶えるコンパイラをいくつかご紹介します。
目次
ブラウザでJavaScript以外の言語が動くの?
今回ご紹介するものは、「JavaScript以外の言語をブラウザに対応させる」ものではありません。「JavaScript以外の言語を、JavaScriptに変換する」、という働き(以下の処理手順を参照)をするものです。
- JavaScript以外の言語で処理を記述
- JavaScript以外の言語をJavaScriptに変換
- JavaScriptを実行
つまり、処理は PHP や Ruby で記述できますが、やはりブラウザが解釈しているのは JavaScript なのです。
とはいえ、これにより開発者が記述する部分はJavaScript以外の言語となります。
今回ご紹介するのは以下の5つ。
- PHP → JavaScript
- Ruby → JavaScript
- Python → JavaScript
- Go → JavaScript
- Swift → JavaScript
それでは、さっそくご紹介していきます。
PHP → JavaScript なら、「Uniter」
PHPからJavaScriptへの変換には、Uniter がおすすめです。
Ruby → JavaScript なら、「Opal」
RubyからJavaScriptへの変換には、Opalが有名なようです。
Python → JavaScript なら、「Brython」
PythonからJavaScriptへのコンパイラはかなり多く存在するようです。今回はBrythonをご紹介します。
Go → JavaScript なら、「GopherJS」
Dockerの開発などに用いられている言語、Goです。JavaScriptへの変換にはGopherJSがおすすめです。
Swift → JavaScript なら、「Shift.JS」
iOSアプリのSwiftまで、JavaScriptへ変換できちゃいます。そう、Shift.JSならね。
まとめ
変換処理というコストやリスクがあるためか、活用事例は極めて少ないですが、学習コスト軽減や開発スピード向上によって有益となるケースはきっとあるはずです。
まずは小さなアプリケーションの開発から、個人的にも使ってみようと思います。
ではまた! つっちーでした。
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。