Не только почему, но и как? Перемещение приложения с существующего языка на новый происходит не каждый день, но с появлением Kotlin это стало более распространенным явлением, чем раньше. Так что же такое Java для Kotlin?
Некоторые новые исследования, основанные на методе интервью и программе, которая анализирует репозитории кода, направлены на то, чтобы ответить на вопрос, почему и как происходит миграция Kotlin. В исследовательской работе есть полный отчет о методологии, но стоит извлечь основные выводы и немного подумать о них.
Первый вопрос: сколько приложений для Android было полностью перенесено в Kotlin?
Мы знаем от Google, что Kotlin является растущей силой, и не должно быть сюрпризом узнать, что из 374 приложений 86 (30%) были на 100% перенесены в Kotlin — это большая работа — или это так? Из перенесенных приложений 36% были полностью перенесены за одну фиксацию. Другие медленно мигрировали с одного языка на другой, и частичная миграция составила 63% из 214 приложений, включавших код Kotlin.
Из тех людей, которые не сделали полной миграции, причинами для этого были:
переносится только код Java, который необходимо изменить
в Kotlin написан только новый код
нехватка времени для завершения миграции.
Так зачем вообще мигрировать? Опрос пришел к выводу, что было четыре причины:
чтобы избежать ограничений версий Java
для создания более безопасного кода
использовать современный язык программирования с новыми функциями
чтобы следовать указаниям Google
Я думаю, что a. и c. очень похожи, но d.? Кто-нибудь делает то, что им говорит Google? И никто не думал, что переезд в Котлин может обеспечить некоторую защиту от последствий судебного процесса Oracle v Google?
И какой совет есть, если вы думаете о миграции:
Разработчики использовали инструмент автоматического преобразования для переноса кода, однако преобразованный код часто необходимо изменять вручную.В этом нет ничего удивительного — какой инструмент когда-либо делает идеальное преобразование?
Сопрограммы упрощают реализацию параллелизма в Android.Это меня немного удивило, так как это другой подход к параллелизму, чем предлагает Java.
По мнению большинства опрошенных разработчиков, код Kotlin легче читать и поддерживать.Думаю, я бы согласился с этим замечанием. Я не против писать Java, но я лучше пишу Kotlin, и я так привыкаю к идиомам Kotlin, что мне все чаще неприятно возвращаться к Java.
Так стоит ли вам мигрировать?
Я бы сказал, что ответ очень похож на «да», но я не думаю, что вам нужно делать полную миграцию. Написание нового кода в Kotlin-хорошее начало, и посмотрите, как он продвигается. Хорошая новость заключается в том, что Котлин и Java работают вместе.
Майк Джеймс является автором Руководства для программистов по Kotlin, написанного для Java-программистов, разработчиков Android и программистов, желающих узнать, почему Kotlin является лучшей Java, а также для программирования Android на Java: Начиная с приложения, 3-е издание и программирование Android в Kotlin: Начиная с приложения.