Разработка мобильных приложений с помощью Marmalade (C++)

Меня интересует разработка мобильного приложения, скорее всего для Android. Дело в том, что у меня есть небольшой опыт работы с C++, но не с Java или Objective-C. Я рассматриваю возможность использования Marmalade SDK для разработки приложений на C++. Мой вопрос в том, как далеко вы можете зайти с Marmalade? Можно ли опубликовать приложение в магазине Google Play только после использования Marmalade, или мне придется использовать что-то вроде Eclipse (и, следовательно, Java), чтобы сделать его пригодным для использования приложением для Android? Я хотел бы использовать как можно больше С++. Это то, что Marmalade делает, позволяя вам писать приложение от начала до конца на C++? Многие другие сообщения, на которые я смотрел, не были слишком полезными.

Спасибо!


person jordpw    schedule 05.03.2014    source источник
comment
Вам лучше написать их на их родном языке программирования. Стоит изучать языки и создавать их отдельно. Objective-C — это просто C с некоторыми дополнительными классами и странной структурой кодирования, и его можно смешать с вашим кодом C++. Java — это самый простой язык программирования для изучения, так что это не должно быть проблемой.   -  person    schedule 10.03.2014


Ответы (2)


Можно ли опубликовать приложение в магазине Google Play только после использования Marmalade, или мне придется использовать что-то вроде Eclipse (и, следовательно, Java), чтобы сделать его пригодным для использования приложением для Android?

Вам нужно будет выполнить несколько шагов по настройке учетной записи разработчика Google Play (и т. д.), а для некоторых инструментов упаковки/отправки требуется установка Java, но в основном вам больше ничего не нужно. Marmalade SDK довольно дружелюбно проведет вас через все внешние шаги, которые вам необходимо выполнить, с помощью полезного инструмента проверки зависимостей, который сообщает вам ссылки, по которым нужно перейти, и то, что нужно установить.

Это то, что Marmalade делает, позволяя вам писать приложение от начала до конца на C++?

Ага.

Мой вопрос в том, как далеко вы можете зайти с Marmalade?

Я открыл для себя Marmalade несколько недель назад, и у меня были такие же требования, как и у вас. Очевидно, что с любым новым промежуточным программным обеспечением придется немного повозиться, но пока я им полностью доволен.

person user3399684    schedule 09.03.2014

Я согласен с комментарием Хуссни. Мармелад в основном только для игр, соотв. к моему опыту. Если вы попытаетесь создать с его помощью неигровые приложения, у вас будет много проблем. Во-первых, вы не сможете получить доступ ко многим нативным возможностям непосредственно в коде Marmalade C++. Для того, чтобы вам пришлось написать собственное расширение/плагин, используя EDK Marmalade, который должен быть закодирован на Java/Objective C. Так что, в конце концов, вам придется использовать Java. Использование только Java будет недостаточно для EDK, вам потребуется получить доступ к методам Java, используя вызовы JNI в C++. Вы можете себе представить, какие проблемы у вас будут.

Теоретически вы можете написать приложение полностью на C++, но практически это невозможно, если только вы не делаете игру и не нуждаетесь в каких-либо нативных функциях (реклама, push-уведомления, сторонние SDK и т. д.). Помимо нативных функций, создание пользовательского интерфейса в Marmalade — это проблема, и Marmalade прекратил поддержку создателя пользовательского интерфейса несколько лет назад. Это Native UI API не работает должным образом.

Так что, в конце концов, если это игра, иди за мармеладом, если нет, то ты не знаешь, что делать. Другой альтернативой является Android NDK, который позволяет писать приложения на C++ с использованием JNI.

Теперь, чтобы ответить на ваши другие вопросы, вам все равно понадобится Android SDK для создания APK в Marmalade и Android NDK для компиляции расширений EDK.

person noob    schedule 19.03.2014
comment
Я использую Marmalade IwNUI для простого приложения и очень хотел бы знать, какие ошибки вы имеете в виду с поддержкой собственного пользовательского интерфейса. - person Dronz; 14.02.2015
comment
Этот ответ был написан почти год назад, поэтому я не помню точных ошибок и не знаю, улучшили ли они его еще. Я перестал использовать IwNUI несколько месяцев назад. Вы можете проверить список ошибок на сайте ответов мармелада. Если вам нужен собственный пользовательский интерфейс, я предпочитаю Native App или Xamarin вместо Marmalade. - person noob; 14.02.2015