先日、久しぶりにタイムライン上で「自作フレームワーク」と言う文字列を観測しましたが、
こういうケースだと、先ず、インフルエンサーなど含め、サプライサイド人材がショバ争い的に湧いてくるんですよね。しかし、デマンドサイド観点での評価は、一向に上がってこない。と言うのが、個人的には「よろしくないなぁ。」と思ったりします。
まぁ、しかし、こう言うケースって、デマンドサイドと言うより、サプライサイド(≒ 造っている本人)も、恐らく、良く解って無いですからね。私も開示時に苦労した覚えがあり、その後、自分が何をしているのか?説明し続けている気がします。
<参考>
私が作っている物体は、世間一般で認知されているランタイム・フレームワークとは違うんですが、
当時、フレームワークという言葉を使用してニュース・リリースしたこともあり、色々と言われたことを思い出しますが、
このランタイム・フレームワークと言う呼称は、今でこそ、フレームワークはNuGetなどのパッケージ・マネージャーから取得するようになりましたが、当時は、純正品の.NET系のフレームワークは全部、CLR中に同梱されていたため、ASP.NET や ADO.NET等と同一レイヤの汎用的なフレームワーク実装をランタイム・フレームワークと呼んでいます。そう言う事もあり、最近は、ランタイム・フレームワークより上位レイヤの機能を「フレームワーク」とは呼ばずに「開発基盤」と言っています。
これは、そもそも、これらの下位スタックの定義・評価の基準類が整えられていないのが問題なんじゃないか?と思ったりはします。実際、最近流行りのLaravelというフレームワーク(PHP)ですが、.NET(自体の開発ではなく、ASP.NET MVC や WebForms を使用したアプリケーション)開発の経験を持つ「
Taylor Otwell」氏によって開発された。と言うことらしいですが、「
ASP.NET MVC自体はRuby on Railsにインスパイアされて開発されたモノ」なので、全ては、天然の「Ruby on Rails」起源だと言う事になるかと思います。
そして、更に、以下を参照すると、
「...この目的のために、Ruby on Rails、ASP.NET MVC、Sinatraなど、他の言語で実装されたフレームワークを含む、他のWebフレームワークで見た最高のものを組み合わせようとしました。」
とあり、実は(、と言うか、薄々気が付いていましたが)、工学的なモノに根差したものではなく、まだ(前例 / 慣習に倣うダケと言う意味で)、魔術っぽい段階に居るんだなぁ...。と言う事が解ります。
余談ですが、Laravelにはランタイム側と関係が深い、UIサブシステム準拠のフレームワーク実装や、
ノンブロッキングI/Oを行うための非同期処理のフレームワーク実装は入っていないようです。こう言ったフレームワークの機能を実現するには、それぞれ、高い専門性を持っている別の専門家との連携が必要のように思います。
...となると、「デマンドサイドも、類似の機能が実装されているケースを除き、明確に、コレはイイね!と言い難いので、まぁ、展開には苦労する。」...と。こう考えると、流行りのフレームワークを生み出すという所業は、恰も「新ギャグ」を生み出すようなものだなぁ。などと思ったりしました。そんな中で、RoRに習ってASP.NET MVCを生み出したマイクロソフト、「なかなかやるな。」と言う気がします。