Over a million developers have joined DZone.

Cross-Platform Mobile Library Development

· Java Zone

Navigate the Maze of the End-User Experience and pick up this APM Essential guide, brought to you in partnership with CA Technologies

If you actually need any of the information we’re relaying to you today, our deepest sympathies; but if you are so bedevilled as to have to come up with some plan that makes sense for developing a cross-platform native-requiring library, the nice people at Skyscanner have done an impressive amount of legwork researching and documenting the alternatives for you. Shocking spoiler: They all suck.

Developing a mobile cross-platform library – Part 1. Exploring

Here, I am including the experience I had while exploring solutions for developing a mobile cross-platform library, i.e. a single codebase that could be part of mobile apps running under different platforms. It covers my journey from mobile cross-platform developments tools (PhoneGap, Titanium, and the likes), code porting tools, and WebViews that weren’t up to the task, to C++ and JavaScript engines that did work. There aren’t many resources out there explaining how to approach this problem, so we thought it could be helpful if we shared this experience. This is the first of three parts, which lists all the explored solutions…

TL;DR: C++ sucks the least.

Developing a mobile cross-platform library – Part 2. C++

When the cross-platform development tools failed to provide the functionality we needed (check part one), we decided to try a lower-level solution that is supported by both platforms; C++. In Android, we’re able to interface C++ code through the Android Native Development Kit (NDK) and the Java Native Interface (JNI) framework. As for iOS, this is possible with Objective-C++, a language variant that allows source files to include both Objective-C and C++. Hooray!!

There’s also a promised third part on embedding JavaScript along with an engine, which is the other option that part 1 found to suck little enough to still be somewhat workable; but that seems to us more than a little ridiculous for the library development case … and if you’re doing a full app, well we’d say in that case the choice narrows right down to Apportable!

h/t: @binpress!

Thrive in the application economy with an APM model that is strategic. Be E.P.I.C. with CA APM.  Brought to you in partnership with CA Technologies.


Published at DZone with permission of Alex Curylo, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}