Я не могу говорить о стороне WinMo, но на стороне Android вы действительно должны избегать использования нативного кода ни для чего, кроме алгоритмов обработки, критичных для производительности.Материал JNI / NDK плохо сочетается с обычным жизненным циклом Dalvik и может быть источником всевозможных уродливых неприятных ошибок и утечек памяти.Из того, что я понимаю, также нет встроенных библиотек NDK для более сложных высокоуровневых функций, таких как HTTP (просто более базовые / ориентированные на производительность библиотеки, такие как libz и OpenGL), поэтому вам, вероятно, придется скомпилировать этот материал и отправить егоэто с приложением, а также.Я бы определенно не рекомендовал кодировать ваши классы веб-сервисов в C ++, даже если это технически возможно;написание C # / Java будет менее глючным и приятным, и вы должны иметь возможность принимать в основном одинаковые архитектурные решения для согласованности.
Тем не менее, если у вас есть критичный к производительности бит кода обработки изображений илинапример, на самом деле может быть довольно просто заставить эту работу работать через Android на других платформах (я видел, что это довольно хорошо работает с некоторым C-кодом для обработки изображений, который используется в приложении для iPhone, а затем используется через NDK в приложении для Android).
Проверьте документацию на NDK для получения подробной информации о том, что он может (и не может) делать, и посмотрите похожие потоки SO, такие как этот .