ようこそ。睡眠不足なプログラマのチラ裏です。

フレームワークを作る

現在、アプリケーション開発においてフレームワークを作ることは、
必要不可欠な工程の1つとなっている。



フレームワークとは、広義ではIDEなんかも含めて表現されるようだけど、
ここではもっと狭い意味で捉えて、あくまでプログラミングの範疇内に限定されるフレームワーク
つまり「アプリケーションフレームワーク」という意味合いで話をすすめる。



フレームワーク開発とは、そのままの訳どおり「枠組み」を開発することである。ソフトウェア開発において、
あらかじめ決められた枠組み(設計や部品)を再利用することで、開発効率を高める方法のことだ。
当然、フレームワークの開発はオブジェクト指向技術を用いるのが主流である。



フレームワークは、アプリケーションが動作するのに必要な基本的な機能を提供する。
そのため、アプリケーションの開発者は、必要最低限の実装で、要件を実現することができる。
極端な話、顧客ごとに要求が異なるビジネスロジックのみをプログラミングすればよいことになる。
これは、単に工数削減となるだけではなく、たとえ経験の浅いプログラマであっても、
比較的容易にシステムを作ることを可能とするメリットがある。
オブジェクト指向技術に基づいたフレームワークの設計やクラスの再利用は、
コアな部分での品質保証ができ、尚且つ工数の削減ができる。結果的に予算も削減することができる。
オブジェクト指向技術を用いたフレームワークを導入するメリットはかなりのものがあると言って間違いない。



しかし、現場においては決して良いことばかりとは限らない。
本来プログラマが持つべき知識や経験の中には、フレームワークを作成することでのみ得られるというもが非常に多い。
プログラマのスキルの低さをフレームワークの導入によってカバーし続けると、
いつまでたってもスキルを伸ばすことができない境遇のプログラマが出来てしまうという問題が出てくる。
もし、あなたがそういう不遇な立場であるならば、自分のエンジニアとしての価値を高めるためにも、
できるだけ早く自力でその立場から脱出するよう努めるべきである。
逆に、あなたがフレームワークに携わることができる幸運な立場にあるならば、それを存分に利用するとよい。
オブジェクト指向技術を駆使してフレームワークを作るという経験を積めば、分析力・設計力・実装力が鍛えられ、
システム全体を見通す力が飛躍的に向上し、ITエンジニアとして確実にステップアップすることができるだろう。