Java Web Framework, Spring & Play Frameworkの比較

    Javaの Web フレームワークで有名な Spring と Play について調べてみました.

    Spring

    Spring Framework - Wikipedia

    • DIとAOP(アスペクト指向)を中核とした豊富な機能.
    • 効率的に複雑なアプリケーションを作成するのに必要な機能を提供
    • ドキュメントも豊富.
    • OSSとしての歴史も長い, 実績あり.

    Spring Boot

    • 複雑で豊富なSpring Frameworkを結合したもの.

    参考:

    Play

    Play Framework - Wikipedia

    • 小規模な開発に向いている.
    • 導入が簡単なことや機能がシンプル.
    • Ruby on RailsとDjangoから大きな影響を受けた Scalaでかかれている.
    • Play Frameworkを導入したデフォルトの状態で開発に必要なツールはほとんどそろっている
    • 開発スピードを重視する企業やJava以外の開発者を中心に人気.
    • Spring Frameworkと比較すると実績が少なめ.
    • 生産性に注目し、RESTfulアーキテクチャを目指して開発.
    • ソースの変更時にコンパイルやサーバーの再起動が不要.
    • JSONライブラリ内臓.(jackson/jerkson).

    両者の比較

    両者をマトリックスで比較してみた.

                 Spring    Play

    実績 2002 ~ 2007 ~ 開発規模 中−大 小−中 ドキュメント 豊富
    コード量 軽量 生産性 高い

    まとめ

    中規模開発で実績重視ならば、Spring

    小規模で素早く開発をするならば、Play

    といったところだろうか.

    Special Thanks

    Javaの Web フレームワークで有名な Spring と Play について調べてみました.