8

相対的に複雑なルール セットに基づくビジネス ロジック計算を必要とするプロジェクトを開発しています。計算は、次のプラットフォームで実行されます。

  • Android アプリ
  • iOS アプリ
  • Java EE アプリケーション コンテナ

ビジネス ロジックは、プラットフォーム固有の詳細には依存しませんが、厳密には「数値処理」に関するものです。

入念なテストなどが必要になる Java と Objective C の二重実装を避けるために、実装を含む Java ライブラリを作成し、iOS アプリ内で使用したいと考えています。

これを行う最良の方法は何ですか?Objective C のネイティブ ポートを作成した方がよいでしょうか? 逆に Objective C でライブラリを作成し、Android/Java で使用する方がよいでしょうか?

4

5 に答える 5

8

iOS アプリケーションで Java ライブラリを使用する方法はありません。Java には解釈するランタイム (JRE) が必要ですが、iOS にはそれがありません。

技術的には、Java ライブラリをネイティブ コードにコンパイルできます (そのためのツールがあります) が、お勧めしません。

Android と iOS の間でビジネス コードを共有するための最善の解決策は、純粋な C ライブラリを使用することです。JNI (NDK for Android) を使用して、Java から C ライブラリを呼び出すことができます。

Obj-C はピュア C 上の小さなオブジェクト レイヤーにすぎないため、C ライブラリを Obj-C から簡単に使用できます。

Obj-C を NDK 用にコンパイルすることもできますが、C を使用するよりもはるかに複雑です。

于 2013-02-18T10:35:03.730 に答える
4

j2objc https://code.google.com/p/j2objc/を使用して、Java ライブラリを Objective C に解析してみることができます。

更新: この Swift Java ブリッジは開発中です https://github.com/SwiftJava/SwiftJava/blob/master/README.md

于 2013-02-18T10:54:47.810 に答える
2

この場合、ロジックのC実装を記述し、AndroidアプリケーションにJNIを使​​用する必要があります。

だからあなたは自分自身を繰り返さないでしょう

http://en.wikipedia.org/wiki/Java_Native_Interface

于 2013-02-18T10:34:14.353 に答える
1

iOSでJava関連のコードやアプリケーションを使用する方法はありません。ネイティブポートで作業する必要があります。iOSにはjvmがありません。

于 2013-02-18T10:32:29.873 に答える