Web関連

Web制作 システム開発とフレームワークについて

こんにちはサーバーエンジニアの橋本です。

最近だいぶ暖かい日が増えてきましたが、今年の冬はかなり寒い日が続いたと思います。
数年前までは寒い日が続くと必ず体調を崩していたのですが、今年は奇跡的にも大きく体調を崩すことなく過ごすことができました。
それもこれも昨年からヒートテックに代表されるインナーウェア、マフラー等を使ってしっかり防寒対策をしているからかもしれません。
それまでは防寒対策といえばコートを着るぐらいしかしていなかったのですが、冬に体調を崩すことが多かったため、昨年からインナーウェアを着るようになりました。
着るまではインナーウェアに抵抗があったのですが、一度着てしまうとその暖かさから離れることができず、今では冬を過ごすのには切っても切れないものになっています。

さて、話は変わって、昨今のWEBシステム開発と切っても切れないといえばフレームワークではないでしょうか。
10年ほど前の開発現場ではまず聞くことのなかったこのフレームワークという言葉、現在ではあたりまえのように使われるようになりました。
今回はWEBシステム開発現場にてよく使われるようになったこのフレームワークという言葉についてのお話になります。

フレームワークとは

皆さんはフレームワークという言葉を聞いたことがあるでしょうか?
このコラムを読んでいる方の中で、少しでもシステム開発に関わったことがある人であればこの言葉を聞いたことがあるかもしれません。

Wikipediaによると

ソフトウェアフレームワーク(英: software framework)とは、プログラミングにおいて、一般的な機能をもつ共通コードをユーザーが選択的に上書きしたり特化させたりすることで、ある特定の機能をもたせようとする抽象概念のことである。単にフレームワークとも呼ばれる。

とのことです。
少し分かりにくいかもしれないですが、簡単にいうとシステムを開発していくための土台のことです。

昨今ではどんな言語でもこのフレームワークを使うことが多くなってきており、JavaであればStruts、RubyであればRails、PHPであればCakePHPやZendFramework等、多くのフレームワークが存在します。

フレームワークが流行するきっかけとなったのが2004年にリリースされた「Rails」だと記憶しています。
当時、その有用性(あっという間にシステムが構築できる)が評価され、「Rails」やその利用言語であるRubyがとても脚光を浴びていました。
その後、他言語でもフレームワークを使って開発するという流れが起き、あっというまに広まった印象があります。
今では、システム開発を覚える=フレームワークの使い方を覚える、といっても過言ではないくらいです。

 

何故フレームワークを使うのか

では何故フレームワークがよく使われるようになったのでしょうか。
フレームワークを使うメリットはいろいろと論じられていますが、私は大きく以下の3点のメリットを感じ利用しています。

・開発効率が上がる
・ソースがきれいになる
・他の開発者とデータを共有しやすい

まず、フレームワークのメリットとして第一に上げられるのは開発効率が上がるといった点です。
どのフレームワークも独自のライブラリ・プラグインを持っており、始めからそれらを利用することができます。
また、同時にライブラリ・プラグインを追加する機能も備えており、自分の使いたい機能が入っていなくても、インターネット上に公開されている有志が作ったライブラリを追加することができます。
そのため、一から自分で制作をするより開発スピードが格段に速くなります。

もちろんフレームワークを使わずに、既存のシステムを流用したり、ライブラリを使ったりすることでも開発スピードを上げるといったことは可能です。
ただ、2つ目、3つ目のメリットについてはフレームワークの利用ならではのことではないかと思います。
「ソースがきれいになる」、これはどのフレームワークも、コーディングルールが決められていることに拠ります。
基本的にどのフレームワークも、「制御」、「データ処理」、「画面への出力」のプログラムが分けられており、独自のコーディングルールが存在します。
プログラムを組んでいくためにはそのコーディングルールに従う必要があるため、導入に少し時間が掛かりますが、誰が見ても分かりやすく仕上がります。
これは3つ目に上げたメリットの「他の開発者とデータを共有しやすい」ということにもつながります。
ソースがきれいになり誰が見ても分かりやすく仕上がるということは、複数人で作業することに向いているということです。

