案件評判
フレームワークを理解する!特徴や言語別の種類などを簡単に解説!

フレームワークを理解する!特徴や言語別の種類などを簡単に解説!

最終更新:2021/05/21 投稿:2019/12/17
フレームワークを理解する!特徴や言語別の種類などを簡単に解説!

フレームワークとはシステム業界ではシステム開発を簡単に行えるように用意された枠組みのことを意味します。フレームワークのおかげでシステム開発におけるプログラミングを効率的に実施することが出来ます。このフレームワークとはどのような役割があり、どのような種類があるのでしょうか?この記事ではフレームワークを理解するために特徴や言語別の種類などを簡単に解説していきます。

フレームワークとは

『システム開発を簡単に行えるように用意された枠組みのこと』
フレームワークとはシステム開発におけるプログラミングを効率的に実施するために汎用的な機能群をまとめ、システムの骨組みとなるテンプレートまで用意してくれる枠組みのことです。フレームワークを活用することでプログラミングにおける記述コードを最小限に抑えることが出来ます。JavaならStruts、PHPならLaravelなどプログラミング言語によって様々な種類が用意されております。

英語表記は“framework”
となっております。
※英語で表現される機会もあるため参考までに

フレームワークの役割

フレームワークの主な役割を見ていきましょう。

開発の効率化を実現

どんなシステム開発プロジェクトでも”効率化”はつきまとうものです。フレームワークの利用をすることで開発における様々な場面を効率化を実現することが出来ます。フレームワークには様々な開発シーンで利用可能なクラス、ライブラリ、モジュールなどの機能が用意されてます。このような使用頻度の高い汎用的な機能をまとめて利用することが可能となっております。これによりシステム開発を実施するプログラマーはわざわざ1からのプログラミングが不要となり開発を効率よく簡単に実現できるのです。またフレームワークに準拠した作成を行うことで、一度作成されたプログラムは類似の機能作成など行う場合に必要に応じてコードの再利用が可能となります。

開発の効率化によるメリット

・開発が簡単になる
最小限のプログラミングで実装が可能になる。
・開発工数(時間、コスト)の削減に繋がる
効率化によって時間、コストの削減に期待できる。
・プログラムの再利用が可能
別プロジェクトでのシステム開発に活用できる。

統一感のあるプログラムを実現

システム開発において度々見受けられるのが各プロジェクトごとに開発に携わるメンバーやその経験値や特性が大きく変わるという点があります。その場合、プログラムを記述する際のルールや癖などがメンバーによって様々で整理されていない流用の難しいプログラムソーとなり品質の担保が課題とされております。フレームワークでは各メンバーが個別に実装する範囲を最小限に抑えることが出来るため、枠組みに従った統一感のあるプログラムを実現することが出来ます。

統一感のあるプログラムによるメリット

・チームでの開発に差を出さない
ベテランと若手が混在していても統一感のあるプログラムを実現
・プログラミの修正や流用に有効
統一感のあるコードに仕上げることで修正や流用などの用途に有効となります。

フレームワークの種類

フレームワークの種類を見ていきましょう。

Javaのフレームワーク

Javaによるシステム開発に用いられるフレームワークを4つ紹介させていただきます。

Javaフレームワーク人気どころ7選をご紹介!それぞれの特徴を簡単に解説>>

Spring

SpringとはJavaに活用されるオープンソースアプリケーションフレームワークです。Springの特徴は様々なプロジェクトと呼ばれるライブラリの集合体で形成されており、開発者が用途に合わせて必要なライブラリを活用するという特徴があります。そのため非常に柔軟性が高いフレームワークとして親しまれております。

Springとは

▼起源
2003年6月
▼主要なSpringの種類
・Spring Boot
複雑な手順や設定が不要でプロジェクトを作成できる
・SpringFramework
Webアプリのコアな機能を提供する
・SpringData
データベース操作を簡易化する
・SpringSecurity
ログイン認証やCSRF対策など

Springの公式サイトはこちら>>

Struts

