Web関連

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

0

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

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

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

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

関連するサービス

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

0

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

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

ピックアップ記事

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

関連記事

  1. Web関連

    ホームページ制作におけるHTMLのソースレビュー

    こんにちは、システムエンジニアの小森です今…

  2. Web関連

    開業したい方へ -ショッピングカート導入のすすめ-

    近年、インターネットショッピングを利用する人が増加傾向にあります。…

  3. Web関連

    休憩時間に癒やしを!可愛い動物たちのサイトまとめてみた

    Webのサービスは様々なものがあり、コミュニケーションを取るためのSN…

  4. Web関連

    WEB制作に欠かせない知識とは?

    WEBデザイナーとして働きたい!と思っていても、「学校に通ったことはな…

  5. Web関連

    WEBサイトリニューアル時におけるサーバー選びのポイント

    WEBサイトリニューアルの相談を受ける際、同時によくいただくお話として…

おすすめ記事

最近の記事

  1. 人間拡張×AIで非接触なデジタル化を推進する
  2. ヘルスケアはAI先生にみてもらう時代
  3. withコロナは非接触技術で生活しよう!
  4. デジタル接客+AIで非接触を推進する
  5. 遠隔診療や遠隔医療普及のポイントはAIと5G

アーカイブ

  1. AI関連

    AI(人工知能)は、結局のところ人間を超えることができるのか?
  2. Web関連

    【インバウンド向けWeb制作】ある日突然、何でも無かった場所が観光名所になる!?…
  3. Web関連

    webサイトにおけるアクセシビリティの考え方
  4. AIさくらさん

    【人工知能(AI)×社内システム】社内マニュアル代わりに大活躍するAIさくらさん…
  5. Web関連

    映画作品まるごと持ち運ぼう!ファンのための「Viewcast」
PAGE TOP