Евгений Левада 18 января 2020

Мнение разработчика: «Стоп! Kotlin — это не только Android»

IT-рекрутеры и новички в разработке ассоциируют Kotlin почти только с мобильной платформой. Мы собрали несколько мнений, противоречащих сложившейся репутации языка.

Берлинский разработчик Жан-Мишель Файард недавно поделился на Medium мнением о назревшей проблеме: с тех пор как Kotlin включили в Android Studio, IT-рекрутеры и новички в разработке ассоциируют язык только с мобильной платформой. Kotlin имеет большую долю в Android-разработке, но в не меньшей степени пригоден для других задач, где применяются Java и JVM.

Положение Kotlin в пространстве Android и JVM
Положение Kotlin в пространстве Android и JVM

В мире Android растёт доля Kotlin. За счёт Kotlin мобильная платформа стала производительнее и развивается быстрее. Заманчиво провести параллель с миром iOS, где Swift заменяет Objective C. Apple продвигает Swift так же, как Google пиарит Kotlin. На Google I/O 2019 было объявлено, что Kotlin стал приоритетным в разработке под Android.

Но Kotlin разрабатывался для облегчения Java и JVM, а не только улучшения Android. Хотя Kotlin в связке с Android многие полюбили, прочие разработчики используют язык для других целей. Android – крупная платформа, но JVM в целом – ещё больше. Ниже показан опрос на сайте компании JetBrains. Ответившие используют язык преимущественно для JVM-задач.

Результаты <a href="https://www.jetbrains.com/research/kotlin-census-2018/" target="_blank" rel="noopener noreferrer nofollow">опроса на сайте JetBrains</a>, данные 2018 г.
Результаты опроса на сайте JetBrains, данные 2018 г.

Процитируем здесь отрывок из интервью с Андреем Бреславом, создателем языка программирования Kotlin:

Естественно, что его [Kotlin] особенно много на Android, но и на серверных платформах тоже немало. В последнее время очень много интереса к Kotlin/Native, к мультиплатформенным проектам — тому, что мы анонсировали на конференции KotlinConf в ноябре. Многие люди интересуются, пробуют и задают вопросы «бизнес-уровня»: «а как нам строить свою стратегию, исходя из того, что будет Kotlin/Native»? Это всё очень приятные индикаторы.

Cоответствие потребностям рынка. Почему Kotlin стал так успешен в мобильной разработке, если не предназначен для неё? Это классический пример сообразности продукта ожиданиям. Руководители Android активно искали новые решения, пока не наткнулись на Kotlin. Это случилось в начале 2015 года, когда Джейк Уортон в этом документе восхвалил преимущества Kotlin.

Последние 2-3 года совершенно нормально использовать Kotlin на JVM. Многие писавшие и на Java, и на Kotlin согласятся с таким утверждением:

        if Java позволяет решить текущую проблему,

then Kotlin лучший вариант, для решения той же проблемы.
    

О текущем положении Java высказался в своей публикации Роман Елизаров, руководитель группы по библиотекам Котлина:

Ландшафт разработки программного обеспечения меняется. Области, в которых Java когда-то произвела революцию, трансформируются. Десктопная разработка сужается до профессионального и корпоративного программного обеспечения, в то время как потребители массового рынка полагаются на мобильные и веб-приложения. Бэкенд меняется микро-сервисами. Тем не менее, в ближайшее время Java и её экосистема не станут неактуальными. Кроме того, огромное влияние Java на разработку программного обеспечения останется в языках, которые когда-нибудь в будущем станут доминировать в ландшафте.

Kotlin годится и для бэкенд-программирования. Kotlin имеет собственные нативные фреймворки для бэкенд-разработчиков, такие как ktor, http4k и т. д. Spring проделали большую работу с 2017 г. по внедрению Kotlin в свои продукты.

Kotlin – это отличное решение для разработки во многих традиционных Java-областях, хотя бы потому что в нём применяется десятилетний практический опыт экосистемы Java. Например, корутины – вам больше не нужно выбирать между чистым кодом и неблокирующим подходом.

Подводя итог. Заметен явный зазор между тем, как разработчиков на Kotlin представляют рекрутеры и тем, как они видят сами себя. Ниша применения языка гораздо шире, чем можно судить по вакансиям. Около половины Kotlin-программистов не занимаются Android. При этом они получают предложения от работодателей по направлению мобильной разработки, что вызывает только раздражение. Если вы ищете разработчика на Kotlin под Android – их не так много, как мобильных джавистов, которым можно помочь выучить новый язык.

Как вы используете Kotlin?

Если вы перешли на Kotlin после длительного опыта работы с другим языками, и вам есть о чём рассказать, напишите нам – мы бы хотели взять у вас интервью.

Источники

МЕРОПРИЯТИЯ

Комментарии 0

ВАКАНСИИ

Добавить вакансию
Java-разработчик
Москва, по итогам собеседования
IOS Senior Developer (Swift)
Москва, от 200000 RUB до 350000 RUB
Data Scientist
по итогам собеседования
Senior Frontend Developer
Москва, от 120000 RUB до 250000 RUB

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