StrutsとはJavaに活用されるオープンソースアプリケーションフレームワークです。Javaにおけるフレームワークの中で最も知名度が高いのではないでしょうか。StrutsはMVCと呼ばれるソフトウェア設計モデルが採用されております。その特徴は画面とデータベースの開発を分離し、モジュール単位での開発を実現させたことにあります。

Strutsとは

▼起源
2000年5月
▼Strutsのバージョン
・Struts
Strutsフレームワークの初版
・Struts2
改良モデル。アノテーションによる設定ファイルの削減など

Strutsの公式サイトはこちら>>

JSF

JSF(Java Server Faces)とは、Javaに活用されるWebアプリケーションフレームワークです。Strutsと同様にMVCと呼ばれるソフトウェア設計モデルが採用されております。その特徴はWebアプリケーションのユーザインターフェースの作成のために活用され、コンポーネントベースで開発するものとなっております。

JSFとは

▼起源
2004年3月
▼開発元
Oracle社

Play Framework

Play Frameworkとは、JavaとScaraの2つのプログラミング言語で作られたオープンソースのWEBアプリケーションフレームワークです。Play FrameworkはRuby on Railsからの影響を強く受けたフレームワークとして有名です。

PlayFrameworkとは

▼起源
2007年
▼開発元
Zenexity社(Guillaume Bort氏)

Play Frameworkの公式サイトはこちら>>

PHPのフレームワーク

PHPによるシステム開発に用いられるフレームワークを4つ紹介させていただきます。

PHPフレームワーク人気どころ8選をご紹介!それぞれの特徴を簡単に解説>>

CakePHP

CakePHPとはPHPに活用されるオープンソースWebアプリケーションフレームワークです。CakePHPの名の由来は、ケーキを焼くように手軽に開発するというもので公式ロゴにもケーキが採用されております。CakePHPの特徴は誰でも素早く快適に開発を行えることを目指して生み出されたプロトタイピング型のフレームワークとなっております。

CakePHPとは

▼起源
2005年4月
▼開発元
cakeソフトウェア財団

CakePHPの公式サイトはこちら>>

FuelPHP

FuelPHPとはPHPに活用されるオープンソースWebアプリケーションフレームワークです。HMVCというソフトウェア設計モデルが採用されております。比較的新しいフレームワークということもあり様々な有名フレームワークの良いところを継承して、問題点を解決するフレームワークとして注目を集めております。

FuelPHPとは

▼起源
2010年10月
▼開発元
FuelPHP developer team

FuelPHPの公式サイトはこちら>>

Zend Framework

Zend FrameworkとはPHPに活用されるオープンソースのオブジェクト指向Webアプリケーションフレームワークです。PHP5.1.4以上に対応しております。Zend Frameworkの特徴は拡張性に長けており、使い方が自由であるという点です。また仕組みもとてもシンプルに構成されており、他のフレームワークと比較しても習得しやすいとされております。

ZendFrameworkとは

▼起源
2006年3月
▼開発元
Zend Technologies社

ZendFrameworkの公式サイトはこちら>>

Laravel

LaravelとはPHPに活用されるオープンソースのWebアプリケーションフレームワークです。現在PHPのフレームワークにおいて最も注目度の高い人気のフレームワークとなっております。Laravelの開発者は.NETの開発に携わったTaylor Otwell氏です。Laravelの特徴は開発初心者でもWebアプリケーションの構成を簡単に取り組めてしまうほどのハードル低さが挙げられます。

Laravelとは

▼起源
2011年6月
▼開発元
Taylor Otwell氏

Laravelの公式サイトはこちら>>

まとめ

フレームワークを理解するために特徴や言語別の種類について解説させて頂きました。フレームワークを一言で表すと『システム開発を簡単に行えるように用意された枠組みのこと』です。プログラミングを最小限の工数で、効率的に実行出来るために存在します。エンジニアの方は自分の得意とするプログラム言語にて使用される主要なフレームワークのことは理解をしておく必要があります。

案件評判
常駐する会社が、実際どんな会社で、どんな案件が動いているか詳しく知りたい。
これは常駐形態で働く方なら誰もが感じていることだと思います。 常駐の働き方をされている方は是非一度「案件評判」で案件についての評判をチェックしてみてください。