Портирование ios на android

Состоялся анонс платформы Apportable, которая позволяет разработчикам конвертировать iOS-игры для Android автоматически без существенных изменений в коде на Objective-C или C++.

Система компилирует Objective-C-код для iOS в машинный код, который запускается напрямую на Android-устройстве. Благодаря этому подходу Apportable получает возможность оптимизировать сложные программы без потери в их производительности.

Сотрудники из компании Pocket Gems уже воспользовались услугами Apportable, запустив Animal Voyage: Island Adventure одновременно на iOS и Android-устройствах.

Специалисты из DeCew полагают, что благодаря использованию Apportable студия Pocket Gems сумела обеспечить высочайшее качество проектов на обеих платформах. Эксперты опасались, что Android-версия займет много времени, но в итоге все обошлось малой кровью.

Бесплатный SDK Apportable можно скачать бесплатно с официального сайта. Там же опубликована подробная инструкция, которая объясняет, как адаптировать код.

К слову, мы поиграли в Animal Voyage: Island Adventure на Android. На наш взгляд, там наблюдаются небольшие подтормаживания (то есть, порт немного дерганный, что смущает).

Думаю, это реально только для игр, где вся отрисовка интерфейса делается программой. В этом случае достаточно держать легкий compatiblity layer, который обеспечивает вывод на экран и получение событий (типа драйвера: «вывод на экран в iOS», «вывод на экран в Android).

Для „не игр“ этот вариант не подойдет — отрисованные руками контролы будут выглядеть криво и не вписываться в interface guidelines (а значит, и apple-цензуру не пройдут — как минимум). Везде свои интерфейсные традиции, что поделать. Конечно, логика приложения (»модель") может быть общей, но переписывание интерфейса под две платформы займет основное время и уже будет означать, что оно не мультиплатформенное.

Для своей игры, я сделал как выше писалось тонкую прослойку, которая взаимодействует с телефонными функциями и занимается отрисовкой. Таким образом у меня есть порт на Linux/Win/iOS/Android, через линки на папку с исходниками, мы получаем 4 проекта. Проблема большая только со звуком в Android, так как там нет прямого доступа к alsa, надежда только на версию 3.0. Еще есть проблема с мультитачем на многих Андройдах(G1,G2,Hero,N1), но она решается специфичным образом разнесенными контролами управления(например: левый нижний и правый верхний угол).
Ссылки по проблеме звука:1,2,3

Читайте также  Прохождение игры the crew 2

Компания Google не поддерживает стремление Apple к интеграции железа с софтом и потому работает практически в полной отстранённости от аппаратной составлящей. Andro >

Не далее как вчера Google выпустила совместимую со средой Xcode программу под названием J2ObjC. Это транслятор (или, если хотите, конвертер) кода из языка Java в Objective-C. Подкованные читатели знают, что под Android чаще пишут как раз на модифицированной Java, а Objective-C неразрывно связан с OS X и iOS. Как подчёркивают её создатели, J2ObjC работает не по принципу эмулятора. Вместо этого она конвертирует классы Java в классы Objective-C так, что в поcледних оказываются задействован один из основных фреймворков iOS — Foundation.

Если транслятор хорошо покажет себя в деле, то инициатива Google упростит использование написанного для Android кода в iOS. К чему это, спросите вы? В Google вам скажут, что хотят показать доброе отношение к разработчикам всех мастей — в том числе к тем, кто занимается кроссплатформенными проектами. Реальные мотивы неизвестны, т.к. в жёстком IT-бизнесе столь широкие жесты рукой делать не принято (ибо руку могут откусить).

Почитать об J2ObjC и скачать транcлятор можно на сайте Google Code: ссылка. [9to5mac]

* Город, где расположена штаб-квартира Google.

(Нет голосов)

Ссылка на основную публикацию
Adblock
detector