他にもフレームワークを使うメリットはあると思いますが、だいたい使っている人の多くは同じ様な理由で使っているのではないかと思います。
導入するだけで上記のメリットを享受することができる、これは、時間を争うシステム開発の現場においてはとてもありがたいことです。
今では、私の関わっているほとんどのプロジェクトで利用しています。

websystem_15031102.png

まとめ

いかがでしたでしょうか。
今回はWEBシステム開発現場でよく使われるフレームワークについて説明してきました。
メリットを中心に説明してきましたが、すべてのシステム開発において必ずしもフレームワークを使ったほうが良いかというと、そうではないと思います。
(メールフォーム等の簡単プログラムであれば、使わないほうがシンプルにプログラムがまとまりメンテナンスもしやすくなります。)
とはいえ、ある程度の規模のシステムを開発する上ではフレームワークの利用は、工数削減、コスト削減のためにとても有用であることに変わりはないです。

まだ、フレームワークを使って開発をしたことがない人は利用を検討されてはいかがでしょうか。

関連するサービス

ホームページ制作
システム開発

ネットゲームから学ぶゲーミフィケーション前のページ

コーポレートサイト制作のコンテンツ群の中でも日陰な存在とは?次のページ

ピックアップ記事

  1. 新型コロナウイルスで日本の働き方改革が起こる
  2. 大手企業も注目するMaaS(Mobility as a Service)とは何か…
  3. AIに求められているものは、実は意外な物だった
  4. 新しい販売形態であるDtoCについて考えてみる

関連記事

  1. Web関連

    面倒な作業を楽にするCSSフレームワーク -実践編-

    こんにちはサーバーエンジニアの橋本です。前回はCSSフレームワークB…

  2. SNS関連

    SNSマーケティング

    突然ですが、ラピュタ崩壊の呪文「バルス」の瞬間ツイートで世界新記録を更…

  3. Web関連

    ホームページ制作会社が紹介する情報共有を加速させる方法3選

    みなさん、「情報共有」できていますか!!I…

  4. Web関連

    実は日本が発祥だった…!?ホワイトデーに隠された真実!!

    皆さんウキウキ、ワクワク、ショボーンの「バレンタインデー」を迎え、1ヶ…

  5. Web関連

    WEBサイトの障害対応に使えるコマンド

    自身の管理しているWEBサイトにつながらなくなったりした場合、皆さんは…

  6. AI関連

    【人工知能・AI×Webサイト運営】誰だか分からないユーザー情報を集めて、サイト運用のPDCAを回そ…

    多くの企業がWebサイトを運営する理由は、Webからのお問い合わせや売…

おすすめ記事

最近の記事

  1. デジタル化が旅行・観光業を救う!?ウィズコロナ・アフターコロ…
  2. 人が対応するのが正しいの?DX(デジタルトランスフォーメーシ…
  3. 人間拡張って聞いたことがありますか?デジタル化が背中を押して…
  4. テレワークだけでは足りない?デジタルシフトなど、アフターコロ…
  5. 【初心者向け】ここに注目!スマートフォン用バナーを作成しよう…

アーカイブ

  1. Web関連

    なぜ無料なのか理解出来ない! 3DCGソフトblender
  2. Web関連

    絵描きさんに知って欲しい!多機能なお絵かきスマホアプリ
  3. AI関連

    飲食店に人工知能(AI)の導入で人手不足の解消!
  4. AIさくらさん

    人工知能(AI)を活用し、お客様の疑問を解決し顧客満足度向上できるサイト作り!
  5. AI関連

    【人工知能(AI)×店舗】未来世界の無人のお店も現実に!店舗運営を一新するAIサ…
PAGE TOP