Кросс-платформенная платформа С++ для разработки мобильных приложений
Я планирую разработать мобильное приложение для iOS и Android, и я хочу использовать С++ для разработки.
Какая кросс-платформенная платформа доступна для создания мобильного приложения с использованием языка С++.
Ответы
Ответ 1
Я уверен, что у многих людей есть и этот вопрос, поэтому прочитайте это, если вы действительно хотите узнать ответ. Marmalade, вероятно, является лучшим решением. Код один раз, развертывание на мобильные устройства, настольные компьютеры, даже некоторые телевизоры. Многие популярные игры были созданы с помощью Marmalade.
Обширные игры вроде:
Но и простые игры вроде:
-
нарисуйте что-нибудь.
-
Doodle Jump
Они добавили бесплатный пакет. Вы можете бесплатно создать свою игру, и если вы хотите избавиться от экрана заставки объявления, он $150, - в год для мобильных устройств или $500, - в год для других устройствдел > .
Большим преимуществом является нативная скорость. Не имеет значения, что люди заявляют о других языках, таких как javascript или java (и, к сожалению, Qt, который, конечно же, не является языком, но вы знаете, что я имею в виду), работающим так же быстро, как C или С++. Это просто неправда. Для простых приложений это, конечно, не важно, но когда вы смотрите на (простые) игры, это имеет решающее значение.
В настоящий момент доступна версия 7.3, но эта версия имеет проблемы с эмулятором ARM. Я бы загрузил 7.0.
Если вы выбрали Marmalade или нет, обязательно прочитайте документацию. Вы не хотите, чтобы в конечном итоге отсутствовали некоторые функции и переключились на другой вариант, когда вы почти закончили.
Ответ 2
Существуют решения для кросс-платформенной разработки С++ для Android и iPhone, несмотря на то, что здесь говорят другие ответы.
Лучше всего, наверное, Marmalade, но это дорого, поэтому полезно только для коммерчески жизнеспособных приложений: https://www.madewithmarmalade.com/
Тогда есть MoSync, который вы можете использовать бесплатно. К сожалению, в прошлом году они обанкротились, поэтому никакой постоянной поддержки нет. Тем не менее, возможно, стоит посмотреть в зависимости от ваших потребностей. http://www.mosync.com
OpenFrameworks - это тот, который я не видел, поэтому спасибо Родриго за этот ответ: http://openframeworks.cc/
Ответ 3
Я изучал переносимый код между Android и iOS раньше, и я не думаю, что это возможно.
Чтобы выпускать приложения на рынок Android, он должен быть на Java, и все, что с GUI на iOS, должно использовать Objective-C.
Возможно, у вас может быть частичный переносимый С++-слой, но на самом деле, вероятно, быстрее написать одно и то же приложение дважды в Java и Obj-C, чем было бы написать его один раз на С++ в качестве переносного решения.
Qt или Wx-Widgets могут иметь некоторую поддержку, но я не смотрел на мобильные платформы для них, и я подозреваю, что реальность такова, что Apple, Microsoft и Oracle хотят, чтобы вы были привязаны к их технологиям в эти дни и не имели стимулов чтобы сделать вещи переносимыми.
EDIT:
Я заметил недавнее голосование, но человек не хотел оставлять комментарий, поэтому позвольте мне объяснить дальше.
С# и Java обеспечивают полную структуру, которая позволяет писать код намного быстрее, используя хорошо документированные классы и библиотеки, особенно при работе с пользовательскими интерфейсами.
С другой стороны, С++ полагается на многие проекты с открытым исходным кодом, которые прикладывают много усилий для работы на нескольких платформах, и много времени тратится на тонкие проблемы с платформой.
Мое предложение состояло в том, что было бы легче выбрать язык, который лучше подходит для платформы, с которой вы имеете дело, поскольку С++ имеет тенденцию быть более низким уровнем, чем другие языки, синтаксис может показаться многословным, и многие часы могут быть потрачены впустую, пытаясь заставить все работать что вы ожидаете просто работать, и, к сожалению, документация по многим проектам с открытым исходным кодом оставляет желать лучшего.
Возможно, это можно считать мнением, но тогда переход от С++ к С# или Java коммерчески может также указывать на то, что я не единственный, кто верит в это.
Ответ 4
Вы можете взглянуть на openFrameworks, возможно, это соответствует вашим потребностям:
http://openframeworks.cc/about/
Ответ 5
Нет никакого кросс-платформенного решения, использующего С++, если вы не заинтересованы в создании игр. Есть несколько вариантов, если вы не возражаете использовать другой язык программирования. Взгляните на Titanium SDK (Javascript), Xamarin (С#) или множество фреймворков HTML5/CSS/Javascript (Phonegap приходит на ум).
Ответ 6
Вы также должны посмотреть Qt Mobile.
Ответ 7
Ищите DragonFire SDK, он позволяет писать приложения и игры в c/С++. Не кросс-платформенный и никогда не использовал его, но выглядел хорошо. Он использует Visual Studio и имеет свой собственный симулятор для разработки iOS.