Межплатформенный iPhone / совместное использование кода Android

Просто помещенный: Что самый эффективный путь состоит в том, чтобы совместно использовать / код повторного использования между сборками iPhone и Android?

Два наиболее распространенных сценария я думаю, были бы:

  1. Новый проект пустого большого списка, зная заранее существует большой блок допускающей повторное использование логики, которая должна работать на каждом устройстве.
  2. Существующая кодовая база iPhone, портирование C, C++ и Objective C к NDK Android или иначе.

Да, конечно, в идеальном мире все приложения просто включили бы волшебное облако, и вся допускающая повторное использование логика возрастет в Google App Engine или некоторых веб-сервисах, но это не дух этого вопроса. После испытания порта iPhone к Android без повторного использования кода, вообще подержанного и наблюдение боли, которую должен был вынести человек, я хотел бы знать, как другие люди избегают его.

39
задан slf 5 March 2010 в 13:18
поделиться

6 ответов

По моему опыту, вы можете использовать Android NDK для компиляции C и C ++, поэтому, если вы используете iPhone Obj-C ++ ( .mm) для движка C ++ / C в iPhone, а в Android вы используете привязки Java к тому же движку. Это должно быть вполне возможно.

Итак, движок C ++ / C (почти такая же кодовая база для Android и iPhone) + слой тонких привязок = переносимый код.

21
ответ дан 27 November 2019 в 02:49
поделиться

Вы также можете посмотреть Титан . С их помощью вы можете написать свое приложение в абстрактном веб-коде, и они помогут вам в интерфейсе веб-приложения со всеми этими GPS, датчиками акселерометра и т. Д.

0
ответ дан 27 November 2019 в 02:49
поделиться

Пишите как можно больше на старом добром C (или C++, если нужно) и просто включайте одни и те же файлы в Android и iPhone. Это работает и на Windows/Mac. "Кроссплатформенные" библиотеки обычно поглощают вас.

5
ответ дан 27 November 2019 в 02:49
поделиться

Я работал над созданием приложений и игр для iPhone с использованием Lua с моей собственной структурой. Таким образом, я мог бы в конечном итоге реализовать ту же платформу для Android с помощью Android NDK, но, надеюсь, фактический код приложения будет точно таким же для обеих платформ.

Я не думаю, что есть простой способ сделать это, потому что API-интерфейсы, очевидно, разные, а собственные языки программирования разные, но я бы предложил создание собственной инфраструктуры на любом языке, поддерживаемом обеими платформами. Может быть, уже есть фреймворк, который сделает все за вас? Если для этого нет хороших фреймворков, то это, безусловно, возможность реализовать их самостоятельно.

2
ответ дан 27 November 2019 в 02:49
поделиться

Как я уже говорил кому-то, кто задал аналогичный вопрос некоторое время назад, используйте MVC и реализуйте MC на C ++ и V в obj-c или Java.

9
ответ дан 27 November 2019 в 02:49
поделиться

Вы можете попробовать Marmalade SDK... Компиляция один раз в нативный ARM и развертывание на Android и iPhone с одним и тем же бинарником, стандартный C/C++, разработка на windows или mac, множество (необязательных) технологий промежуточного ПО.

3
ответ дан 27 November 2019 в 02:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: