Objective-C для iOS + Android
От: CrystaX Россия https://www.crystax.net/
Дата: 15.12.15 10:33
Оценка: 37 (1) +1
Приветствую!

Хочу рассказать о том, как можно разрабатывать на Objective-C одновременно для iOS и Android. Это довольно частый use-case — приложение, которое должно работать и там, и там. Есть разные подходы к решению этой задачи: писать полностью отдельные два приложения (одно для iOS, другое для Android), объединенных только общим названием; пытаться выделить основную логику приложения в отдельный слой (реализованный на C или C++) и имплементить только отдельные платформо-зависимые вещи (типа доступа к камере, location и т.д.) через интерфейсы; использовать готовые мультиплатформенные движки (в том случае, если они есть), и т.д.

Мы предлагаем дополнительный способ — писать на Objective-C не только для iOS, но и для Android. Это возможно, если воспользоваться CrystaX NDK — открытым и полностью бесплатным набором средств разработки под Android. Мы выпустили версию 10.3.0, в которой поддержка Objective-C была очень сильно улучшена. Это означает, что теперь можно использовать все фичи современного Objective-C (такие как ARC, Objective-C literals syntax и т.д.) и для Android.

Конечно же, поддержка Objective-C еще не в том состоянии, чтобы под Android можно было программировать только на Objective-C. Тем не менее, языковые возможности поддерживаются полностью, а также в наличии базовые фреймворки — Foundation, CoreFoundation, CoreText, CoreVideo и CoreData. Этого часто бывает достаточно. Для недостающих же частей нужно будет использовать переходники Objective-C <-> Java (JNI). Мы продолжаем работать и хотим довести поддержку Objective-C до значительно более серьезного уровня — в идеале, должно быть возможно взять проект под iOS и просто пересобрать его под Android, без каких-либо изменений в исходниках.

Здесь можно посмотреть на пример, в котором используется один и тот же Objective-C код как для iOS, так и для Android.

CrystaX NDK — полностью открытый продукт, бесплатный для использования в любом окружении, будь то open-source или коммерческие проекты. Мы будем счастливы, если он поможет вам в работе.

В случае нахождения ошибок, неточностей или иных огрехов, не стесняйтесь сообщать нам о них.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.