Kotlin
2.16K subscribers
275 photos
123 videos
18 files
398 links
Подборки полезного материала по Kotlin. По всем вопросам @evgenycarter
Download Telegram
Kotlin Design Patterns: Flyweight

Шаблон в основном используется для балансировки использования памяти в вашем приложении. Речь идет о повторном использовании объектов (заметьте, я использовал слово 'объект', а не 'класс'). Вместо создания новых объектов каждый раз, у вас есть пул похожих объектов, которые можно повторно использовать."

https://proandroiddev.com/kotlin-design-patterns-flyweight-08aa2be80d80?gi=c636ae7e3bc3

✍️ @kotlin_lib
👍2
Leveraging Lazy Modules and Background Loading in Kotlin with Koin

https://blog.kotzilla.io/lazy-modules-in-kotlin-with-koin

✍️ @kotlin_lib
Как использовать ресурсы в Compose Multiplatform

Ресурсы являются важной частью любого мобильного приложения, они включают в себя отрисовки, шрифты, текстовые файлы и многое другое. С появлением Compose Multiplatform у нас появился компонент ресурсов Compose, но он был экспериментальным и претерпел несколько изменений в разных версиях. Теперь, когда вышла следующая основная версия Compose, а именно 1.6.0-beta01, в разделе ресурсов появились некоторые важные изменения. Давайте рассмотрим их, а также то, как перенести и использовать новый способ доступа к ресурсам.

https://proandroiddev.com/how-to-use-resources-in-compose-multiplatform-77a6552b505d

✍️ @kotlin_lib
Как использовать Coil в Compose Multiplatform

Coil - это мощная, быстрая и легкая библиотека для загрузки изображений, которую многие разработчики Android используют уже много лет. После появления compose multiplatform сообщество представило несколько библиотек загрузки изображений с открытым исходным кодом, таких как Kamel и Compose Image Loader.
Оставалась возможность использовать coil с помощью expect и actual, но только на Android.

https://proandroiddev.com/coil-for-compose-multiplatform-5745ea76356f

✍️ @kotlin_lib
👍3
Kmplate

Это шаблон для легкого создания нового Kotlin Multiplatform проекта, основанного на Чистой Архитектуре с модульной структурой по функциям.

https://github.com/Tweener/kmplate

✍️ @kotlin_lib
👍2
Koin: как сделать свой DI за 10 минут

Привет, меня зовут Иван Курак, я Android-разработчик приложения Ozon Job. В этой статье мы реализуем свой механизм, на котором построен Koin. Тем самым мы пройдём путь, который проходили его авторы при решении проблемы построения собственного DI.

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

Дополнительная (но от того не менее важная) цель статьи — показать, что базовый механизм, на котором построен Koin, не такой уж и страшный :)

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

✍️ @kotlin_lib
👍5
Написание API Kotlin Multiplatform, совместимых со Swift

Серия из 9 статей о том, как создавать библиотеки Kotlin Multiplatform, которые хорошо работают со Swift.

https://medium.com/@aoriani/list/writing-swiftfriendly-kotlin-multiplatform-apis-c51c2b317fce

✍️ @kotlin_lib
👍21
Выпуск моего первого настоящего приложения на Kotlin Multiplatform

Я создал «OctoMeter», полностью функциональное приложение на Kotlin Multiplatform, с нуля всего за месяц. Благодаря общему пользовательскому интерфейсу и бизнес-логике, мое приложение теперь работает на настольных компьютерах, Android и iOS.

https://callmeryan.medium.com/releasing-my-first-true-kotlin-multiplatform-app-60d81e739eb0

✍️ @kotlin_lib
👍8
Под капотом Kotlin: изучаем конструкторы и блоки инициализации

Задумывались ли вы когда-нибудь, как работают конструкторы и блоки инициализации в Kotlin на низком уровне? В этом блоге мы погрузимся в эту тему.

Прежде чем перейти к деталям, давайте сначала разберёмся, что такое конструкторы и блоки инициализации. В Kotlin существуют два основных типа конструкторов: первичный конструктор и вторичные конструкторы.

https://medium.rip/@abhaysingbhosale123/kotlin-under-the-hood-exploring-constructors-and-init-blocks-869fc1f85a8e

✍️ @kotlin_lib
👍3
Kotlin KSP — как автоматизировать всё на свете

Недавно Google выпустила отличное обновление для автоматизации генерации шаблонного кода. Конечно, речь идет о Kotlin Symbol Processing. За годы использования Java Annotation Processing, KAPT, а теперь и KSP, я видел множество статей о том, как создать свой первый генератор, аннотацию и так далее. Часто предлагают что-то вроде: 'Давайте сгенерируем геттеры и сеттеры для наших моделей в качестве практического упражнения.' Этого более чем достаточно, чтобы попробовать технологию, но мне всегда хотелось чего-то большего. Реального примера, который действительно помог бы в проекте. И в одном из своих проектов я столкнулся с идеальной задачей, о которой расскажу сегодня. Мы поговорим об автоматизации описаний навигации в библиотеке Compose Navigation.

