3

そのため、現在、マルチプラットフォームのモバイル アプリケーションに Xamarin を使用しています。私はこの仕組みがとても好きで、流れを改善したいと思っています。私の開発者は、ネイティブにプログラミングした方がはるかに高速になると言っています (つまり、XCode の iOS 用の Swift)。

共有プロジェクトを作成してネイティブ アプリで使用できるソリューションを探しましたが、すべてのプラットフォームで 1 つの言語でプログラミングする方法しか見つかりませんでした。

ネイティブ アプリケーションにインポートできる (または、Xamarin の共有プロジェクトのように一緒に実行できる) 共有プロジェクトを作成する方法はありますか?

遅くない限り、共有コードの言語は重要ではありません。

4

3 に答える 3

4

私の開発者は、ネイティブにプログラミングするとはるかに高速になると言っています(つまり、XCodeのiOS用のSwift)

Swift は、iOS アプリでネイティブに使用できます。RemObjects の Silverは、Swift を Android と .NET に対応させることになっています。私はそれをテストしたことがありません。無料ですのでお試しください。

RoboVMを使用して、Java で iOS アプリを作成できます。私も試しませんでした。

Xamarin との言語混合

Xamarin を使用して Swift コードと C# コードを混在させたい場合は、Objective-C 互換の Swift コードをバインドして、 iOS プロジェクトのみで使用できます。Android または Windows Phone で Swift コードを実行することはできません! プラットフォームに依存しないビジネス ロジックを Swift で記述し、Xamarin を使用して共有ライブラリまたは PCL で使用することはできません。

Android の Java コードにも同じ制限があります。JAR をバインドして Xamarin.Android プロジェクトで使用できますが、iOS または Windows Phone では使用できません。

また、iOS の Swift ベースのアプリまたは Android の Java ベースのアプリで C# コードを実行することもできません。

于 2015-10-14T16:09:04.560 に答える
1

標準言語 (つまり Xamarin ではない) で真のネイティブ ツールを使用し、iOS と Android 間でコードを共有することが目標である場合、これは非 UI コードを C++ で記述することで実現できます。

これは、Dropbox がまさにこれをどのように行っているかについての非常に興味深い記事です。

C++ は iOS でネイティブにサポートされており、Objective-C++ を使用して Objective-C と C++ の間のインターフェイスを作成するのは非常に簡単です。

Android では、NDK を介して C++ を呼び出すことができますが、これは使いにくいと報告されています。Dropbox は、Google のメタビルド システム gyp がかなりうまく機能することを発見しました。さらに、Java Native Interface は、受け入れなければならない苦痛です。しかし、これらの問題はどれも障害ではありません。Steven は、Google またはコミュニティが時間の経過とともにより優れたツール サポートを構築することを望んでいます。

別の StackOverflow 投稿からこれを行う方法の簡単な例を次に示します。

于 2015-10-18T14:17:43.580 に答える