0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p><a>#подборки</a></p>
1
<p><a>#подборки</a></p>
2
<ul><li>3 июн 2021</li>
2
<ul><li>3 июн 2021</li>
3
<li>0</li>
3
<li>0</li>
4
</ul><p>Сделали саммари лучших статей о Kotlin со всего мира. Внутри ― тернарный оператор, Multiplatform, страхи серверных разработчиков и кейс от Amazon.</p>
4
</ul><p>Сделали саммари лучших статей о Kotlin со всего мира. Внутри ― тернарный оператор, Multiplatform, страхи серверных разработчиков и кейс от Amazon.</p>
5
<p>В бэкграунде - программирование, французский язык, академическое рисование, капоэйра. Сейчас учит финский. Любит путешествия и Балтийское море.</p>
5
<p>В бэкграунде - программирование, французский язык, академическое рисование, капоэйра. Сейчас учит финский. Любит путешествия и Балтийское море.</p>
6
<p>Каждую неделю мы отбираем пять свежих, интересных материалов по одной теме из англоязычного интернета и рассказываем, почему их обязательно надо прочитать. В этом выпуске - статьи о Kotlin, языке программирования от питерской JetBrains, который стал стандартом для разработки под Android.</p>
6
<p>Каждую неделю мы отбираем пять свежих, интересных материалов по одной теме из англоязычного интернета и рассказываем, почему их обязательно надо прочитать. В этом выпуске - статьи о Kotlin, языке программирования от питерской JetBrains, который стал стандартом для разработки под Android.</p>
7
<p><strong>Где читать:</strong>обсуждения на <a>форуме Kotlin</a>и на <a>Stack Overflow</a>.</p>
7
<p><strong>Где читать:</strong>обсуждения на <a>форуме Kotlin</a>и на <a>Stack Overflow</a>.</p>
8
<p><strong>Зачем читать:</strong>чтобы понять логику создателей языка, особенности его архитектуры и дизайна.</p>
8
<p><strong>Зачем читать:</strong>чтобы понять логику создателей языка, особенности его архитектуры и дизайна.</p>
9
<p>Одна из самых взрывоопасных тем в Kotlin - тернарный оператор. На официальном форуме ветку<a>прикрыли</a>ещё в 2018 году - после появления<a>топика</a>с просьбой прекратить обсуждение тернарного оператора. И хотя на Stack Overflow тема до сих пор жива, всё-таки самый смак - на форуме Kotlin.</p>
9
<p>Одна из самых взрывоопасных тем в Kotlin - тернарный оператор. На официальном форуме ветку<a>прикрыли</a>ещё в 2018 году - после появления<a>топика</a>с просьбой прекратить обсуждение тернарного оператора. И хотя на Stack Overflow тема до сих пор жива, всё-таки самый смак - на форуме Kotlin.</p>
10
<p>Началось всё в ноябре 2016-го - тогда пользователь с ником edgeone написал: "Эй, добавьте, пожалуйста, [в Котлин] тернарный оператор".</p>
10
<p>Началось всё в ноябре 2016-го - тогда пользователь с ником edgeone написал: "Эй, добавьте, пожалуйста, [в Котлин] тернарный оператор".</p>
11
То самое стартовое сообщение<p>Аргументы сторон кратко:</p>
11
То самое стартовое сообщение<p>Аргументы сторон кратко:</p>
12
<ul><li>Против: он не добавляет новых функций (его легко заменяют If-выражения), усложняет код, если объединять троичные цепочки или использовать длинные выражения, новичкам в программировании трудно его понять.</li>
12
<ul><li>Против: он не добавляет новых функций (его легко заменяют If-выражения), усложняет код, если объединять троичные цепочки или использовать длинные выражения, новичкам в программировании трудно его понять.</li>
13
<li>За: он лаконичный, его ждут и понимают пользователи других языков программирования.</li>
13
<li>За: он лаконичный, его ждут и понимают пользователи других языков программирования.</li>
14
</ul>Ответ Романа Елизарова - теперь он руководит Kotlin в JetBrains: "Написание кода с наименьшим количеством знаков - точно не цель для Kotlin"<p><strong>Где читать:</strong>на <a>Medium</a>.</p>
14
</ul>Ответ Романа Елизарова - теперь он руководит Kotlin в JetBrains: "Написание кода с наименьшим количеством знаков - точно не цель для Kotlin"<p><strong>Где читать:</strong>на <a>Medium</a>.</p>
15
<p><strong>Зачем читать:</strong>чтобы понять, почему некоторые разработчики не доверяют Kotlin и насколько это оправданно.</p>
15
<p><strong>Зачем читать:</strong>чтобы понять, почему некоторые разработчики не доверяют Kotlin и насколько это оправданно.</p>
16
<p>Kotlin стал стандартом для экосистемы Android, но в серверной разработке его позиции пока слабы. Колумнист сообщества Google Developers Experts попробовал развеять самые частые страхи.</p>
16
<p>Kotlin стал стандартом для экосистемы Android, но в серверной разработке его позиции пока слабы. Колумнист сообщества Google Developers Experts попробовал развеять самые частые страхи.</p>
17
<p><strong>Ответ:</strong>компетентный Java-разработчик освоит основы Kotlin за считаные часы, а интерес к другим языкам - показатель профессионального роста и развития.</p>
17
<p><strong>Ответ:</strong>компетентный Java-разработчик освоит основы Kotlin за считаные часы, а интерес к другим языкам - показатель профессионального роста и развития.</p>
18
<p><strong>Ответ:</strong>это факт. Но Java эволюционирует медленно и в некоторых моментах отстаёт от Kotlin. Kotlin - новый язык, и в нём с самого начала запроектированы многие продвинутые фишки. А ещё разработчики часто привыкают к недостаткам своего языка и не замечают их.</p>
18
<p><strong>Ответ:</strong>это факт. Но Java эволюционирует медленно и в некоторых моментах отстаёт от Kotlin. Kotlin - новый язык, и в нём с самого начала запроектированы многие продвинутые фишки. А ещё разработчики часто привыкают к недостаткам своего языка и не замечают их.</p>
19
<p><strong>Ответ:</strong>Несколько лет назад это был главный аргумент скептиков. Но популярность Kotlin только растёт, а официальная поддержка от Google и популярных фреймворков<a>Spring</a>и <a>Micronaut</a>только укрепляет позиции языка.</p>
19
<p><strong>Ответ:</strong>Несколько лет назад это был главный аргумент скептиков. Но популярность Kotlin только растёт, а официальная поддержка от Google и популярных фреймворков<a>Spring</a>и <a>Micronaut</a>только укрепляет позиции языка.</p>
20
<p><strong>Ответ:</strong>поддержка Kotlin в Eclipse и правда так себе. Естественно, JetBrains в первую очередь продвигает собственные инструменты и пока что с Kotlin приятнее работать именно в IntelliJ. Но поддержка Eclipse наверняка улучшится, а IntelliJ - действительно приятная среда разработки.</p>
20
<p><strong>Ответ:</strong>поддержка Kotlin в Eclipse и правда так себе. Естественно, JetBrains в первую очередь продвигает собственные инструменты и пока что с Kotlin приятнее работать именно в IntelliJ. Но поддержка Eclipse наверняка улучшится, а IntelliJ - действительно приятная среда разработки.</p>
21
<p><strong>Ответ:</strong>обычно этого боятся те, кто ни разу не работал с Kotlin. На практике это не приносит проблем: главное, чтобы все понимали, что поначалу Java и Kotlin придётся как-то уживаться.</p>
21
<p><strong>Ответ:</strong>обычно этого боятся те, кто ни разу не работал с Kotlin. На практике это не приносит проблем: главное, чтобы все понимали, что поначалу Java и Kotlin придётся как-то уживаться.</p>
22
<p><strong>Где читать:</strong>в <a>блоге академии Kotlin</a>.</p>
22
<p><strong>Где читать:</strong>в <a>блоге академии Kotlin</a>.</p>
23
<p><strong>Зачем читать:</strong>чтобы узнать о плюсах и минусах работы с Jetpack Compose и найти новые источники информации о нём.</p>
23
<p><strong>Зачем читать:</strong>чтобы узнать о плюсах и минусах работы с Jetpack Compose и найти новые источники информации о нём.</p>
24
<p>Jetpack Compose - горячий тренд в разработке интерфейсов для Android, который обещает решить проблему View- и XML-макетов и ускоряет разработку интерфейсов приложений.</p>
24
<p>Jetpack Compose - горячий тренд в разработке интерфейсов для Android, который обещает решить проблему View- и XML-макетов и ускоряет разработку интерфейсов приложений.</p>
25
<p><strong>Плюсы<strong>Jetpack Compose</strong></strong></p>
25
<p><strong>Плюсы<strong>Jetpack Compose</strong></strong></p>
26
<p>Compose вдохновляет. Он делает работу приятной, избавляет от рутины и полностью сделан на Kotlin - что само по себе уже хорошо. Типобезопасность Kotlin помогает не допускать ошибок, а API доступна в Android Studio.</p>
26
<p>Compose вдохновляет. Он делает работу приятной, избавляет от рутины и полностью сделан на Kotlin - что само по себе уже хорошо. Типобезопасность Kotlin помогает не допускать ошибок, а API доступна в Android Studio.</p>
27
<p><strong>Минусы Jetpack Compose</strong></p>
27
<p><strong>Минусы Jetpack Compose</strong></p>
28
<p>Для работы с Compose нужна последняя версия Android Studio, а она пока ещё далека от совершенства. Вот несколько проблем:</p>
28
<p>Для работы с Compose нужна последняя версия Android Studio, а она пока ещё далека от совершенства. Вот несколько проблем:</p>
29
<ul><li>Функция IDE-превью иногда не загружается или не обновляется - а потому бесполезна.</li>
29
<ul><li>Функция IDE-превью иногда не загружается или не обновляется - а потому бесполезна.</li>
30
<li>Отладчик не подключается ни к эмулятору, ни к самому устройству.</li>
30
<li>Отладчик не подключается ни к эмулятору, ни к самому устройству.</li>
31
<li>Logcat не показывает названия приложений.</li>
31
<li>Logcat не показывает названия приложений.</li>
32
<li>Эмулятор не показывается в превью, если открыт в IDE.</li>
32
<li>Эмулятор не показывается в превью, если открыт в IDE.</li>
33
<li>Раз в день Studio полностью зависает - приходится перезагружать.</li>
33
<li>Раз в день Studio полностью зависает - приходится перезагружать.</li>
34
</ul><p>Ещё одна особенность - сложно искать информацию о Compose. На том же Stack Overflow большая часть советов относится к старой версии. Конечно, разработчики исправят эти проблемы, а пока можно использовать несколько лайфхаков.</p>
34
</ul><p>Ещё одна особенность - сложно искать информацию о Compose. На том же Stack Overflow большая часть советов относится к старой версии. Конечно, разработчики исправят эти проблемы, а пока можно использовать несколько лайфхаков.</p>
35
<ul><li>Сейчас лучший источник по теме - официальная<a>документация</a>.</li>
35
<ul><li>Сейчас лучший источник по теме - официальная<a>документация</a>.</li>
36
<li>Посмотрите<a>плейлист</a>на YouTube - там есть неочевидные нюансы некоторых функций Compose.</li>
36
<li>Посмотрите<a>плейлист</a>на YouTube - там есть неочевидные нюансы некоторых функций Compose.</li>
37
<li>Новичкам пригодится<a>видеообзор</a>бета-версии.</li>
37
<li>Новичкам пригодится<a>видеообзор</a>бета-версии.</li>
38
<li>Много практической информации - в официальном<a>руководстве</a>от Google. Хотя и там есть устаревшие советы.</li>
38
<li>Много практической информации - в официальном<a>руководстве</a>от Google. Хотя и там есть устаревшие советы.</li>
39
</ul><p><strong>Где читать:</strong>в <a>блоге</a>комьюнити ProAndroidDev.</p>
39
</ul><p><strong>Где читать:</strong>в <a>блоге</a>комьюнити ProAndroidDev.</p>
40
<p><strong>Зачем читать:</strong>чтобы узнать о практических плюсах и минусах Kotlin Multiplatform - технологии, которая позволяет вести одну кодовую базу для iOS и Android.</p>
40
<p><strong>Зачем читать:</strong>чтобы узнать о практических плюсах и минусах Kotlin Multiplatform - технологии, которая позволяет вести одну кодовую базу для iOS и Android.</p>
41
<p>Разработчик популярного онлайн-редактора InVideo объяснил, почему они выбрали именно Kotlin Multiplatform. Причина проста: команда хотела "слезть" с иглы нескольких кодовых баз и сэкономить на разработке.</p>
41
<p>Разработчик популярного онлайн-редактора InVideo объяснил, почему они выбрали именно Kotlin Multiplatform. Причина проста: команда хотела "слезть" с иглы нескольких кодовых баз и сэкономить на разработке.</p>
42
<p>Выбирали из React Native, Flutter, C++ и Kotlin Multiplatform. Основная часть проекта - работа с низкоуровневой графикой, поэтому React Native и Flutter отмели сразу. Писать на C++, по опыту, было слишком дорого. В итоге выбор был между поддержкой двух кодовых баз (Swift + Kotlin) или Kotlin Multiplatform. InVideo выбрали KMP: приложение под Android всё равно пришлось бы писать на Kotlin - так почему бы сразу не сделать этот код универсальным.</p>
42
<p>Выбирали из React Native, Flutter, C++ и Kotlin Multiplatform. Основная часть проекта - работа с низкоуровневой графикой, поэтому React Native и Flutter отмели сразу. Писать на C++, по опыту, было слишком дорого. В итоге выбор был между поддержкой двух кодовых баз (Swift + Kotlin) или Kotlin Multiplatform. InVideo выбрали KMP: приложение под Android всё равно пришлось бы писать на Kotlin - так почему бы сразу не сделать этот код универсальным.</p>
43
<p><strong>Плюсы Kotlin Multiplatform:</strong></p>
43
<p><strong>Плюсы Kotlin Multiplatform:</strong></p>
44
<ul><li>кроссплатформенная разработка;</li>
44
<ul><li>кроссплатформенная разработка;</li>
45
<li>высокая производительность;</li>
45
<li>высокая производительность;</li>
46
<li>привычный язык для Android-разработчиков;</li>
46
<li>привычный язык для Android-разработчиков;</li>
47
<li>совместимость с Java, Swift и Objective-C;</li>
47
<li>совместимость с Java, Swift и Objective-C;</li>
48
<li>есть все основные библиотеки;</li>
48
<li>есть все основные библиотеки;</li>
49
<li>в будущем можно использовать этот код ещё и для других платформ.</li>
49
<li>в будущем можно использовать этот код ещё и для других платформ.</li>
50
</ul><p><strong>Минусы Kotlin Multiplatform:</strong></p>
50
</ul><p><strong>Минусы Kotlin Multiplatform:</strong></p>
51
<ul><li>iOS-разработчикам придётся учить новый язык;</li>
51
<ul><li>iOS-разработчикам придётся учить новый язык;</li>
52
<li>интерфейс для каждой платформы всё равно придётся создавать отдельно;</li>
52
<li>интерфейс для каждой платформы всё равно придётся создавать отдельно;</li>
53
<li>хотелось бы больше библиотек.</li>
53
<li>хотелось бы больше библиотек.</li>
54
</ul><p><strong>Где читать:</strong>в <a>блогe Amazon</a>.</p>
54
</ul><p><strong>Где читать:</strong>в <a>блогe Amazon</a>.</p>
55
<p><strong>Зачем читать:</strong>чтобы узнать, почему подразделение Amazon выбрало Kotlin и что из этого получилось.</p>
55
<p><strong>Зачем читать:</strong>чтобы узнать, почему подразделение Amazon выбрало Kotlin и что из этого получилось.</p>
56
<p>В марте 2020 года в Prime Video появилась функция, для которой нужно было создать новые микросервисы. Раньше команда работала на Java, но для этой задачи они выбрали Kotlin - решили, что так будет меньше кода, а работа пойдёт быстрее.</p>
56
<p>В марте 2020 года в Prime Video появилась функция, для которой нужно было создать новые микросервисы. Раньше команда работала на Java, но для этой задачи они выбрали Kotlin - решили, что так будет меньше кода, а работа пойдёт быстрее.</p>
57
<p>У разработчиков уже был опыт с Kotlin, но они всё равно решили внедрять новый язык постепенно и для начала имплементировали тест уже существующего пакета Java в Kotlin. Всё получилось, и команда начала экспериментировать с подключением нового языка. Больше всего разработчиков зацепили классы данных, расширения, Null-безопасность и функции высшего порядка.</p>
57
<p>У разработчиков уже был опыт с Kotlin, но они всё равно решили внедрять новый язык постепенно и для начала имплементировали тест уже существующего пакета Java в Kotlin. Всё получилось, и команда начала экспериментировать с подключением нового языка. Больше всего разработчиков зацепили классы данных, расширения, Null-безопасность и функции высшего порядка.</p>
58
<p>На следующем этапе подключили новые инструменты: Detekt, ktlint, MockK и Koin, а также написали свою библиотеку AWSSSMChaosRunner для хаос-тестирования.</p>
58
<p>На следующем этапе подключили новые инструменты: Detekt, ktlint, MockK и Koin, а также написали свою библиотеку AWSSSMChaosRunner для хаос-тестирования.</p>
59
<p>Переход на Kotlin прошёл гладко, а внутренний опрос показал, что главные преимущества Kotlin - лёгкость работы, лаконичность и хорошая читаемость кода.</p>
59
<p>Переход на Kotlin прошёл гладко, а внутренний опрос показал, что главные преимущества Kotlin - лёгкость работы, лаконичность и хорошая читаемость кода.</p>
60
<p>Хотите изучить новый язык программирования или неизвестный фреймворк? Выбирайте подходящий среди<a>курсов Skillbox</a>.</p>
60
<p>Хотите изучить новый язык программирования или неизвестный фреймворк? Выбирайте подходящий среди<a>курсов Skillbox</a>.</p>
61
<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
61
<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>