ITエンジニア/デザイナ向けにオープンソースを毎日紹介

Scala.jsはScala製、Scala Licenseのオープンソース・ソフトウェアです。

JavaScriptはスクリプト言語であり、コンパイル系言語を使っているプログラマーにとっては使い勝手が悪いと感じてしまうようです。もしあなたがScalaの使い手であれば、ScalaでWebフロントエンドを開発できるScala.jsを使ってみましょう。


サンプルです。パッケージやオブジェクトが使えます。普通にScalaが記述できます。コンパイルを実行してJavaScriptファイルを生成します。


ソースマップに対応しており、コンソールからScalaのソースに飛ぶことができます。


WebとあってDOMの操作ももちろんできます。


入力を受け取って処理も行えます。


引数として入力内容を受け取って処理を行うこともできます。


jQueryとの連携もできます。


jQueryのイベントを呼び出した処理も行えます。かなり汎用的に連携できるようです。


コンパイルエラーを確認できます。この時のスタックトレースの中でもソースマップを使って該当行にジャンプできます。

Scala.jsを使うとWebフロントエンドの開発においてもScalaを使えるようになります。そしてコンパイルしてJavaScriptを生成します。jQueryをはじめとするJavaScriptライブラリと連携できますので使い勝手は良さそうです。なおサイズはコードの難読化、圧縮を行って16MB程度とのことです。


MOONGIFTはこう見る

この手のライブラリは数多くなってきました。CoffeeScript、JSX、TypeScript、ClearScript、Dartなどは独自の言語として開発され、JavaScriptを生成します。それに対してPHP、Ruby、Pythonなどの実行エンジンをJavaScriptで開発またはEmscriptenを使って各プログラミングコードを実行できるようにしています。

Scala.jsの場合はScalaで書いてコンパイラを使ってJavaScriptに変換します。サーバサイドのコードを書くのに比べると若干勝手が違うと思いますが、それでも慣れた言語で書けるというのはメリットがあるように感じます。考え方としてはGWTに近いものと言えるのではないでしょうか。

Scala.js - Write in Scala for the browser

lampepfl/scala-js · GitHub

 

MOONGIFTの関連記事

コメント

  • DevRel
  • Com2