このページでは、国内のScala採用事例の一部について紹介します。
複数のプロダクトでScalaを使用しています。また、当社の主催するイベント市ヶ谷Geek★NightでもScalaをテーマに採用するなど積極的な普及活動を行っています。
Scala使用プロダクト
当社が提供するスマートフォン広告や、広告管理ツールなどの開発に「Scala」を使っており、今後も更に「Scala」の導入を推奨していきます。また、ScalaMatsuri 2014の会場提供や社内外に向けたScalaイベントを実施しており、Scalaの普及活動を積極的に行っています。
AMoAd スマートフォンに特化したアドネットワーク。有名なブログやSNS、ニュースサイトなどを多数保有。ネイティブアドの掲載可能量は国内最大規模です。
Dynalyst スマートフォンに特化したダイナミックリターゲティング広告です。
GameTailor スマートフォンゲームアプリユーザー一の利用状況に応じた広告をソーシャルメディア上に配信する広告です。
Smalgo スマートフォンに特化した成果報酬課金型DSPです。
Lodeo スマートフォンに特化した動画アドネットワークです。
AppliPromotion スマートフォンアプリに特化したクロスプロモーションネットワーク、及び動画視聴完了型のリワードネットワークです。
業務システムにScalaを導入しています。
上記のリンク先のスライドでは、MongoDBの話が多く、Scalaの部分の詳細には触れていませんが、Scalaに関しては
など、twitter社がopen sourceで提供しているライブラリなどを使用しています。
某社のサービス用APIとデータ管理WebインターフェイスをScala + LiftでGAE上に構築しました。APIはXMLを応答する仕様であり、ScalaのXMLリテラルによって、応答すべきXMLとScalaのプログラムとをシームレス/簡潔に記述できた点は、他言語ではできなかった良さでした。また、LiftのBox型とfor構文の活用により、APIパラメーターの妥当性チェックと異常系応答処理の記述がシンプルに書けた点も優れていました。約44個のScalaファイル、合計3800行程の開発規模です。
某Android用アプリケーションをScalaで記述しました。利用できる資産との兼ね合いでJavaを使った部分もありましたが、そのような状況でもScalaの高い記述力を部分的にでも活かせる点は興味深かったです。
NGMSと呼んでいるネットワーク管理支援システムを名古屋大学様、SRA様と共同でScalaを中心に開発しました。CUIインターフェイスの特性から文字列のパースを行う機会が多く、Scalaのパーサーコンビネーターが開発効率に大きく寄与しました。4万行を超える中規模システムですが、Scalaコンパイラが大きな問題となったことはありません。
いくつかのサービスやシステムを Scala で開発・運用しています。 社内のデータ集計や運用のためのツールなどにも Scala を利用しています。 その他、公開可能なものは GitHub に置いています。
スマートフォン、フィーチャーフォン向けのソーシャルアプリの企画、開発、運用を行なっており、 以下のサービスをscala2.7.7+Lift(webアプリケーションフレームワーク)で構築しています。
サービス一覧
友達とおすすめのアプリを教えあうサービスLet’s App!のサーバが Play Framework 2.0 + Scala 2.9.1で書かれているとのことです。