-->

Library for cross-platform developing on Android/I

2019-09-04 18:26发布

问题:

does anyone know a good library which is compliant with both Android and IPhone operating systems with a license less strict than GPL 2.0, 3.0? Any license like Eclipse, BSD, LGPL should be fine.

I'm looking for a nice general purposes library , to be used in building a closed source application that should run on Android and IPhone. For general purposes I mean a library that can help me in various tasks like gui building, xml management, audio/video feature ..etc. I found this library: juce that fits quite all my needs. But it's under GPL 2.0 (or a commercial license for payment, which I hope to stay away from ).

In a previous question I posted, that hasn't still been answered ( my other question), other people pointed out that GPL 2.0 is quite incompatible with at least IPhone market.

Any suggestion?

回答1:

Since iOS and Android use different programming languages, you won't find a library that works cross-platform but you can use other programming languages.

If your application is simple and not to performance intensive, I recommend PhoneGap. It allows you to write your application in HTML and JavaScript. PhoneGap provides a cross-platform library in JavaScript for accessing native APIs. It's also open-source under a BSD-style licensed so it's no problem for proprietary apps. There are other JavaScript-based cross-platform frameworks though, too many to mention.

If performance is a concern I suggest checking out MonoTouch and MonoDroid. While you can use C# for both iPhone and Android, MonoTouch and MonoDroid aren't cross platform libraries. So you'll have to write your GUI code twice, but you can share the backend code between the two projects. MonoTouch/MonoDroid are proprietary products though, so you'll have to pay $400-$1000 to use it.



回答2:

First you should know what kind of library it is that you want and what it should do. Then if you can't find one that fits your needs you could write it yourself. For this you have multiple options:

C++ - works fine on iOS (Objective-C++) ... for Android you have to use the Android NDK and you need to compile the app for every single architecture that's out there (if you want to), so a lot of work. Also as it is stated in the Android NDK Main Page:

**Before downloading the NDK, you should understand that the NDK will not benefit most apps. **