Планируется разработка проекта под "Android" с максимальным использованием C++ OpenGL и другое.
Все вообще хочется писать на С++.
Мне привычней работать с framework Qt + QtCreator, который на сегодняшний день имеет поддержку разработки под "Android".
Тем не менее, исходя из "гугления" по данному вопросу), большинство проектов пишется с использованием "Eclipse", с которой я минимально знаком.
Исходя из этого возникает вопрос: Что лучшее для такой задачи?
Интересует производительность исполняемого кода на С++, нативность контролов.
А если не использовать Qt в эклипсе, а писать на С++ с использованием .. (чего-то там самое популярное), например интерфейс. Что будет GUI в Eclipse, без Qt?
GavriKos: в QT есть превосходный двумерный геометрический движок с аппаратным ускорением, так что писать с ней можно в том числе и игры, не изобретая велосипедов в части отрисовки, отсечки, обнаружения столкновений и так далее.
Армянское Радио: Ну это плюс, да :-) Но я все равно не понимаю причем тут интерфейс Qt! Классы, оберточки над ГЛ и прочим - это да. Но пихать в игру интерйфейс на Qt....
GavriKos: предполагается редактор карт (для расстановки паттернов, итемов и т. д. ) игрового уровня, возможно там и понадобятся диалоги, контролы и прочая бурда.
kozura: У вас это редактор на андроиде будет прямо? Я думаю проще на ПК редактировать. Вообще редакторы - это побочный продукт. И тянуть в игру ради него Qt не стоит.
Написание Qt-приложений без Qt-Creator напоминает езду на велосипеде без педалей.
Вы смешали два понятия: Разработку с использованием QT и разработку для Андроид. Так как большая часть программ на Андроид пишется на Java, то и среда берется для Java - то есть Eclipse.
Хоть Eclipse и универсален и позволяет привинтить Qt, лучше все же использовать QtCreator. Он поддерживает разработку с использованием Qt для Андроид без проблем.
Я, пока, ничего не смешивал)
Мне не хочется дергать сишный код из джавы. Я так понимаю, если я проект компилю на Qt, то мне не придется страдать джва-ананизмом)
kozura: не придется. В проекте на QT придется иметь дело только с C++. Все необходимые обертки по переходу к выполнению нативного кода будут выполнены прозрачно.
kozura: Вам в любом случае придется страдать джава-ананизмом когда вам надо будет подключить какую то либу статистики, платежки, фейсбука или еще чего то.
kozura: Это - это что? Вы должны четко представлять зачем вам интерфейс Qt. Пока я только прочитал про редактор, и отписал - редактор не надо тянуть в игру. Делать игру с прослойкой Qt или Java - я бы выбрал второе. Ибо сторонние библиотеки к Qt подключить может не получится.
GavriKos: Читайте внимательнее ответ на ваше предыдущее сообщение, да бы не задавать лишних вопросов. Про редактор я понял, а вот про подключение сторонних библиотек к Qt может не получиться.
У кого не получиться и на каком этапе?
kozura: ОК, я понял. Привожу пример. Вы хотите подключить, например, тапджой (популярная рекламная сеть и трафикогонялка). Для андроида у него либа джавовская +джавовские же туториалы. подключить в чистом виде к Qt вы это не сможете, и все равно будете писать дерганья джавовских методов, которых так пытались избежать при помощи Qt.
Хотелось бы услышать и минусы в сторону Java для реализации данной задачи.
Неужели все будет так гладко и без танцев?)
Один для себя определю, это вызов с++ кода из джавы. Тут, как мне кажется, будут неудобства и еще чего более, мне еще не известного).
Да и самое главное, опыта разработки на джаве нет, за исключением некоторых сделанных лабораторных в студенчестве, но помниться это было не сложно).
По сравнению с реализацией игры на голом опенГЛ сложности вызова с++ из джавы и наоборот это такие мелочи... Т.е. я лично минусов в джаве для андроид-игры на с++ не вижу вообще. Говорю как разработчик игр для андроида.
С Эклипсом разобраться не проблема. Он хоть и странный, но вполне понятный. Поддержка Андроида в нём прекрасная, даже эмулятор есть.
Нативный код писать не пробовал, потому что не захотелось возиться с поддержкой разных архитектур процессоров, а на Java такой проблемы нет (я не заботился о производительности и проблем с ней не возникло у меня).
1) Эмулятор проще выкинуть. На нем ничего толкового, тем более с OpenGL не потестишь.
2) Никаких проблем с разной архитектурой нет. Сейчас одна архитектура - arm-v7.
Не знаю где вы гуглили, но все свои Qt проекты писал в QtCreator, без каких-либо проблем. Установка на устройство, сбор Debug/Release apk и прочее работает из каробки, а что еще нужно?
Вот этого я честно не пробовал. Как ни странно мои Qt проекты зависили от Qt=) Если честно, я не вижу в этом особого смысла. В андроиде нет поддержки C++ приложений как таковой. При создании Qt приложения генерируется Activity на Java, которая будет точкой входа, после чего инициализируется OpenGL контекст в котором рисует Qt.
Фреймворк это делает всю эту работу на лету, во время сборки пакета, а как вы будете использовать это я не знаю, но думаю усилия будут сравнимы с разработкой в Eclipse без Qt вообще