ReScriptは、複雑なWebアプリケーションの開発を支援する最新のプログラミング言語のひとつで、JavaScriptにトランスパイルしてブラウザ上で実行することができる。
この25年の間に、javaScriptの用途はドラスティックに変化した。一方で、言語としての進化は続いているものの、昨今開発されている複雑なアプリケーションに必要な機能の提供に苦慮している現状がある。
ReScriptやTypeScriptといった言語は、このJavaScriptのギャップを埋めて、JavaScriptアプリケーションを通じることでブラウザ上での実行は引き続き可能にしつつ、開発者による、より堅牢なアプリケーションの開発を支援する。
TypeScriptは、JavaScriptのスーパーセットであるという事実に基いた適切なマイグレーションパスを提供することで、短期間でこの分野の主要言語のひとつになった。すなわち、JavaScriptで記述されたコードはTypeScriptコードとしても有効であるため、単にファイル名を変えるだけでマイグレーションが実現する。アプリケーションを完全に書き直す必要はなく、TypeScript特有の機能(型定義など)を後からゆっくり加えていけばよい。
それに対してReScriptは、JavaScriptのサブセットをサポートするに過ぎない。構文の簡潔性を維持することによって、学習が容易であると同時に、JavaScriptに(従ってTypeScriptにも)含まれる、数多くの落とし穴を開発者が回避する上でも有効である。
同時にこれは、ReScriptへのマイグレーションの方が難しいということでもあるのだが、その一方で、ReScriptのコードは一般的に可読性やメンテナンス性に優れ、効率のよい、読解可能なJavaScriptコードを生成することが可能である。コンパイル速度も高速で、他のコンパイラに比較して1桁ないし2桁速いと言われている。
ReScriptを使ってみる一番簡単な方法はオンラインのプレイグラウンドである。ローカルにインストールする必要なく、ReScriptを体験することができる。
新たなReScriptプロジェクトをセットアップする場合は、公式テンプレートプロジェクトをクローンし、依存関係とビルドスクリプトをインストールする方法が推奨されている。
git clone https://github.com/rescript-lang/rescript-project-template
cd rescript-project-template
npm install
npm run build
node src/Demo.bs.js
簡単なガイドに従えば、既存のプロジェクトにReScriptを追加することも可能だ。
JSXとReactJSの組み込みサポートも同梱されており、ガイドに従えば簡単にインストールすることができる。
ReScriptはGithubリポジトリ経由で提供されており、MITライセンス下でリリースされる。プロジェクトは開発者に対して、コントリビューションガイドラインと行動規範に基づいたプロジェクトへのコントリビューションやフィードバックを広く求めている。