匿名質問者

なぜちゃんとしたマルチプラットフォームなフレームワークがないのか

複数のOSや機種にまたがって動作を保証するフレームワークを探しているのですが、めぼしいものがありません。
PC版ブラウザではjQueryなどがブラウザの違いを吸収していました。不完全ではありますが。
スマホやタブレットではjQuery Mobileがそれに当たるのでしょうか。機種依存を潰してほしいのですが、情報が少なく分かりません。
Linuxのディストリビューションも断片化しています。それらを横断して動くように働きかけるものはないのでしょうか。systemdもそういうところはありますが、不完全ですし政治的なので・・・。
なぜなのでしょうか。需要はあると思うのに、ありそうなのにないのです。あるかもしれませんが、一般的ではなさそうです。なぜ?
なぜ機種依存を潰したバッドノウハウの塊みたいなフレームワークが一般的じゃないのか?なぜそのことがあまり話題にならないのか?
なぜOSの断片化を許容し、共通化を図らないのか?PCだとJAVAが一応そうなのか・・?
教えてください。

回答の条件
  • 1人50回まで
  • 登録:
  • 終了:2016/01/02 17:30:03

回答2件)

匿名回答2号 No.1

オープンソース界隈でそういうことをいうと
「じゃあお前が作ればいいじゃん」と言われますね。

ビジネスとしては作るコストとメリットが見合わないからではないでしょうか。
Appleとかにしてみれば自社環境でのみ動く方が囲い込みができて儲かります。MSは自社テクノロジーに引き寄せるために.NETをクロスプラットフォームにしようとしてますね。

Electron, Java、Xamarin、エンバカデロ,Qt, wxWidgets、Ultimate++,などありますがめぼしくないですか?マルチプラットフォームといいつつもWebで十分じゃないですか?ソフトの需要から考えると単一プラットフォームで十分じゃないですか?

匿名回答3号 No.2

なぜOSの断片化を許容し、共通化を図らないのか?

個性は必要とされているから。
人により必要とされるもの、良いとされるものが違うので、共通となった画一的なものだけよりも、様々な特徴を持った沢山の種類がある方が良いという考えもある。同様に、すべて統一されていた方が良いという考えもある。
この様に根本的に相反した考えがあるので、統一出来ないしすべきでもないとされることになる。
また、先進的な技術や仕組みの導入には、思いもよらなかった弱点があったり、導入により安定性を損なう可能性があるなど、デメリットもある一方で、メリットを受ける場面が限られているなど、導入すべきかどうかは場合により分かれるが、共通化するということはその選択肢をなくすことでもあり、導入がためらわれたり不利益が大きくなったりする。
また、Windowsが大きなシェアを維持するためには他者との差別化も重要な要素であり、さらにエディション間ですら差別化が必要なので、自らの売りを進んで手放すことなどできない。

とはいえ、上記のような事はOSの機能などの中でも一部であり、多くの基本的な部分については既にPOSIXとして共通化が図られているが、例えばlibcやFATなどの様に、あまりに基本的な事なのでそうと意識されていなかったり、フレームワークとは思われて、または言われていない。
逆に言えば、そういった基本的な部分ではない、共通ではない部分に入り込んでいくのがフレームワークともいえる。

さてそのマルチプラットフォームフレームワークだが、その普及の妨げになっているのはそれ自身が持つ、OS独自の機能を、たとえ便利であっても使えず、機能が最大公約数的になってしまう、というそれ自身がもつ性質による所も大きいのではないかと思う。
とはいえ色々フレームワークは存在し、さらに独自色の強いWindowsを除けば、glibやlibtoolsは標準的といって差し支えないと思われるし、X11もフレームワークの一つだろう。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません