本連載もいよいよ今回が最終回となります。連載が開始した2008年6月はScalaも黎明期であり、初回記事を見るとScalaの対象バージョンが2.7.1となっています。本記事執筆中の2012年1月における最新安定版が2.9.1であることを考えると、長く続いたものです。今回のテーマは、「Scalaをとりまく開発環境」です。

 今回は、最終回ということもあり、現在使えるScala用IDE、開発ツールなどについて概要を紹介してみたいと思います。もちろん、記事のスペース上、また、Scalaワールドが広くなった事もあり、載せられなかったものが多数ありますので、その点は了解いただければと思います。「開発環境」と一口に言っても多岐にわたるので、2回に分けて、前編では、各種Scala用IDEとsbtの紹介、後編はScalaTest、Specs2などのテスティング フレームワークやその他の重要なライブラリなどの紹介を行いたいと思います。

Scala開発環境の昔と今

 本連載が始まった頃、Scalaの開発環境と言えば、エディタ + scalac ( + Ant scalac task)が一般的であり、実用に耐えうるScala IDEなどはまだ存在していませんでした。また、現在Scala界隈におけるビルドツールのデファクトスタンダードとなっているsbtは、初期のバージョンがリリースされたばかりであり、実用に使うには不安が残るものでした。

 翻って現在、Scala用IDEは今だJava用IDEには及ばないものの、IntelliJ IDEAのScalaプラグイン、NetBeansのScalaプラグイン、Scala IDE for Eclipseと、各種Scala用IDEには一通りの機能がそろって来ており、数万行以上の規模のプロジェクトで使うことも充分できるようになってきています。特に、IntelliJ IDEAのScalaプラグインは、Scala用IDEの中ではぬきんでており、JavaのコードをScalaコードに変換する、という便利機能まで備えています。また、ScalaチームがTypeSafe社を立ち上げたことによって、去年までは実用に使うには問題が多かった、Scala IDE for Eclipseの品質も急速に改善されています。先日リリースされたScala IDE for Eclipse 2.0は、Eclipse JDTにはまだ見劣りするものの、実用で利用可能な開発環境となっています。

 また、ビルドツールについては、sbt(Simple Build Tool)がデファクトスタンダードとなり、多くのsbt pluginが活発に開発されています。ユニットテスティング フレームワークも、ScalaTestまたはSpecs2が準標準的なものとなっています。

 Webアプリケーションフレームワークは、一昔前はLiftがScala用Webアプリケーション フレームワークとして知られているのみでしたが、現在はいくつもの新しいScala用Webアプリケーションフレームワークがリリースされています。特に、Typesafe社が公式サポートを表明した事もあって、Play 2.0 Frameworkは、近い将来に、Scalaの標準的なWebアプリケーションフレームワークになる可能性があります。

 このように、Scalaの周辺環境はかなり成熟して来ており(もちろん、成熟度ではまだJavaには及びませんが)、Scalaを「実用」で使うことを検討している人にとって、今の時期はちょうど良いと言えます。