JavaのフレームワークTOP3


本記事で学べること
・JavaのフレームワークTOP3


開発に関わる煩わしさが削減されたら、とても便利ですね!

「短時間でJavaの開発を進めたい!」

しかし、正攻法でいけばコーディングに多くの時間を取られてしまいます。一方、フレームワークを使用することで開発期間を短縮化 することが可能です。開発に必要な基本的な機能が既にコードされているので、コーディング量が大幅に削減され、またフレームワークにはMVCやMVVMパターンなど、決められた形式があるため、複数人の開発でもミスや重複が生じにくいです。

MVC vs MVVM
MVCとは、フレームワークを「Model(データとロジックの保存)」「View(データの結合と提示)」「Controller(MとVを管理するinterface)」の3分割にする構造パターン。MVVMはVM(ViewModel)がCに置き換えられた新しいモデル。VMはCの働きに加え、フロントサイドの管理も可能で、データをどう表示するかまで担当します。

 JavaのフレームワークTOP3の特徴


Spring Frameworkをダウンロードする

1. Spring Framework


① 人気
 2002年にリリースされたオープンソースフレームワークです。AmazonやNetflixなどの開発に利用されており、国内でも東芝やNTTデータなど大手が使用しています。2020年の主要なJavaフレームワークランキングではGoogleトレンドで一位となっています。


② 機能性
 Javaの開発では、XMLに様々な設定を記述する必要がありましたが、Spring Bootでは最低限のXMLの設定だけてアプリケーションの実行が行えるようになっています。


③ 依存性注入
 DI(Dependency Injection:依存性注入)機能を備えたフレームワークで、オブジェクトの成立に必要なコードを分離できるので、通常は単体テストが出来ない場合でも、完成済みクラスから順に試すことが可能です。そのためシステムの改修に向いています。



Apache Strutsをダウンロードする

2. Apache Struts


① 歴史
 2001年に初版が公開され、Javaのフレームワークの中でも歴史が長く、現在はアップグレード版のStruts 2が主に使用されています。オープンソフトウエアとして無償で提供しているので誰でも自由に利用できるのも特色です。


② 機能性
 MVCを基盤としたフレームワークで、画面の変更であればViewである画面の修正のみでできる強みを持っており、開発の時短に繋がります。また、JavaコードをJSPファイルと分離することで、HTMLタグ中にスクリプトレット(<% %>)を混入する従来の形式を大幅に改善しています。


③ 脆弱性
 脆弱性が度々見つかるフレームワークとしてもStrutsは知られており、国内でも日本郵便やJETROなどで情報流出被害が発生しました。そのため近年利用の機会が減少しています。



Play Frameworkをダウンロードする

3. Play Framework


① 効率性
 プログラム言語に「Scala」を使用するフレームワークで、Rubyのフレームワーク「Ruby on Rails」、pythonのフレームワーク「Django」の思想に大きく影響を受けています。そのため、伝統的なJava開発に見られるservletへの応答にまつわる遅延や難解性・正確性が大幅に解消されるだけでなく、CPUリソースやメモリ使用量が少ないので、軽快に動作することで知られています。


② 新規性
 その新規性から、Java EEスタンダードに準拠していない為、LinkedInやCourseraと言った比較的新しい企業での採用が目立ちます。また、Javaの基礎的な知識を持っていれば利用開始できる一方で、完全に使いこなすまでには時間がかかることでも知られます。



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA