アプリ開発するにはアプリケーション・フレームワークの知識が必要!
スポンサーリンク
初めてプログラミング言語を学習した方であれば、学習後に「さぁアプリケーション開発してみよう!」となりますよね。
逸る気持ちを抑えて、一度本記事を読んでいただきたいと思います。
本記事を読むことで、アプリケーション開発をするにはプログラミング言語の知識に加え、アプリケーション・フレームワークの必要性がわかります
また学んだプログラミング言語に対して、どんなフレームワークが存在しているかが分かります。

一般的なフレームワークとは?

直訳すると、「枠組み」「骨組み」「構造」という意味です。

そこから、ビジネスシーンにおいては、経営戦略や問題課題を考えるにあたり糸口となるような切り口や思考法などを体系的にまとめた枠組みをフレームワークといいますね。

例えば、「振り返り」を例にあげてみましょう。
個人やチームの業務を振り返るときに、「さあ好きなように振り返って。できたら発表してね。」と言われたらどうでしょう。

僕だったら、「え、どういう観点で振り返りしよう。みんなはどういう観点で振り返るの?」となります。

そこで、振り返りのフレームワークとして、「YWT」や「KPT」などがあります。(ほかにもいくつか存在します)

YWTは、Y(やったこと)・W(わかったこと)・T(次にやること)の観点で振り返りを実施できる手法です。そのような観点があったほうが振り返りする際に取っ掛かりやすいですし、メンバ間で振り返るベクトルが異なることもなくなりますよね。

つまり、フレームワークは、「ある目的に対して、効率的、かつ一定の品質を保ち達成するための道具」と捉えて良いかもしれません。

スポンサーリンク

アプリケーション・フレームワークとは?

先の章で、一般的にフレームワークとは「ある目的に対して、効率的、かつ一定の品質を保ち達成するための道具」と捉えて差し支えないと説明しました。

そういう意味だと、アプリケーション・フレームワーク(以降、フレームワーク)は、アプリケーション開発という目的に対して、効率的、かつ一定の品質を保ち達成するための道具と言えます。

もう少し詳細にフレームワークの説明をすると、「アプリケーションはこのように開発されるべき」という基本的な設計方針があり、それが再利用可能なプログラムの集合体によって型取られています。

そのフレームワークの型にはめ込むように、必要な業務ロジックや画面などの要素部分を作成することでアプリケーションが開発できます。

以下イメージ図です。

フレームワーク図解

フレームワーク(灰色の箇所)を利用することで、自分で開発しなければいけない部分(緑色の箇所)が極小化されます。

フレームワークの機能として、セッション管理やDBアクセス/マッピングなどを挙げていますが、フレームワークを使用しないとこれらの機能も自ら開発しないといけず、開発規模が膨大になります。

ただ、メリットだけではないため、以下にフレームワークを使うことのメリット・デメリットを整理しています。

メリット ・開発規模を極小化できるため、開発スピードが速い。
・ある程度の型が決まっているため、複数人で作成しても書き方が統一できる。
デメリット ・フレームワークの規則に準拠せず作成すると逆にわかりづらくなる。
・学習コストが高い。

それでもフレームワークは勉強したほうが良い

先の章でフレームワークのデメリットとして、「学習コストが高い」ことを挙げましたが、それでもフレームワークは勉強すべきです。

「え~、やっとプログラミング言語の学習が終わったのに、フレームワークも勉強しないといけないの!?」となる方もいるかもしれません。

そうなんです。。残念ながらプログラミング言語を学習しただけでは、即アプリケーション開発ができる、ひいてはプログラマへの転職ができるわけではないんです。。

なぜなら、昨今のシステムやアプリケーションの類は、もれなくフレームワークを利用しているからです。

この時代に、フレームワークを利用しないアプリケーション開発はもはや不可避レベルです!

現に、求人などでもフレームワークの使用経験があるのが望ましいと書かれていることが多いため、学習しないで飛び込んでしまうと、開発チームにおけるフレームワークの暗黙知などに準拠できず、最悪現場を混乱させてしまうなんてことも考えられます。

ここまで読んでくださった方なら、「フレームワークを勉強しないといけないのはわかった、それじゃ自分が学習したプログラミング言語で利用されているフレームワークは何?」となりますよね。

そこは次章にて、主要なプログラミング言語とフレームワークのマッピング表を記載していますので参照ください。

主要なプログラミング言語におけるフレームワーク

この章では、主要なプログラミング言語における有名なフレームワークをマッピングします。

プログラミング言語 フレームワーク
Java Spring Framework、JSF(Java Server Faces)
JavaScript  Vue、React、Angular
PHP Laravel、CakePHP
Python Django
Ruby Ruby on Rails

とらのこ
ここまで見てくださってありがとうございます。プログラミング言語だけでなく、フレームワークを学習する必要性が理解できましたでしょうか。まだ、プログラミング言語をこれから学習するよという方は、学習すべきことが増えて億劫に感じるかもしれませんが、何とか歯を食いしばって頑張りましょう!また、これからプログラミング言語を学習するよという方は、以下の記事を参考にしてみてはいかがでしょうか!
スポンサーリンク

Twitterでフォローしよう

おすすめの記事