Как стать автором
Обновить

Комментарии 69

Кроссплатформенность была бы на много круче, если максимум что нужно было сделать это выбрать среду, для которой компилировать приложение. Но до таких технологий пока вроде как не дошли. Спасибо за статью было интересно.
В Qt дошли. Причём давно. Можно просто из среды разработки выбирать для какой платформы собирать и тут же запускать в эмуляторе или на устройстве. Гляньте например сюда: habrahabr.ru/blogs/qt_software/120966/
Marmalade тоже до этого дошел, но он платный, это да.
По моему для разработчика 300-400$ в год это не такая и большая сумма.
Хотя если вы преследуете целью не результат, а процесс, то вылепливание велосипеда — то что доктор прописал.
Никто не упомянул, восполню.
Отчего б и не www.haxenme.org/?
Adobe AIR Mobile
НЛО прилетело и опубликовало эту надпись здесь
При использовании самого популярного и удобного решения, Necessitas — не работает. Вот issue, будем надеяться, что в недалеком будущем пофиксят. Жаль, что у главного разработчика нет мотивации реализовать это самому, возможно найдется кто-то другой.
На самом деле там есть экспериментальные версии. И Томас — не главный. Главного как такового нет, но негласно главным считается все же Богдан (который начал порт). Томас присоединился чуть позже и в основном ОГЛем и занимается.
Там вроде есть egl full screen версия, видел вполне рабочую и быструю демку на ведроидных планшетах. Но всё равно я не слишком верю, что возможно с кривой архитектурой Андроида получить порт production качества.
Да, я про нее и говорю.
Начиная с 2.3 стало попроще с архитектурой вроде для реализации целей, необходимых нецесситасу. Но полностью переход на 2.3+ сейчас невозможен из за большого количества аппаратов на 2.2
Мне так кажется, что когда проект созреет уже по настоящему, в основном будет мейнстримом 4ая версия.
да, скорее всего
Всё круто, но получается, что искусственно ограничиваем себя только Chrome'ом. Ежели хотим обрадовать нашим творением всех пользователей и-нета, то натыкаемся на проблемы с другими браузерами.
К сожалению, пока только Google Chrome имеет такую прогрессивную технологию, как Native Client.
Сильверлайт последний вроде бы через какие-то трюки позволяет работать с нативным кодом.
Мелкомягкие уже пообещали закрыть сильвер, поэтому не вариант.
Саппорт 5-ой версии продлён до 2021 года. Мало?
Саппорт одно, развитие другое. Мне казалось что его не будут развивать, не?
А где версии под все заявленные платформы? Почему версия для Хрома такого большого размера и брожит?
Версии под все заявленные платформы можете собрать сами, вот исходники. Игра имеет размер 320х480, разве это много? Возможно частота перерисовки HTML5 Canvas примерно в 60 fps на вашем оборудовании создает дрожание, я у себя не замечал.
> Игра имеет размер 320х480, разве это много?

4.2Мб для 32-битных систем и 4.9Мб для 64-битных.
Я думаю, что это из-за того, что в проект включены все исходники библиотеки Box2D и статически прилинкована стандартная библиотека.
в NaCl всё линкуется статически.
При попытке получения кроссплатформенности на мобильных устройствах как ни крути всегда получаешь один минус: приходится забивать на всяческие интерфейс-гайды платформ, а они у тех же iOS/Android/WinPhone очень сильно разнятся
Я с вами согласен, но подумайте вот о чем: Angry birds следуют этим гайдам? Это им сильно мешает?
В играх интерфейс-гайды не столь важны, это больше касается других программ.
отличная статья, очень понравилась. А вот вопрос, можно вместо Qt за основу взять Objective-C, все равно GUI у всех свой будет?
Основа — это чистый С++, без Qt. Я использовал Qt для того, чтобы игра работала на десктопе и телефонах Nokia. Objective-C можно использовать для того, чтобы портировать игру на iOS. Причем весь существующий С++-код не нужно будет переписывать на Objective-C, в этом большой плюс.
Как-то один человек, сведущий в HTML5 рассказывал, что по его опыту попытка сделать приложение под все мобильные платформы на HTML5 для заказчика заканчивается разработкой отдельных приложений под каждую платформу на радном языке/платформе.
Если под iOs приложение ещё кое-как работает, то под Андроид — хочется плакать…
НЛО прилетело и опубликовало эту надпись здесь
Цены у MonoTouch и MonoDroid были бы еще поадекватнее…
Вполне адекватные деньги. Это рабочий инструмент, с которым вы собираетесь заработывать гораздо большие деньги.
Применительно к gamedev? Не думаю, что C# + сопутствующий набор проблем(биндинги, «движок» и gc) стоят таких денег :)
a) Закрытое
б) Кривое, как моя жизнь.
НЛО прилетело и опубликовало эту надпись здесь
Ещё вариант — Titanium
А про Adobe AIR как всегда забыли?
а он еще жив?
Еще как жив. А с учетом того, что в последней версии добавили возможность подключать нативные библиотеки, будет жить еще очень долго.

