Состоялся анонс платформы 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
Компания 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.
(Нет голосов)