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

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

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

Результаты опроса на сайте 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 после длительного опыта работы с другим языками, и вам есть о чём рассказать, напишите нам – мы бы хотели взять у вас интервью.

Источники

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