Библиотека мультиплатформенных модулей Kotlin
Я работал над некоторой библиотекой, которую мы хотим выпустить как для Android, так и для iOS, до сих пор мы работали для Android и iOS отдельно. Теперь, учитывая, что так много людей начали использовать KMM для своих приложений, я просто хотел знать, пробовал ли кто-нибудь доставить библиотеку, созданную с помощью Kotlin, для Android и iOS, и каков был их опыт и проблемы, с которыми столкнулись во время разработки и интеграции эту библиотеку пользователями.
Повлияет ли это, если я создам свою библиотеку с использованием версии Kotlin 1.3.X, а пользователь будет использовать 1.2.X или 1.4.X?
1 ответ
Сторона Android будет работать как любая другая библиотека Android в отношении версии Kotlin. Я не уверен, насколько хорошо библиотеки Kotlin 1.3 работают с Kotlin 1.4 или 1.2 на JVM, но я полагаю, что на данный момент «довольно хорошо». Я предполагаю, что 1.4 с использованием библиотеки 1.3 будет работать нормально.
Для iOS фреймворк, который вы создаете и отправляете, является его «собственным миром», поэтому iOS, вызывающая его, не знает и не заботится о том, что это Kotlin или с какой версией Kotlin он был построен.
Однако, если вы отправляете клибы, которые другие разработчики используют в собственном коде, их нужно будет согласовывать с версиями по-другому, но это не похоже на то, что вы планируете это делать.
Я настоятельно рекомендую настроить таргетинг на 1.4.20 как минимум для нативной версии. Не по какой-либо конкретной причине, кроме нативной, находится в стадии интенсивной разработки, и каждый выпуск добавляет важные исправления и / или улучшения. 1.3.x довольно стар с точки зрения KMM. Если вы ориентируетесь только на фреймворки Xcode, я бы создал iOS с последней стабильной версией Kotlin, на сегодняшний день 1.4.32.