Don’t call us, we’ll call you
おまえが呼ぶな、俺が呼ぶ
ハリウッド。空前の予算と多くのキャストで制作される、世界規模の超大作映画。
そんなハリウッドでは、プロデューサーの力は絶対。どんな人気俳優であったとしても、プロデューサーからのお声がなければ、出演することすら叶わない。
俳優は、そこに呼ばれて、始めてその役柄を演じることができるのだ。
どんなときに使うの?
こうするべき論というより、フレームワークの基本的な考え方を示した原則です。
制御の反転(Inversion of Control)とも言われます。
このプログラム、どこから動くか分からないんですけど…
あーこれフレームワーク使ってるから、フレームワークに従って
フレームワークを使うとき、制御を司るメイン処理は作りません。すべてフレームワークにより制御されます。
フレームワークが使われる場面
以下のようなところで使われます。
タイプ | 内容 | 代表的なフレームワーク |
---|---|---|
ローカルGUI | PCのアプリケーション画面 | WinForm WFC SwiftUI Qt |
Webアプリ (フロントエンド) | ブラウザ上での画面描画 | Angular Vue Svelte Reactはライブラリと言われる |
Webアプリ (バックエンド) | リクエストに応答するサーバ | SpringFramework Django Express |
共通するのは、ボタンが押される、リクエストに応答する、などの、イベントが発生する場面であること。
イベントの制御はフレームワーク側がやります。プログラマーは、そのイベントが発生したときにどうするか、を実装すればよいだけです。
そういった処理を「イベントリスナ」や「イベントハンドラ」と呼びます。フレームワークに合わせてハンドラを実装しましょう。
フレームワークにはそれぞれ、その使い方やポリシーなどの思想があります。ヘンな反逆精神を見せず、思想に素直に従いましょう。
独自フレームワークは作るな
たまに出てくるのが、
世の中のフレームワークは、使い物にならない!
俺たちで独自のフレームワークを作るぞ!
という話。
一介のチームが「自分たちでフレームワークを作ろう」と考えているなら、止めておきましょう。まずうまくいきません。
もしクライアントや上司がそういうなら、全力で止めるべき。欲しいフレームワークは、ちゃんと探せば、きっとあるはず。
欲しいフレームワークがない、というならたぶん、世の中のフレームワークに乗れない設計のほうに問題あります。
もちろん、あなたがオープンソース団体所属とか、一企業の戦略的リリースの関係者とか、なら話は別ですけれど。
まとめ
「フレームワークを作ってみたい」は、熟練したプログラマーなら、ふと脳裏によぎる考えかもしれません。
でも今の時代、高機能のフレームワークが巷に溢れ、オープンソースで使える時代。
無理にプロデューサーになる必要ありません。優秀な俳優として振舞うほうが、よっぽど賢いやり方です。
あくまでフレームワークについての話ですからね。
コメント