Знаю,что под Android пишут. А у iOS и Windows Phone есть аналог NDK, или если писать, то исключительно на ObjC и C#?
Ответ
Пишут.
Достаточно распространено в мобильном геймдеве, например. В играх намного меньше привязка к API системы, а вот сохранить общий код для кучи разных платформ - бесценно. Примером подобного может служить опенсурсный игровой движок cocos2d-x.
На iOS все очень просто и удобно: C++ спокойно сосуществует в одном проекте и даже в одном файле с Objective-C. Возможно использовать как C++ из кода Objective-C, так и наоборот. Все стандартные библиотеки Objective-C могут быть доступны из C++. Естественно, есть некоторые тонкости, связанные с именованием файлов и подключением заголовочных файлов,а так же с памятью, так как в Objective-C есть сборка мусора, а в C++ нет, но, в целом, это мелочи, разработка достаточно проста и удобна. Не уверен, возможно ли это со Swift.
Под Windows Phone я напрямую не разрабатывал. Насколько мне известно из общения с WinPhone-программистами, чистый C++ там нужно подключать к проекту в виде динамической библиотеки (.dll) со всеми вытекающими проблемами. При этом, саму программу можно писать на C++/CLI (managed C++).
В сравнении с Android разработкой:
Разработка под iOS на C++ в разы удобнее.
Под WinPhone я бы сказал - примерно сопоставима по проблемам, но эти проблемы в корне различны.
Комментариев нет:
Отправить комментарий