Код
#подборки

Must read. 5 свежих статей о Kotlin

Сделали саммари лучших статей о Kotlin со всего мира. Внутри ― тернарный оператор, Multiplatform, страхи серверных разработчиков и кейс от Amazon.

Каждую неделю мы отбираем пять свежих, интересных материалов по одной теме из англоязычного интернета и рассказываем, почему их обязательно надо прочитать. В этом выпуске — статьи о Kotlin, языке программирования от питерской JetBrains, который стал стандартом для разработки под Android.

Нужен ли в Kotlin тернарный оператор

Где читать: обсуждения на форуме Kotlin и на Stack Overflow.

Зачем читать: чтобы понять логику создателей языка, особенности его архитектуры и дизайна.

Одна из самых взрывоопасных тем в Kotlin — тернарный оператор. На официальном форуме ветку прикрыли ещё в 2018 году — после появления топика с просьбой прекратить обсуждение тернарного оператора. И хотя на Stack Overflow тема до сих пор жива, всё-таки самый смак — на форуме Kotlin.

Началось всё в ноябре 2016-го — тогда пользователь с ником edgeone написал: «Эй, добавьте, пожалуйста, [в Котлин] тернарный оператор».

То самое стартовое сообщение

Аргументы сторон кратко:

  • Против: он не добавляет новых функций (его легко заменяют If-выражения), усложняет код, если объединять троичные цепочки или использовать длинные выражения, новичкам в программировании трудно его понять.
  • За: он лаконичный, его ждут и понимают пользователи других языков программирования.
Ответ Романа Елизарова — теперь он руководит Kotlin в JetBrains: «Написание кода с наименьшим количеством знаков — точно не цель для Kotlin»

Почему серверные разработчики не переходят с 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.

Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь: Профессия Python-разработчик Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована