Kotlin
2.16K subscribers
276 photos
123 videos
18 files
399 links
Подборки полезного материала по Kotlin. По всем вопросам @evgenycarter
Download Telegram
Mastery on Invoke Kotlin

Оператор invoke в Kotlin - это мощная функция, которая может упростить код и улучшить его читаемость. Давайте разберемся в деталях и изучим его на реальном примере.

https://medium.com/@dugguRK/mastery-on-invoke-kotlin-8f1ebb4828d0

✍️ @kotlin_lib
👍2
Перед вами — книга-метод, книга-наставник, способная перевернуть мышление и помочь выработать осознанный подход к работе и жизни в целом путём высокоуровневого планирования.

В своей второй книге IT-архитектор, методолог, педагог Александр Бындю раскрывает наиболее эффективный на сегодняшний день метод стратегического планирования, получивший название «Карта гипотез». Карта учит, как достигать намеченной цели через гипотезы, и служит навигатором на этом пути. В основу книги легли годы практики, и с уверенностью можно сказать, что Карта гипотез позволяет создать стратегию достижения для самых амбициозных целей.

У Карты гипотез нет ограничений по области применения или роли пользователя — она будет полезна в самых разных ситуациях, от личного планирования до планирования работы огромной компании. Автор надеется, что его метод, которому посвящена эта книга, послужит вашему благополучию во всех сферах жизни.

Ознакомиться с книгой
Производительность Android приложений Kotlin в сравнении с С++ или цена управления памятью

Всем привет! В процессе учебы заинтересовался Android разработкой, в рамках одного из заданий необходимо провести исследование. Выбрал тему, которая давно разжигает мое любопытство, а именно производительность кода на Kotlin в сравнении с С++.

Поиск в русскоязычном интернете не дал почти ничего, всё, так или иначе сводится к перемешиванию, примитивных типов в цикле – пузырьковая сортировка и другие классические алгоритмы. В целом такие эксперименты приводят к выводу о том, что использование JNI имеет слишком высокую стоимость и Java работает быстрее.

https://habr.com/ru/articles/732746/

✍️ @kotlin_lib
🔥4
WhosNext

Мультиплатформенный таймер Kotlin.
Простое приложение, которое позволит вам узнать, когда пора менять вратаря в футбольной игре с друзьями.

https://github.com/GuilhE/WhosNext

✍️ @kotlin_lib
👍5
Осознанная оптимизация Compose

Compose — относительно молодая технология написания декларативного UI. Множество разработчиков даже не предполагают, что пишут неоптимальный код в такой критически важной части, и впоследствии это приводит к неожиданной низкой производительности и проседании метрик.

Наша команда Ozon Seller также столкнулась с этой проблемой. Мы решили собрать воедино все советы и наработки по написанию оптимизированного Compose-кода. Активное применение этих советов при оптимизации существующих экранов и написании новых существенно улучшило наши метрики: длительность лага по отношению к длительности скролла (hitch rate; чем меньше, тем лучше) экранов со списками упала в среднем с 15-19 % до 5-7 % (на 90-м перцентиле). Все эти советы и наработки мы описали в этой статье. Она будет полезна и начинающим, и опытным разработчикам, в ней подробно описаны оптимизации и механизмы Compose, а также рассказано про слабо задокументированные особенности и исправления ошибок, которые есть в других статьях. Давайте же начнём.

https://habr.com/ru/companies/ozontech/articles/742854/

✍️ @kotlin_lib
👍4
Осознанная оптимизация Compose 2: В борьбе с композицией

Jetpack Compose постоянно развивается, открывая перед разработчиками новые горизонты для оптимизации. С момента нашего последнего обзора, мы добились значительного прогресса, сократив задержки при скролле с 5-7% до нуля. В этом материале мы поделимся свежими находками и передовыми практиками в оптимизации Compose. Чтобы максимально углубиться в тему, рекомендуем ознакомиться с первой частью.

https://habr.com/ru/articles/796437/

✍️ @kotlin_lib
🔥2
ViewModel + Kotlin Multiplatform. Пробуем нативное решение

