今日は疎かになっていた
javaフレームワークについて投稿します。
選び方
前提としてどう選んでいくかというと
- 何を作るか
- 開発スケジュール
- 技術者の人数および技術力
- 保守性
などが挙げられますが
以下2点は抑えておきたいものです。
必要な機能を備えているか
例えば
Spring Frameworkは汎用性が高く、機能が充実していますが
Play Frameworkは軽量で機能が絞り込まれているという違いがあります。
したがって、大規模開発のために機能重視でフレームワークを選ぶ場合は
Spring Frameworkを採用することも1つの考え方です。
実績あるフレームワークであるか
次々と新しいフレームワークが生まれていますが
マイナーなフレームワークを選んでしまうと、対応できるエンジニアが少なく
学習コストや開発コスト、メンテナンスコストが余計にかかります。
そのため実績あるフレームワークを選ぶことをおすすめします。
有名なフレームワークであれば、開発コミュニティや日本語ドキュメントが充実してお
情報を入手しやすいというメリットもあります。
フレームワーク一覧
- Spring Framework
- Java EE
- Apache Struts
- Play Framework
- Spark Framework
他にもありますが、有名どころのこれらを紹介して行きます。
Spring Framework
オープンソースフレームワークで、単にSpringと呼ばれることもあります。
データベースへのアクセスやトランザクション処理などをサポートするフレームワークをはじめ
多数のフレームワークの集合体です。
Java EE
Java標準仕様のフレームワーク。
かつてはJ2EE(Java 2 Platform, Enterprise Edition)と呼ばれていました。
大規模システムに採用されています
Apache Struts
Apache Software Foundation が提供する、2001年ごろから使われているフレームワークです。
Struts 1は既にサポート終了、Struts2が別バージョンでリリースされています。
Play Framework
Javaと、Javaとの連携が容易なプログラミング言語Scalaで書かれたオープンソースのフレームワーク。
Rubyのフレームワーク「Ruby on Rails」、pythonのフレームワーク「Django」の思想に大きく影響を受けています。
Spark Framework
シンプルな構成・軽量のマイクロフレームワーク。Rubyのフレームワーク「Sinatora」に影響を受けています。