Kotlin
2.16K subscribers
277 photos
123 videos
18 files
400 links
Подборки полезного материала по Kotlin. По всем вопросам @evgenycarter
Download Telegram
Автоматизируем рутину в Android разработке: плагин для создания шаблонного кода на примере создания -api -impl

Меня зовут Алексей, я ведущий разработчик платформенной команды и по совместительству лид архитектурной компетенции в проекте Альфа-Бизнес. Сегодня я расскажу, как можно автоматизировать повторяющуюся работу в андроид-разработке при помощи плагина для Android Studio.

https://habr.com/ru/companies/alfa/articles/799873/

✍️ @kotlin_lib
👍1
Kotlin под капотом: Нюансы использования аннотаций в Kotlin

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

https://proandroiddev.com/kotlin-under-the-hood-the-nuances-of-using-annotations-in-kotlin-a58f0b2b60ac?gi=6ff112513d51

✍️ @kotlin_lib
👍3
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