Всем привет! На связи Анна Жаркова, руководитель группы мобильной разработки в компании Usetech. Компания Google объявили о своем интересе к Koltin Multiplatform на прошлом Google I/O 2023. Следом был обозначен вектор развития имеющихся решений архитектурных библиотек Jetpack для поддержки KMP. Буквально считанные часы назад компания Google опубликовали ожидаемую многими новинку, а именно ViewModels из библиотеки Lifecycle с поддержкой API Kotlin Multiplatform. И сейчас мы с вами проверим, насколько это удобно, что уже готово, а что нужно доработать.

https://habr.com/ru/companies/usetech/articles/802111/

✍️ @kotlin_lib
👍2
Kotlin под капотом: как избавиться от рекурсии

Недавно я прочитал статью об оптимизации хвостовой рекурсии в kotlin через ключевое слово tailrec. Мне стало интересно, как это реализовано под капотом и я решил провести небольшой эксперимент.

https://habr.com/ru/articles/780232/

✍️ @kotlin_lib
👍3
Исключения для control flow в Kotlin

Использование исключений для управления потоком управления является плохой практикой во многих языках программирования и считается анти-паттерном. Такой подход часто сравнивают с операторами go-to в языках более низкого уровня. В частности, в Kotlin нет концепции проверяемых исключений, что делает ситуацию еще более сложной и непредсказуемой.

Исключения лучше всего использовать для проверки ошибок программиста во время выполнения, таких как недопустимые аргументы, а также для завершения работы приложения со значимым сообщением об ошибке и указанием места, когда достигается неожиданное состояние. Kotlin элегантно справляется с потоком управления с помощью запечатанных типов, операторов when и умных приведений.

https://ralf-wondratschek.com/blog/exceptions-for-control-flow

✍️ @kotlin_lib
👍2
Построение графиков финансовых данных в Kotlin с помощью Kandy

Я хочу показать простой рабочий процесс с финансовыми данными - загрузка, анализ и визуализация - с использованием инструментов Kotlin для анализа данных.

https://medium.com/@andrejkingsley/plotting-financial-data-in-kotlin-with-kandy-66757aef05ef

✍️ @kotlin_lib
👍6
Kotlin Faker — генератор фейковых данных

Порт популярного гема ruby faker, написанного на kotlin. Генерирует реалистично выглядящие поддельные данные, такие как имена, адреса, банковские реквизиты и многое другое, которые могут быть использованы для тестирования и анонимизации данных.

https://github.com/serpro69/kotlin-faker

✍️ @kotlin_lib
👍6
Navigating the Waters of Kotlin Multiplatform: Exploring Navigation Solutions

Эта запись в блоге не ставит целью сравнение различных навигационных библиотек; вместо этого она предлагает взглянуть на мой личный путь к навигационному решению. Цель не в том, чтобы дать сравнительный анализ различных библиотек, а в том, чтобы поделиться своим процессом принятия решений.

https://proandroiddev.com/navigating-the-waters-of-kotlin-multiplatform-exploring-navigation-solutions-eef81aaa1a61

✍️ @kotlin_lib
👍2
Media is too big
VIEW IN TELEGRAM
Обсуждение от Okko — Зачем мне Kotlin в iOS-разработке? Я только Swift выучил!

Пора ли iOS-разработчикам учить Kotlin?

JetBrains активно продвигает KMM. Но спросил ли кто-то iOS-разработчиков, что они об этом думают? Давайте мы и спросим.

Собрали вместе iOS-экспертов и знатоков KMM и с ними обсудили:
— Cможет ли Kotlin Multiplatform «ухватить свой кусок пирога» в мобильной разработке или даже заменить Swift в нативе подчистую?
— А может, это еще одна страшилка из серии «Flutter заменит всё»?
— Или всё-таки начинать учить Kotlin прямо сейчас, чтобы не терять свою актуальность на рынке?

источник

✍️ @kotlin_lib
👍3
Курс Kotlin Coroutines

Бесплатный курс по корутинам от Android Broadcast
#1 Что такое корутина. Важные особенности
#2 CoroutineContext. Настраиваем корутины
#3 Жизненный цикл корутины. CoroutineScope. Structured Concurrency
#4 Обработка ошибок в корутинах
#5 Каналы. Зачем если есть Flow?
#6 Синхронизация между корутинами
#7 Kotlin Coroutines Flow. StateFlow. SharedFlow
#8 Корутины в Android. Специальные API
Android Broadcast. Все об Андроид разработке

источник

✍️ @kotlin_lib
👍9🤮1👀1