Can anyone speak to how useful Juce is for developing a cross-platform core for a mobile app, currently iOS/Android but potentially other platforms in the future (desktops not likely, but maybe). Along the lines of http://www.infoq.com/news/2014/05/dropbox-cpp-crossplatform-mobile
One thing that concerns me is this aspect mentioned in that article:
One hard decision when designing a C++ cross-platform layer is when to reimplement from scratch some functionality that either OS offers natively, and when to write a wrapper around it. You cannot reimplement the whole platform in C++, says Poletto. So, basic functionality like network access or SSL certificate validation is simply called back into the platform from the C++ layer. Ole Begemann offers a few more examples where reimplementing from scratch is simply not an option, e.g., background downloads through NSURLSession, app backgrounding behaviour, and iCloud access.
I see that Juce's networking currently goes down to the sockets level and I'd have to write my own high level wrappers for NSURLSession and whatever the equivalent is on Android. Because of issues like this where Juce isn't appropriate right out of the box, and seeing that I'd be avoid its UI abstractions annyway, would it be better to just roll my own solution? Would instead there be a huge win anyway in using Juce's Core classes and, what, its setup for cross-platform builds maybe?