現状
私のプロジェクトでは、すべての主要なプログラミング プラットフォームの API と通信するクライアント ライブラリが必要です。現在、私は 1 つだけ (Java) を実装し、「これを 8 回実行したくない (または他の誰かが実行することを望んでいる)」と考えていました。
クライアントは比較的小さいですが、自明ではありません。ほとんどの場合、JSON の読み取り/書き込みと、SSL を介した TCP/UDP データの送信を行います。クライアントへのすべての呼び出しは、ファイア アンド フォーゲットであるため、独自のスレッドで完全に非同期に動作します。
問題
単一の C ライブラリを作成し、それを他のプラットフォームと統合することに意味があるかどうかを自問していました。
私は少し調査を行いましたが、すべてのプラットフォームがこれを (明らかに) さまざまな必要な努力で異なる方法で処理しているようです。また、そのようなものを見たことがないことにも気付きました。たとえば、データベース ドライバは、コアで C ライブラリを使用するのではなく、常にゼロから作成されているようです。オーバーヘッドが大きすぎませんか?
Thrift、Protocol Buffers などについても読みましたが、これはネットワークの相互運用性を目的としているようですか?
質問
したがって、最後の質問は次のとおりです。
各プラットフォームのクライアントのコアで単一の C ライブラリを使用することは可能ですか? はいの場合:どのように行うべきですか?