なぜUnix APIがないのですか? [閉鎖]

なぜUnix APIがないのですか? [閉鎖]

なぜUnix APIがないのですか?私は、Windows APIがあるからです。

私はUnixの世界の多くがモジュラーであり、一緒に集まって完全なシステムを作ることを知っています。これは素晴らしいようですが、ネイティブのUnixアプリケーションを作成しようとするといくつかの問題が発生します。

たとえば、美しいワードプロセッサを作成し、名前をWPとして指定したいとします。 WindowsバージョンのWPは、Windows APIを呼び出すことによって構築されます。 Cで直接コーディングするか、さまざまなラッパーライブラリを使用できます。しかし、プログラムは、プログラマーがWindowsアプリケーションを構築するために必要となる可能性がある基本的なシステム呼び出しから、GUI、3D、マルチメディア、または10年以上前のバージョンとの互換性を持つその他の機能まで、すべての機能を提供するwinapiを呼び出しますして構築する必要があります。 。そうでなければワインは不可能だったでしょう。

それでは、UnixバージョンのWPを作成したいと思います。標準CおよびC ++ライブラリとPOSIX APIは非常に信頼性が高く、すべてのUnixバリアントでうまくサポートされています。問題は、より多くをやろうとすると発生します。それでは、WP用のウィンドウを作成する必要がありますが、どうすればよいですか? X11がありますが、これが唯一のものではありません。 X11を交換する必要があると感じ、現在WaylandとMirという2つの互換性のない交換製品が製造されています。 X11の場合もXlibとxcbがあります。 xcbは彼らが「より良い」と主張し、ある意味ではそうです。しかし、文書はどこにありますか?作業を完了するには最終的にXlibを選択しますが、X11標準自体は非常に基本的な機能のみを定義します。 GUIアプリケーションが期待するアドイン(ウィンドウイベントやクリップボードのサポートなど)は、拡張機能を呼び出して処理する必要がありますXInternAtom。これは私の個人的な意見ですが、XでAtomを使用することは非常に非直感的です。もう1つの問題は、すべてのXウィンドウマネージャがこれらの拡張機能を正しくサポートしていないことです。したがって、この汚れた作業は、新しいリリースが出るたびに、以前のバージョンとの互換性を破るGTK +およびQt開発者に任せましょう。 Linuxでポータブルドラッグアンドドロップサポートを提供できますか?

私の考えでは、Unixコミュニティがデスクトップの世界で自殺しているようだ。私が言及したことはBSDサーバーを設定するのに重要ではないことを知っていますが、移植可能な基本的なLinuxアプリケーションを構築したい場合は重要です。

このすべての混乱を引き起こすものは何ですか?これをクリーンアップし、最新のUnixデスクトップ環境を標準化するという実用的な努力はありますか?なぜUnix APIがないのですか?一つもありますか?

ベストアンサー1

UNIXと呼ばれるには、何よりもPO​​SIX標準を実装する必要がある認証プロセスを経なければなりません。

したがって、あなたの質問は完全に無効です。 UNIX APIがありますが、POSIXと呼ばれます。

編集:要件のリストは次のとおりです。http://www.unix.org/version4/overview.html

おすすめ記事