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

関連記事

  1. Web関連

    春がくる!春をイメージしたwebデザインサイト

    こんにちは、管理部の川又です。最近、少しづつですが外が暖かくなってきま…

  2. Web関連

    Web制作会社が教える、スマホ広告を出す前に押さえておきたい3つのポイント

    「歩きスマホ」での事故が年々増えてるみたいですね。でも、私は昨年末に、…

  3. Web関連

    色彩や配色を勉強するならコレ!古き良き日本文化を今に生かす

    人は誰しも何かをデザインしています。「デザインなんてしたことない」…

  4. Web関連

    テレビCMとは違う?動画広告の面白さとは

    皆さんは1日にテレビ以外の動画をどれぐらい見ていますか?1時間も見…

  5. AI関連

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

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

  6. Web関連

    進むペーパーレス化

    地球に優しいペーパーレス地球温暖化などの脅威に対して、エコ活動は随分…

おすすめ記事

最近の記事

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

アーカイブ

  1. AI関連

    新しい時代のビジネスモデル「デジタルトランスフォーメーション(DX)」とは?
  2. Web関連

    WEB制作時のFTPトラフィックについて
  3. AI関連

    最新技術で業務改善を!人事ではどのようなところで活用できる?
  4. AI関連

    AIサービスの登場により、さまざまな分野で人間は仕事を失ってしまうのか?
  5. サービス・新技術

    ここまで来た!ARが魅せる未来
PAGE TOP