Влияние нативного кода на разработку приложений для Android / iPhone - PullRequest
3 голосов
/ 21 декабря 2011

Я хочу создать приложение для Android и для iOS.

Теперь я должен использовать много собственного кода C ++ в своем приложении.
Итак, я хотел бы знать:

  • Есть ли проблемы с производительностью, связанные с использованием нативного кода?
  • Возможно ли иметь полный контроль над ресурсами (мобильного телефона), используя собственный код?
  • Существуют ли какие-либо ограничения или недостатки при использовании собственного кода в Android или iOS?
  • Можете ли вы порекомендовать широкое использование нативного кода при разработке приложений для Android / iOS? или, может быть, это не рекомендуется?

Ответы [ 4 ]

3 голосов
/ 21 декабря 2011

У меня нет разработчика IOS. опыт, так что я просто буду говорить об Android.

Android NDK используется для использования собственного кода.

NDK обещает несколько, но не полный контроль над ресурсами. Не рекомендуется реализовывать ваше приложение исключительно с использованием собственного кода. «В общем, вы должны использовать нативный код, только если он необходим вашему приложению, а не только потому, что вы предпочитаете программировать на C / C ++». Подробности в # Когда разрабатывать в родном коде.

3 голосов
/ 21 декабря 2011

Полный доступ к собственным элементам управления и событиям пользовательского интерфейса обычно включает использование Objective C на iOS и Java для Dalvik на Android. Вычислительное ядро, внутренности объекта Model, рендеринг Open GL и т. Д. Могут быть выполнены в C / C ++. В Mac OS X и iOS Objective C ++ - это собственный код, и поэтому он будет работать так же быстро, как и собственный код (при условии, что сам код не медленный). На Android могут быть небольшие накладные расходы через интерфейс NDK.

Песочница безопасности iOS не позволяет получить полный доступ к управлению всеми ресурсами из любого приложения на стандартном устройстве с ОС.

1 голос
/ 21 декабря 2011

Для iOS: вполне нормально использовать Objective-C ++ - мой игровой код был на C ++, и поэтому большая часть пользовательского интерфейса (который взаимодействует с объектами модели C ++) находится на Objective-C ++.C ++ такой же нативный, как Objective-C, оба могут рассматриваться как диалекты C, которые компилируются в машинные инструкции.

1 голос
/ 21 декабря 2011

вы можете использовать c или c ++ код, а также target-c на iOS (в случае c ++ вам нужнопереименуйте исходный файл из * .m в * .mm).но яблоко не рекомендовало это.Не сомневайтесь насчет андроида.

РЕДАКТИРОВАТЬ

Кроме того, я только что вспомнил: мой друг использовал библиотеку 3rdprty в c в андроиде.Таким образом, вы также можете использовать его там

...