https://proandroiddev.com/kotlin-ksp-how-to-automate-everything-in-the-world-08e186ae1ec9

✍️ @kotlin_lib
👍1
Media is too big
VIEW IN TELEGRAM
Организация кода в проекте | В какой пакет положить Kotlin класс

0:00 Введение
1:16 Куда можно класть Kotlin файлы
2:42 Интеграция
3:39 Как разделить код по Gradle модулям
6:23 Несколько папок с исходным кодом
7:42 Пакеты с кодом
14:03 Выделение кода в AAR/JAR библиотеки
15:37 Заключение

источник

✍️ @kotlin_lib
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Kotlin Beginner Tutorials Hindi | Complete Series

На данный момент на youtube доступно 41 видео


✍️ @kotlin_lib
👍4😁2
Kotlin под капотом: Exploring Objects, Companion Objects, and Annotations: @JvmStatic, @JvmField, @JvmOverloads

https://proandroiddev.com/kotlin-under-the-hood-exploring-objects-companion-objects-and-annotations-jvmstatic-71e1bf1128df

✍️ @kotlin_lib
👍3
Антипаттерн: Остановите утечку Kotlin Flow Collectors в вашей ViewModel Android

Статья обсуждает антипаттерн в разработке на Android, связанный с использованием Flow и ViewModel в Kotlin. Она затрагивает проблему "утечки" коллекторов, которая возникает, если коллекты управляются неправильно, что может привести к утечкам памяти и неэффективному использованию ресурсов. Автор предлагает рекомендации по предотвращению этой проблемы через правильное управление коллекторами flow в жизненном цикле ViewModel.

https://sachankapil.medium.com/anti-pattern-stop-leaking-kotlin-flow-collectors-in-your-android-viewmodel-b85d5b09b987

✍️ @kotlin_lib
👍4🥴3
Twine

Мультиплатформенный RSS-ридер, построенный с использованием Kotlin и Compose

https://github.com/msasikanth/twine

✍️ @kotlin_lib
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Бесплатное IT-образование в 2024

Отобрали для вас полезные телеграм-каналы, которые помогут освоить программирование и другие IT-направления

Выбирайте нужное и подписывайтесь:

👩‍💻 С/С++: @Cpportal
📱 GitHub: @git_developer
🤓 Книги айти: @portalToIT
👩‍💻 Golang: @juniorGolang
👩‍💻 PHP: @PHPortal
👩‍💻 Моб. разработка: @MobDev
👩‍💻 Java: @Java_Iibrary
👩‍💻 Frontend: @FrontendPortal
⚙️ Backend: @BackendPortal
👩‍💻 Python: @PythonPortal
👩‍💻 C#: @KodBlog
🖥 Базы Данных & SQL: @SQL
👩‍💻 Разработка игр: @GameDevgx
👩‍💻 DevOps: @loose_code
🖥 Data Science: @DataSciencegx
🤔 Хакинг & ИБ: @cybersecinform
🐞 Тестирование: @QAPortal
📱 Маркетинг: @MarketingPortal
🖥 Дизайн: @PortalToDesign

➡️ Сохраняйте себе, чтобы не потерять
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
Kotlin вместо bash. Прокачиваем автоматизацию на сервере

Для решения задач автоматизации рутинных процессов для системных администраторов и DevOps (которые, кроме всего прочего, нередко занимаются созданием сборочных скриптов, которые могут не только подготовить базовую среду выполнения, но и могут взаимодействовать с другими системами для обеспечения полного цикла CI/CD) чаще всего используются или bash-сценарии (zsh, ash или язык любой другой оболочки) или python. Первое решение косвенно используется и в описании Dockerfile, поскольку сценарий исполняемых команд принципиально ничем не отличается от запуска скрипта в какой-либо shell, второй подход чаще ассоциируется с автоматизацией, связанных с взаимодействием с хранилищами данных — например, для создания учетных записей в LDAP или базе данных, отправки уведомлений и тд.

https://habr.com/ru/companies/otus/articles/742050/

✍️ @kotlin_lib
👍5
«Приключение на 20 минут: взял и поменял язык». Личный опыт перехода на Kotlin

Зовут меня Артемий, я разработчик в компании i-Digital. Еще в начале своего карьерного пути выбрал для себя основным языком Python и развивался по большей части в нем. В какой-то момент начал преподавать его молодому поколению разработчиков в частных студиях, а заодно брать студентов на личное обучение.

Я пришел в коммерческую разработку на определенный проект, который был реализован на Python, но основным стеком для компании являлся Kotlin. Несмотря на переход в разработку, я продолжен преподавать и занимаюсь этим до сих пор. Вот из такой стартовой позиции начнем наше повествование.

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

✍️ @kotlin_lib
👍6👎2