【初心者向け】フレームワークって何?

こんにちは!Kです!

今回は、これからプログラミング学習を始めよと思う方や始めたばかりの方に向けてフレームワークとは何かについて解説したいと思います。

結構エンジニア同士で会話をしていると「何のフレームワーク使ってる?」みたいな話が飛び交ったりします。

プログラミングを学習し始めた方は「聞いたことがあるけどよく分からない...」という方もいると思いますので今回の記事を読んで参考にしてみてください。

前提として、フレームワークは言語だけでなく用途によっても分類されるため、その種類は様々ですが、今回の記事では、WebサイトやWebアプリなどのフロントエンドを実装するためのWebアプリケーションフレームワークについて話していきます。

フレームワークとは

早速本題ですが、フレームワークとは簡単にいうと、プログラミングを楽にするための大きな枠組みです。

もう少し詳しく言うと、「Webアプリの開発やシステム開発に必要な機能を予め用意してくれている骨組み」といったところですね。

実際の話、開発を行っている企業のほとんどはフレームワークを使用しています。
次の章でメリットとデメリットについても書いていきますが、メリットを考えれば、フレームワークを使っての開発は当然だとお分かり頂けると思います。

フレームワークのメリット①:開発コストの削減と時短

メリットとしてはこれが1番大きいのではないでしょうか。

理由として、Webアプリケーションをインストールするだけで開発に必要な機能が大体揃うので、必要なものをわざわざ集めて揃えるフェーズを飛ばすことができます。
なので結果開発にかかる時間を短縮でき、時短できればその分のコストを減らすことができるというわけです。

開発にかかる時間が短いとなぜいいのか?そう思う方もいるかもしれないので解説しますが、先ほども話した通りコストを削減できるという面ももちろんあります。

ただ他の面もあって、例えば新サービスを開発する場合を考えてみましょう。

新しいサービスなわけですから、いかに早く市場にリリースできるかが重要になってきます。
理由は、リリースが遅れれば競合他社に先を越され、市場でのシェアを奪われて大きな損失になってしまうからです。
そのため、なるべく短期間で開発を行いリリースすることがとても大事になってくるので必然的にフレームワークを使うことが選ばれるのです。

フレームワークのメリット②:セキュリティの向上

世の中にはいい人もいれば悪い人もいます。
ハッカーもいればクラッカーもいるのが実情です。

クラッカーから攻撃されればせっかく開発したサービスも台無しになり、大きな損失となってしまいます。

そのような攻撃に備えて、安全なサービスを開発する場合、プログラミングで1から作っているのでは対応にコストも時間も非常にかかってしまいます。

しかし、フレームワークを使えば様々な機能をユーザーに安全に提供することが可能です。

なぜならフレームワークの開発では、世界中の開発者が日々新しいバグに対応したりセキュリティホールをプログラミングで埋めているからです。

そのためフレームワークの安全性が保たれ、結果として品質の良いサービスを開発することができるというわけです。

またRubyならRuby on Railsというフレームワークがあるように、各プログラミング言語に合ったものがあります。それぞれのフレームワーク特有の書き方を学ぶ必要はあるのですが、必要な機能が予め用意されているのでプログラミング初心者でもWebアプリケーションを短期間で作ることが可能です。

フレームワークのメリット③:バグの削減

3つ目のメリットとして、開発時のバグを減らすことができるという点です。

開発したサービスで重大なバグが発生した場合、会社や開発者の信頼を大きく失うことになります。
たまにニュースで見かけますが、個人情報の流出なんてしようものなら最悪の事態ですよね。恐い。笑

それを防ぐためにもフレームワークは有用です。

なぜなら、フレームワークにはフォルダの命名規則や使用できる関数名の制約などがあるので、特に複数人で開発する場合などにバグが発生するリスクを削減できます。
複数人での開発において、もし制約がなければ、個人個人でコードの書き方なんてバラバラなわけですから、仮に他の人が機能を追加したり改修する場合に、個人のルールで書かれたプログラムは非常に読みづらいはずなので、ミスが発生する確率が上がり、結果バグ(障害)につながります。

上記のことを踏まえれば、フレームワークを使った開発を採用している会社が多いのも納得ですね!

フレームワークのデメリット

学習コストがかかる

デメリットとして強いてあげるなら、学習コストがかかる点かと思います。

当たり前ですが、仕様が複雑なフレームワークになればなるほど、プログラミングで使えるようになるには時間がかかります。
また、途中で挫折してしまう方もいます。

また、この業界ではよくあることですが、フレームワークも言語と同じで流行りの変化が激しく、頑張って学習しても気付いたらフレームワークが廃れているなんてこともあります。悲しいですね。

しかし、上記のデメリットを考えても得られるメリットの方が遥かに大きいです。
また、上記のデメリットは、エンジニアにとって常に新しい知識をアップデートし続けるのが運命といって過言ではないので、それを考えれば正直デメリットと言わないのかもしれないですね。笑

最後に

今回は初心者の方に向けてフレームワークについて解説しました。

得られるメリットは大きいのでどんどん勉強してバリバリ活用していきましょう!

次回はJavaScriptで使えるフレームワークについて記事にでもしようかと思います(^^)

それでは、また!

Follow me!

【初心者向け】フレームワークって何?” に対して3件のコメントがあります。

コメントは受け付けていません。