2013-02-18 28 views
7

私は相対的な複雑なルールセットに基づいてビジネスロジックの計算を必要とするプロジェクトを開発しています。iOSプロジェクトでJavaライブラリを使用する

  • Androidアプリ
  • iOSアプリ
  • のJava EEアプリケーションコンテナビジネスロジックは、任意のプラットフォーム特定の詳細に依存するがあるしない

:calucationsは、次のプラットフォーム上で実行されます厳密には「ナンバー・クランチング」。

複雑なテストなどが必要なJavaとObjective Cの二重実装を避けるため、実装を補完するJavaライブラリを作成し、iOSアプリケーション内で使用したいと考えています。

これを行うにはどうすればよいでしょうか? Objective Cのネイティブポートを使用する方がよいでしょうか?それ以外の方法でObjective Cにライブラリを書いてAndroid/Javaで使用する方が良いでしょうか?

答えて

7

あなたはiOSアプリケーションでJavaライブラリを使用することができますどのように方法はありませんを繰り返さないだろう。 Javaでは、実行時にJREを解釈する必要があり、iOS上で実行する必要はありません。

技術的には、Javaライブラリをネイティブコードにコンパイルすることができます(それにはツールがあります)が、私はそれをお勧めしません。 AndroidとiOSの間で最適なソリューションを商務コードを共有するための

は、純粋なCライブラリを使用することです。 JNI(Android用NDK)を使用してJavaからCライブラリを呼び出すことができます。

Obj-Cは純粋なCよりも小さなオブジェクト層であるため、Obj-CからCライブラリを簡単に使用できます。

あなたも、NDKのためのObj-Cをコンパイルすることができますが、それははるかに複雑ちょうどあなたがhttps://code.google.com/p/j2objc/

アップデートをj2objc使用してObjective CのにJavaライブラリを解析してみてくださいC.

+0

詳細な対応をありがとうございます。私たちはおそらくj2objcにショットを与え、それが動作するかどうかを確認します。そうでない場合、Objective-Cの純粋なCまたはネイティブ実装が次のステップになります。 – Philipp

0

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

+0

Android/Javaの上でそれを周りにそれを他の方法を行うとObjective Cでライブラリを作成し、使用する方がよいでしょうか? – Philipp

+0

目的Cを直接javaに移植することはできません。とにかく、初期段階にhttp://code.google.com/p/j2objc/というプロジェクトがあります。これは、目的のC言語をJavaに移植します。試してみてください。とにかく、phonegapのようなプラットフォームに依存しない開発ツールを試してみませんか? –

+0

@MohammedHabib彼はphonegapコードをJ2EEとどのように共有しますか?また、phonegapなどのプラットフォームに依存しない他のフレームワークには、機能が限られています。 – Sulthan

3

使うより:このをSwift Javaブリッジが開発中です https://github.com/SwiftJava/SwiftJava/blob/master/README.md

+0

あなたはすでにそれを使いましたか? http://xmlvm.org/overview/の経験はありますか?純粋なビジネスロジックコードj2objcのための – Philipp

+0

はうまくいきます。 UIロジックはサポートされていません。私はxmlvm.orgの経験がありません。私はiOSとAndroid(NDKを使用)でCライブラリを使った経験がありますが、これはうまくいきます。 –

関連する問題