コンテンツへスキップ

JavaScriptを別な言語で書くためのライブラリまとめ

by : 2016/10/11

JavaScriptはWebブラウザで動く唯一のプログラミング言語です。そのためWebシステムに関わるプログラマはJavaScriptの習得が必須と言えます。

しかし仕様が慣れないという声や、スクリプト言語が苦手という人もいるでしょう。そうした方に向けて、JavaScript言語を別なプログラミング言語で書けるライブラリを紹介します。

Python

この手のライブラリで多いのがPythonです。Pythonの構文は括弧が少なく分かりやすいこともあってCoffeeScriptにも反映されています。それをさらに進めてほぼPythonの構文を使えるようにしています。

Pyjs

特にリッチなWebアプリケーションを開発するのに向けて開発されています。Web Tool KitのPython版という位置づけで開発が開始しました。

MSHTMLをサポートすることで、Webはもちろんデスクトップも対象としたWebアプリケーションが開発できます。

Transcrypt: Lean and mean Python 3.5 to JavaScript compiler

TranscryptはWebブラウザでそのまま動くのではなく、PythonのコードをJavaScriptに変換するライブラリです。そのため、ビルドツールなどを使ってPythonファイルが更新されたら自動生成するような仕組みを使うのが良さそうです。

Brython

Python3の構文でJavaScriptとして動きます。Ajaxはもちろん、SVGの描画、グラフなどグラフィックスにも強いのが特徴となっています。

Ruby

Pythonと並んで人気のあるスクリプト言語であるRubyもJavaScript化しています。

Opal: Ruby to JavaScript Compiler

RubyからコンパイルしてJavaScriptになります。Ajaxを動かしたり、jQueryの利用もできます。ソースマップにも対応しているので、Rubyの構文ままでデバッグができます。

RubyJS | Home

RubyJSはそのままRubyというよりも、Ruby風に書けるJavaScriptといった方が正しいかも知れません。あまり無茶をしない分、習得してしまえばCoffeeScript風に使いこなせそうです。

HotRuby – Ruby on JavaScript and Flash

JavaScriptによるRuby実装で、RubyVMになります。さらにFlashでも動作するとのことです。最近は更新されていないようです。

Lua

Luaも幾つかの実装があります。

Moonshine – A lightweight Lua VM for the browser

ブラウザで動作するLua VMです。コンパイルされたLuaのバイトコードをJavaScript上で実行します。

Lua.js live demo

LuaのコードをJavaScriptに変換します。すべてJavaScriptで書かれており、scriptタグにてapplication/x-luaと指定してLuaのコードを記述するか、テキストを変換して実行することができます。

その他

その他にも幾つかの言語での実装があります。

GWT

Googleが開発したライブラリで、JavaをJavaScriptに変換して実行します。特にサーバサイドも含めてJavaで記述することで、サーバサイドとクライアントサイドを共通した言語で作り上げることができます。

Grooscript

GroovyのコードをJavaScriptに変換して実行します。Angularもサポートしており、Groovyを使ってより本格的なWebアプリケーションが開発できます。

Scala.js

Scalaの構文を使ってWebアプリケーションが開発できます。ReactやAngularと組み合わせて利用することもできます。パフォーマンスにも気を配っており、実際の本番環境下でも使用することも可能です。


いかがでしょうか。JavaScriptを書くのが嫌だという方でもこれらの言語を使うことでより効率的にWebアプリケーションが開発できそうです。何よりサーバサイドとクライアントサイドの言語を統一できれば、開発効率はぐっと向上することでしょう。もちろん本当の言語に比べてできないこともありますので(ローカルのファイルを扱ったり、ネットワーク周りなど)、検証を行ってください。

 

hifive – HTML5企業Webシステムのための開発プラットフォーム

banner_02

From → まとめ

コメントは受け付けていません。

%d人のブロガーが「いいね」をつけました。