HTML Diff
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>