Kotlin
2.17K subscribers
270 photos
123 videos
18 files
393 links
Подборки полезного материала по Kotlin. По всем вопросам @evgenycarter
Download Telegram
Marcin_Moskala_Effective_Kotlin_Best_Practices_Kt_Academy_2019.pdf
9.7 MB
Effective Kotlin: Best practices
Автор: Marcin Moskala (2019)

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

В книге раскрыты следующие темы:
✔️Безопасность;
✔️Читаемость;
✔️Переиспользуемость;
✔️Дизайн абстракций;
✔️Создание объектов.

✍️ @kotlin_lib
👍3
Kotlin: Иллюстрированное руководство
Готовы ли вы изучить программирование на Kotlin?

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

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

https://typealias.com/start/


✍️ @kotlin_lib
👍4
Асинхронные моки. Создаем и тестируем telegram-бот на Kotlin

Любая асинхронность повышает уровень тревожности при разработке автоматических тестов. Особенно в ситуации, когда нужно выполнить проверку корректности работы системы, основанной на графе состояний со взаимодействием с внешним API через Flow. Примером такой системы может быть Telegram-бот, построенный на диалоге с внешним пользователем. В этой статье мы с вами создадим простой бот на Kotlin (с поддержкой многоязычности) и последовательно разберем возможные способы использования асинхронных моков и тестов для Flow с использованием библиотеки mockk и типобезопасной библиотеки для взаимодействия с API Telegram на Kotlin.

✍️ @kotlin_lib
👍2
How to move View with Keyboard in Android using Kotlin

https://johncodeos.com/move-view-with-keyboard-in-android-using-kotlin/

✍️ @kotlin_lib
👍3
Media is too big
VIEW IN TELEGRAM
Расширяем возможности kotlinx.serialization с помощью Arrow Meta

На проекте, использующим Kotlin, хочется работать с Kotlin-first библиотеками. Например, хочется вместо Jackson использовать kotlinx.serialization. К сожалению, перевести существующий проект на любимые технологии не всегда возможно из-за разницы в подходах или отсутствии фич. Например, global naming strategy.

Можно ли обойти ограничения библиотеки и добавить недостающее?
Можно! С помощью Arrow Meta.
Arrow Meta — это библиотека, позволяющая писать плагины для компилятора, линтеры и другие преобразователи исходного кода.

В данном докладе мы поговорим о настройке проекта, возможностях библиотеки и разберём реальный use-case добавления global naming strategy в kotlinx.serialization. Данный доклад будет интересен продвинутой аудитории, преимущественно использующей Kotlin для backend-разработки.

✍️ @kotlin_lib
👍1
👍1
Всех поздравляем с Днем программиста!!!
👍12🔥6👏1
Что такое Kotlin SAM?

Если вы когда-нибудь писали на Kotlinbe, то наверняка слышали о его функции SAM, а именно о функциональных интерфейсах. Эта функция используется во многих библиотеках, например, в Ktor. Таким образом, изучение того, что это такое и как его использовать, является обязательным, если не сказать - необходимым, для нас, разработчиков.

https://oguzhanaslann.medium.com/what-is-kotlin-sam-c6cfee64b00d

✍️ @kotlin_lib
👍4
Kotlin Algorithms and Design Patterns

В этом репозитории приведены наиболее распространенные алгоритмы, структуры данных и паттерны проектирования, написанные на языке программирования Kotlin.

Весь код разбит по отдельным пакетам:

ru.sorting - алгоритмы сортировки
ru.search - алгоритмы поиска
ru.structures - структуры данных (списки, массивы, стэк, очередь, бинарное дерево и др.)
design-patterns - паттерны проектирования
ru.other - другие алгоритмы (расстояние Левенштейна, алгоритм Кнута Морриса Пратта и т.д.)
Для каждого файла с кодом сделаны тесты, которые находятся в директории test/kotlin

✍️ @kotlin_lib
👍4
KMP, iOS Developers and Production

Kotlin Multiplatform (или KMP, KMM и т. п.) уже несколько лет широко используется в продакшен приложениях. JetBrains создала веб-сайт со списком компаний, которые в настоящее время используют KMP. Далее

✍️ @kotlin_lib
👍3
👍1
An Illustrated Guide • Scopes and Scope Functions

https://typealias.com/start/kotlin-scopes-and-scope-functions/

✍️ @kotlin_lib
👍1
Seal — загрузчик аудио или видео файлов для Android в цветах Material You. Умеет скачивать видео или аудио со стриминговых платформ (в том числе плейлисты целиком), встраивать субтитры в скачиваемое видео, динамически менять цвета в UI в соответствии с заветами Material Design 3. Написан на Kotlin.

https://github.com/JunkFood02/Seal

✍️ @kotlin_lib
👍4
Почему исключения в Kotlin Coroutines это сложно и как с этим жить?

Обработка исключений, вероятно одна из самых сложных частей, когда вы изучаете корутины в Kotlin. В этой статье, я расскажу о причинах такой сложности и объясню некоторые ключевые моменты для хорошего понимания темы. После этого вы сможете реализовать правильную инфраструктуру для обработки ошибок в своем собственном приложении.

original

✍️ @kotlin_lib
👍2
RW_Kotlin.pdf
108 KB
Шпаргалка по kotlin

✍️ @kotlin_lib
👍7🔥1🤨1
Dotlin — это компилятор Kotlin в Dart. Цель состоит в том, чтобы интегрировать Kotlin как язык в экосистему Dart, сочетая лучшее из обоих миров: язык Kotlin и его стандартную библиотеку с экосистемой и системой сборки Dart.

Dotlin использует IR (Immediate Representation) компилятор Kotlin и на его основе генерирует исходный код Dart. Правда, на данный момент поддерживаются не все функции Kotlin.

Support all Kotlin language features
Support the Kotlin standard library
Allow the use of any library written in Dart by generating external Kotlin APIs
Generate code that is still readable and pleasant to use for Dart consumers
Integrate with Dart's build system (e.g. use pubspec.yaml to define dependencies)
Create an IntelliJ/Fleet plugin

https://github.com/dotlin-org/dotlin

✍️ @kotlin_lib
🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Курс по корутинам

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

https://www.youtube.com/playlist?list=PL0SwNXKJbuNmsKQW9mtTSxNn00oJlYOLA

✍️ @kotlin_lib
👍82👎1🔥1🤔1🤮1