Scalaについて
Scala
- Scalaはオブジェクト指向言語と関数型言語の特徴を統合したマルチパラダイムのプログラミング言語である。
- Javaの後継言語で2003年に開発されました。
- 開発生産性を高める簡潔な表記が可能である。
- Javaの豊富なライブラリが使える(Scala.jsの場合、JavaScriptのライブラリが使える)。
- 全てがオブジェクトとして扱われるオブジェクト指向言語である。
- 静的型付けを行う関数型言語である。静的型付けのため、コンパイル時点でのエラー検出が得意である。
- 型(クラス)をJavaなどと比べてより容易に作ることができ、また、型を使った条件分岐をはじめとして、型に関する機能が豊富なため、メソッドやフィールドを束ねるだけのクラスではなく、型に積極的な意味を持たせてのプログラミングが可能である。
- 型推論をサポートし、多くの場面で型を自動的に補ってくれる。
- コンパイル: $ scalac ファイル名.scala
- 実行コマンド: $ scala ファイル名
- 公式サイト
- 公式リファレンス
- GitHub
Scala REPL
- Scalaプログラムは明示的にコンパイルしてから実行することが多いですが、 REPL(Read Eval Print Loop)によって対話的にScalaプログラムを実行することもで きます。
- 実行コマンド: $ sbt console
- 止める: $ >:quit
- 公式サイト
Scalaフレームワーク
Play Framework
- Play FrameworkとはJavaとScaraの2つのプログラミング言語でZenexity社のプログラマーギヨーム・ボルト(Guillaume Bort)氏によって開発されたオープンソースのWEBアプリケーションフレームワークです。
- Play FrameworkはRuby on Railsからの影響を強く受けたフレームワークとして有名です。
- その特徴として軽量で動きが速いという点が挙げられることから度々Webサービスの開発などにおいて好まれて利用されております。
- 公式サイト
Fiutla
- FinatraとはTwitter社によって開発されたFinagleとTwitterServerの上にAPIサービスを簡単に構築するためのフレームワークです。
- Rubyのフレームワークである『Sinatra』をモデルに開発されており軽量Webフレームワークとなっております。
- 高速でテスト可能であり、Twitter自社のサービスにも使われていることからScalaフレームワークとして高い注目を集めております。
- 公式サイト
SkinnyFramework
- SkinnyFrameworkとはSkinny Micro上に構築されたフルスタックWebアプリフレームワークです。
- Skinny(スキニー)と略称して呼ばれることが一般的でScala on Railsがコンセプトとなっております。
- それからも分かる通り、Ruby on Railsに強く影響を受けておりサーブレットベースのWebアプリ開発の持続可能な生産性を実現するために最適化されています。
- 公式サイト
Lift
- LiftとはScalaに活用されるデビッドポラック氏を中心に安全性を強く意識して開発されたWebフレームワークです。
- 公式サイトでも『最も強力で安全なWebフレームワーク』を謳っております。
- Liftは「安全性・開発者中心・スケーラブル・インタラクティブ」の4点を強く掲げております。同フレームワークはコントローラーの概念が無いことも大きな特徴の一つです。
- 公式サイト
Xitrum
- Xitrumとは非同期およびクラスタ化されたScalaのフルスタックWebフレームワークです。
- 最も安全なフレームワークを心がけており、Scalaの思想に乗っとっております。
- 非同期はNettyの思想に基づくものです。同言語のフレームワークである『Scalatra』より強力で『Lift』よりも簡単です。
- 公式サイト
Scalatra
- Scalatraとはシンプルで簡単をテーマに開発されたWebマイクロフレームワークです。
- ScalatraはJVMのパワーとScalaの美しさと簡潔さを組み合わせ、高性能のWebサイトとAPIをすばやく構築が可能です。
- 名称からも分かるようにRuby用のフレームワークであるSinatraをモデルに開発されました。
- 公式サイト