0

非常に多くのクロス プラットフォーム ライブラリがあり、非常に基本的な Java の質問に対する答えを得ることができません。

Androidでうまく機能するJavaライブラリがあります。Android 固有の機能は使用せず、標準の Java SDK で構築されています。このライブラリは、ソケット (プレーンでシンプルなソケット、ServerSocket のようなアーキテクチャ) を使用して、ライブラリとホストされているサーバー (ec2 または仮想パブリック サーバー上にある場合があります) との間で通信します。

ここで私の質問は、他の開発者が私の Java ライブラリ (Java SDK を使用して構築) を、ユーザー インターフェイスに html/css を使用するアプリケーションにインポートし、これらすべてを iPhone 用のモバイル アプリケーションにパッケージ化できるかどうかです (ネイティブの iPhone パッケージを使用し、WebView を使用して発売) ?また、このライブラリを出荷して、他のソフトウェア開発者がデスクトップやクロス ブラウザで動作する Web アプリケーションを構築できるようにすることはできますか?

スタックオーバーフローに関するいくつかの質問は、私が探しているものに近いものですが、それほどではありません。 複数のプラットフォーム向けのモバイル アプリの開発 (クロスプラットフォーム フレームワークなしで!)

  • Web サーバーは、ソケットを使用してサーバーに接続するライブラリを使用できますか?
  • また、この Web サーバーに接続するすべてのクライアントは、ライブラリの新しいインスタンスを作成しますか?
4

1 に答える 1

1

あなたのライブラリが Android や他のどのライブラリにも依存関係を使用していない場合、別の開発者はそのライブラリを好きな場所で使用できます。ただし、EC2 などのプラットフォームには、通信を使用するための好ましい方法がある場合があることに注意してください。(私は EC2 の専門家ではないので、EC2 が何を使用しているかを確認する必要があります。)

したがって、そのソケット機能を完全に抽象化する方がよいと思います。

iPhone で Java ライブラリを使用することはできないと思います。iOS の利用規約には、SDK および Safari の webkit javaScript エンジンで指定されたもの以外のコンパイラまたはインタープリターをデバイスで使用できないことが明確に記載されています。したがって、Java コードを iPhone で実行する方法はありません (脱獄なしでは)。

webView に関する質問がわかりません。あなたのライブラリを利用したサイトに移動するということですか? はいの場合、Safari の境界内に保持する限り、はい。(フラッシュなし、Java アプレットなしなど)

Web サーバーは、ソケットを使用してサーバーに接続するライブラリを使用できますか?

ほとんどの場合、はい。しかし、私が言ったように、プラットフォームは未加工の接続を許可しない可能性があるため、抽象化することをお勧めします。

また、この Web サーバーに接続するすべてのクライアントは、ライブラリの新しいインスタンスを作成しますか?

これは、ライブラリとそのパブリック API の設計によって異なります。

お役に立てれば。

于 2012-06-21T04:30:24.390 に答える