Просто со всей этой суматохой вокруг смерти флеша, люди которые находятся вне флеш-технологии не правильно воспринимают информацию.
я просто с эйром мало знаком, но мне казалось, что его основное применение сейчас это блекберри. Которая, в свою очередь перешла на qt
Сейчас вполне себе живет на iOS, Android.
Linux порт закрыли. И в целом, она не пользуется особым спросом.
Насчет линукса, да. Хотя тут вопрос в требованиях, мы сейчас под QNX разрабатываем приложение, и AIR 2.6 вполне хватает.
На qnx тоже балом будет править кьют скоро. В поддержке он появился
Даешь такую же статью для AIR!
Совсем забыл, есть же такая вещь, как Adobe Alchemy. Значит будет еще два кандидата для продолжения, Adobe Flash Player и Adobe AIR!
Я чего то не понял при чем тут конкурс
Хотя данный пост и обогнал меня на конкурсе и мне это очень обидно, я не могу не отметить профессионализм автора и тот факт, что пост полезный и в теме конкурса — получившийся софт работает с использованием Qt и может запускаться на нокиевских телефонах. Так что всё ок, мне кажется.
С формальной точки зрения все ок — Qt упомянут, но в основном идет разбор Android и Nacl особенностей…
Во-первых, это тоже вполне себе подходит под «мобильную разработку», во-вторых, никто в здравом умен не будет писать на Qt приложение «только под нокие», если его столь небольшими усилиями можно выпустить везде.
теми же небольшими силами можно написать приложение на Qt, которое будет работать на симбе, миго, дроиде, будущем блекберри и (в будущем) иосе. Но при этом это будет одно цельное приложение с использованием ОДНОГО инструмента.
И код будет куда более прозрачным для редактирования и расширения. Причем на BB и Вебось Qt вполне официально портировали. А QtComponents'ы позволяют делать само приложения по гайдлайнам целевой платформы.
Я очень надеюсь, что это будущее наступит скоро. Когда это случится, я смогу отказаться от поддержки кода, специфичного для Android и iOS. Пока, увы, я не могу этого сделать.
Так а зачем? В Qt специфичный код для Android и iOS вполне себе может жить внутри соответствующих реализаций QtComponents'ов, а все элементы управления смогут рисоваться нативными методами.
о да, был бы вот пост про такой подход, было бы клево. Автор, как насчет?
Не уверен, что полностью понимаю вас. Разработка для Android и iOS с использованием библиотеки Qt — пока что скорее сказка, чем реальность, а QtComponents — часть библиотеки Qt.
речь идет о создании прослойки из нативных реализаций и разработке верхнего уровня логики приложения на qt
Можно перефразировать ваш вопрос так: «Автор, как насчет портировать Qt Lighthouse на Android, iOS, Native Client, или изучить и допилить имеющиеся порты в сети и потом со спокойной душой пользоваться QtComponents»?
Или существует способ использовать QtComponents без портирования Qt на эти платформы?
э, при чем здесь полноценное портирование? пишете, то чего недостает вам например в андроиде (при желании реквестите мерж в нецесситас) на уровне далвика или ndk (как вам больше нравится) и используете это у себя в проекте на qt
Я вас понял. К сожалению, опыт работы с платформой Android у меня небольшой и ограничивается использованием библиотеки libgdx. То же самое можно сказать про iOS и Native Client. Я не могу назвать себя специалистом по OpenGL, я предпочитаю избегать прямого взаимодействия с ней. Поэтому я не могу позволить себе пойти на такой отвественный шаг, к тому же мной отчасти двигает лень, я свято верю, что есть люди, которые сделают это вместо меня, и надеюсь, что это будет скоро.
еще есть cocos2d-x: iOS, Android, BlackBerry, Bada, Win, Linux.
За статью спасибо очень интересно, а оформление так вообще шикарное!
Когда проиграешь, можно кликать по оставшимся яблокам на экране, и очки считаются дальше =)
Спасибо за первый зарепорченный баг! И да, теперь вы знаете, как набрать в этой игре больше всех очков :)
Написать одинаковое решение под множество платформ, значит сделать на всех одинаково плохо, как правило. И примеров тому множество.
Расскажите это энгрибёрдсам, то-то они посмеются.
Примеры в студию во первых, во вторых многоплатформенный код как правило более чистый в плане API.
Вот это да. Особенно весело когда схожее апи растягивают на Qt и Java. В одном сигнал-слоты, в другом листенеры. Вроде такие похожие, но такие разные…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации