适用于iOS和Android的共享代码库

时间:2014-04-16 11:28:49

标签: android ios qt mono xamarin

我想为iOS和Android开发一款App。为了便于维护,我希望拥有一个共享代码库,其中实现了业务层和所有算法 但我不想编写整个应用程序,例如Xamarin。我想在Xcode和Eclipse中开发表示层,并使用已实现业务层,算法等的框架。

对我来说非常重要的是,表示层是在相应的开发环境(Xcode,Eclipse)中编程的,共享代码库是作为框架/动态库实现的。

我尝试了Xamarin(Mono)和Qt for iOS,但似乎只有在这个开发环境中开发整个应用程序的方法。

总结我想做的事情:

                                  /--> iOS App --> implements framework --> .app
shared codebase* --> framework --<
                                  \--> Android App --> implements framework --> .apk

* e.g. Java / ObjectiveC / C# / C++ / Xamarian / Qt or whatever

你知道任何开发环境或诀窍Xamarian如何做到这一点? 我google了很多,并没有找到任何帮助我解决这个问题的东西。我也知道stackoverflow这里有一些涉及这个主题的问题,但它们并没有完全回答我的问题。

非常感谢您的回答!

1 个答案:

答案 0 :(得分:-1)

Xamarin允许您在C#中创建业务逻辑,并将它们用于Android / iOS / Windows Phone。您还必须在C#中编写视图逻辑。 Xamarin已将iOS和Android的API移植到C#。您仍然可以使用xCode中的设计器工具(我猜也适用于Android)并在您的项目中使用它们。但是,您必须使用Visual Studio或Mono Develop来创建您的应用程序。

因此,您要么使用xamarin解决方案,要么必须使用C / C ++创建跨平台库。对于iOS,您确实可以添加C ++代码。对于Android,您必须使用NDK。您必须使用JNI(Java Native Interface)才能让Java和C ++代码相互通信。

NDK:https://developer.android.com/tools/sdk/ndk/index.html

JNI教程:https://code.google.com/p/awesomeguy/wiki/JNITutorial