Must read. 5 свежих статей о Kotlin
Сделали саммари лучших статей о Kotlin со всего мира. Внутри ― тернарный оператор, Multiplatform, страхи серверных разработчиков и кейс от Amazon.
Каждую неделю мы отбираем пять свежих, интересных материалов по одной теме из англоязычного интернета и рассказываем, почему их обязательно надо прочитать. В этом выпуске — статьи о Kotlin, языке программирования от питерской JetBrains, который стал стандартом для разработки под Android.
Нужен ли в Kotlin тернарный оператор
Где читать: обсуждения на форуме Kotlin и на Stack Overflow.
Зачем читать: чтобы понять логику создателей языка, особенности его архитектуры и дизайна.
Одна из самых взрывоопасных тем в Kotlin — тернарный оператор. На официальном форуме ветку прикрыли ещё в 2018 году — после появления топика с просьбой прекратить обсуждение тернарного оператора. И хотя на Stack Overflow тема до сих пор жива, всё-таки самый смак — на форуме Kotlin.
Началось всё в ноябре 2016-го — тогда пользователь с ником edgeone написал: «Эй, добавьте, пожалуйста, [в Котлин] тернарный оператор».
Аргументы сторон кратко:
- Против: он не добавляет новых функций (его легко заменяют If-выражения), усложняет код, если объединять троичные цепочки или использовать длинные выражения, новичкам в программировании трудно его понять.
- За: он лаконичный, его ждут и понимают пользователи других языков программирования.
Почему серверные разработчики не переходят с Java на Kotlin?
Где читать: на Medium.
Зачем читать: чтобы понять, почему некоторые разработчики не доверяют Kotlin и насколько это оправданно.
Kotlin стал стандартом для экосистемы Android, но в серверной разработке его позиции пока слабы. Колумнист сообщества Google Developers Experts попробовал развеять самые частые страхи.
«Мне некогда учить новый язык»
Ответ: компетентный Java-разработчик освоит основы Kotlin за считаные часы, а интерес к другим языкам — показатель профессионального роста и развития.
«Java становится лучше с каждым обновлением»
Ответ: это факт. Но Java эволюционирует медленно и в некоторых моментах отстаёт от Kotlin. Kotlin — новый язык, и в нём с самого начала запроектированы многие продвинутые фишки. А ещё разработчики часто привыкают к недостаткам своего языка и не замечают их.
«Котлин — это просто сиюминутный тренд. Вдруг у него нет будущего?»
Ответ: Несколько лет назад это был главный аргумент скептиков. Но популярность Kotlin только растёт, а официальная поддержка от Google и популярных фреймворков Spring и Micronaut только укрепляет позиции языка.
«Я привык к Eclipse и не хочу переходить на IntelliJ»
Ответ: поддержка Kotlin в Eclipse и правда так себе. Естественно, JetBrains в первую очередь продвигает собственные инструменты и пока что с Kotlin приятнее работать именно в IntelliJ. Но поддержка Eclipse наверняка улучшится, а IntelliJ — действительно приятная среда разработки.
«Страшновато использовать два языка в одной кодовой базе»
Ответ: обычно этого боятся те, кто ни разу не работал с Kotlin. На практике это не приносит проблем: главное, чтобы все понимали, что поначалу Java и Kotlin придётся как-то уживаться.
Впечатления от фреймворка Jetpack Compose
Где читать: в блоге академии Kotlin.
Зачем читать: чтобы узнать о плюсах и минусах работы с Jetpack Compose и найти новые источники информации о нём.
Jetpack Compose — горячий тренд в разработке интерфейсов для Android, который обещает решить проблему View- и XML-макетов и ускоряет разработку интерфейсов приложений.
Плюсы Jetpack Compose
Compose вдохновляет. Он делает работу приятной, избавляет от рутины и полностью сделан на Kotlin — что само по себе уже хорошо. Типобезопасность Kotlin помогает не допускать ошибок, а API доступна в Android Studio.
Минусы Jetpack Compose
Для работы с Compose нужна последняя версия Android Studio, а она пока ещё далека от совершенства. Вот несколько проблем:
- Функция IDE-превью иногда не загружается или не обновляется — а потому бесполезна.
- Отладчик не подключается ни к эмулятору, ни к самому устройству.
- Logcat не показывает названия приложений.
- Эмулятор не показывается в превью, если открыт в IDE.
- Раз в день Studio полностью зависает — приходится перезагружать.
Ещё одна особенность — сложно искать информацию о Compose. На том же Stack Overflow большая часть советов относится к старой версии. Конечно, разработчики исправят эти проблемы, а пока можно использовать несколько лайфхаков.
- Сейчас лучший источник по теме — официальная документация.
- Посмотрите плейлист на YouTube — там есть неочевидные нюансы некоторых функций Compose.
- Новичкам пригодится видеообзор бета-версии.
- Много практической информации — в официальном руководстве от Google. Хотя и там есть устаревшие советы.
Kotlin Multiplatform — находка для мобильной разработки?
Где читать: в блоге комьюнити ProAndroidDev.
Зачем читать: чтобы узнать о практических плюсах и минусах Kotlin Multiplatform — технологии, которая позволяет вести одну кодовую базу для iOS и Android.
Разработчик популярного онлайн-редактора InVideo объяснил, почему они выбрали именно Kotlin Multiplatform. Причина проста: команда хотела «слезть» с иглы нескольких кодовых баз и сэкономить на разработке.
Выбирали из React Native, Flutter, C++ и Kotlin Multiplatform. Основная часть проекта — работа с низкоуровневой графикой, поэтому React Native и Flutter отмели сразу. Писать на C++, по опыту, было слишком дорого. В итоге выбор был между поддержкой двух кодовых баз (Swift + Kotlin) или Kotlin Multiplatform. InVideo выбрали KMP: приложение под Android всё равно пришлось бы писать на Kotlin — так почему бы сразу не сделать этот код универсальным.
Плюсы Kotlin Multiplatform:
- кроссплатформенная разработка;
- высокая производительность;
- привычный язык для Android-разработчиков;
- совместимость с Java, Swift и Objective-C;
- есть все основные библиотеки;
- в будущем можно использовать этот код ещё и для других платформ.
Минусы Kotlin Multiplatform:
- iOS-разработчикам придётся учить новый язык;
- интерфейс для каждой платформы всё равно придётся создавать отдельно;
- хотелось бы больше библиотек.
Переход Prime Video на Kotlin: меньше кода и счастливые разработчики
Где читать: в блогe Amazon.
Зачем читать: чтобы узнать, почему подразделение Amazon выбрало Kotlin и что из этого получилось.
В марте 2020 года в Prime Video появилась функция, для которой нужно было создать новые микросервисы. Раньше команда работала на Java, но для этой задачи они выбрали Kotlin — решили, что так будет меньше кода, а работа пойдёт быстрее.
У разработчиков уже был опыт с Kotlin, но они всё равно решили внедрять новый язык постепенно и для начала имплементировали тест уже существующего пакета Java в Kotlin. Всё получилось, и команда начала экспериментировать с подключением нового языка. Больше всего разработчиков зацепили классы данных, расширения, Null-безопасность и функции высшего порядка.
На следующем этапе подключили новые инструменты: Detekt, ktlint, MockK и Koin, а также написали свою библиотеку AWSSSMChaosRunner для хаос-тестирования.
Переход на Kotlin прошёл гладко, а внутренний опрос показал, что главные преимущества Kotlin — лёгкость работы, лаконичность и хорошая читаемость кода.
Хотите изучить новый язык программирования или неизвестный фреймворк? Выбирайте подходящий среди курсов Skillbox.