オープンソース界隈でそういうことをいうと
「じゃあお前が作ればいいじゃん」と言われますね。
ビジネスとしては作るコストとメリットが見合わないからではないでしょうか。
Appleとかにしてみれば自社環境でのみ動く方が囲い込みができて儲かります。MSは自社テクノロジーに引き寄せるために.NETをクロスプラットフォームにしようとしてますね。
Electron, Java、Xamarin、エンバカデロ,Qt, wxWidgets、Ultimate++,などありますがめぼしくないですか?マルチプラットフォームといいつつもWebで十分じゃないですか?ソフトの需要から考えると単一プラットフォームで十分じゃないですか?
なぜOSの断片化を許容し、共通化を図らないのか?
個性は必要とされているから。
人により必要とされるもの、良いとされるものが違うので、共通となった画一的なものだけよりも、様々な特徴を持った沢山の種類がある方が良いという考えもある。同様に、すべて統一されていた方が良いという考えもある。
この様に根本的に相反した考えがあるので、統一出来ないしすべきでもないとされることになる。
また、先進的な技術や仕組みの導入には、思いもよらなかった弱点があったり、導入により安定性を損なう可能性があるなど、デメリットもある一方で、メリットを受ける場面が限られているなど、導入すべきかどうかは場合により分かれるが、共通化するということはその選択肢をなくすことでもあり、導入がためらわれたり不利益が大きくなったりする。
また、Windowsが大きなシェアを維持するためには他者との差別化も重要な要素であり、さらにエディション間ですら差別化が必要なので、自らの売りを進んで手放すことなどできない。
とはいえ、上記のような事はOSの機能などの中でも一部であり、多くの基本的な部分については既にPOSIXとして共通化が図られているが、例えばlibcやFATなどの様に、あまりに基本的な事なのでそうと意識されていなかったり、フレームワークとは思われて、または言われていない。
逆に言えば、そういった基本的な部分ではない、共通ではない部分に入り込んでいくのがフレームワークともいえる。
さてそのマルチプラットフォームフレームワークだが、その普及の妨げになっているのはそれ自身が持つ、OS独自の機能を、たとえ便利であっても使えず、機能が最大公約数的になってしまう、というそれ自身がもつ性質による所も大きいのではないかと思う。
とはいえ色々フレームワークは存在し、さらに独自色の強いWindowsを除けば、glibやlibtoolsは標準的といって差し支えないと思われるし、X11もフレームワークの一つだろう。