18
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ateam引越し侍Advent Calendar 2016

Day 11

IDEとフレームワークの違い

Last updated at Posted at 2016-12-09

今までVisual Studio IDE(統合開発環境)で開発していたためか、フレームワーク自体を意識せず開発していたが、ここ1年WEBプログラミングし始めフレームワークを意識するようになったので、同じようにWEBへシフトする機会のある方の参考になればと思います。

#IDE(統合開発環境)とは?
ソフトウェア開発に必要なソフトウェアを一つに組み合わせ、同じ操作画面から統一的な操作法で利用できるようにしたソフトウェアパッケージ。
一般的にはコードエディタやコンパイラ、リンカ、デバッガ、テストツール、バージョン管理ソフトなどで構成される。

#フレームワークとは?
開発を行う際に、頻繁に必要とされる基礎的な機能をまとめて提供してくれるもの。
機能が部品化されており、それらを組み合わせることで容易に開発ができる。
アプリケーションのひな型

#IDEとフレームワークの違い
この時点で既に異なる物だとお気づきかもしれませんが、IDEは開発環境を提供し、フレームワークは作る工程を楽にしてくれる関係になります。
それならばフレームワークはライブラリじゃないの?と思う人もいるかもしれません。

ライブラリ:機能を部品化したもので単独では動かない
フレームワーク:基礎などが整ったもので、ユーザーが好きに組み合わせて完成させるブロック的イメージ

#フレームワークってどんなのがあるの?
1.Laravel
 特徴:コードが読み書きしやすく学習が容易
    強力なルーティングフィルター・柔軟なオートローダー
 欠点:ベンチマークが遅い
    自由度が高すぎて、設計が苦手な人には向かない
 http://laravel.jp/

2.cakePHP
 特徴:簡単シンプルで開発コストやコード量を減らすことができる
    日本語ドキュメントも比較的多く、学習コストが低い
 欠点:バージョンによって命名規則や設定が異なるため、安易にバージョンアップできない。
 http://cakephp.org/

3.symfony
 特徴:パーツ単位のものが組み合わさってフルスタックな形を実現しているため再利用性が高い
 欠点:設計の自由度が高すぎて、設計が苦手な人には向かない
    設定によるが基本キャッシュして動かすため、キャッシュ問題にはまりやすい
 http://symfony.com/

#まとめ
IDEにしろフレームワークにしろ開発を補助し品質をある程度保てるところにある。
特に一から十まで知らなくとも開発できるようになるのは良いが、ここは賛否両論に分かれるとこかもしれません。
フレームワークは結構トレンドがあり人気度が上下し、種類も多くどれを使うか悩んでしまう印象をうけました。
トレンドに合わせてフレームワークを取得していくのは学習コストがかかりすぎるので、流行り廃りに流されず作りたい物の内容に合わせて、適したフレームワークを探すのが一番だと思います。

18
15
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?