Kotlin
1.98K subscribers
203 photos
70 videos
18 files
299 links
Подборки полезного материала по Kotlin. По всем вопросам @evgenycarter
Download Telegram
Как сделать Android-приложение быстрее и эффективнее?

Узнайте на открытом вебинаре 18 сентября в 20:00 мск, где мы разберем:

- как ProGuard/R8 минимизируют, оптимизируют и убирают неиспользуемый код;
- сравнение эффективности ProGuard и R8;
- как внедрять ProGuard/R8 в существующий проект.

Урок особенно полезен для Android-разработчиков с опытом работы от 1 года.

Встречаемся в преддверии старта курса «Специализация Android Developer». Все участники вебинара получат специальную цену на обучение!

Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие https://vk.cc/cASYOY.
Как использовать 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
Kmplate

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

https://github.com/Tweener/kmplate

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

✍️ @kotlin_lib
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
Как создавать собственные DSL и применять их при разработке приложений?

Узнайте на открытом уроке «Возможности Kotlin для создания DSL на примере JsonBuilder»!

📅Дата и время: 31 октября, 19:00 МСК
🔗Записаться на событие: https://vk.cc/cDpPQa

🔍Что вас ждет:
- Погружение в назначение, особенности и практическое применение DSL.
- Практика создания DSL на примере JsonBuilder.
- Обзор возможностей Kotlin, полезных для создания DSL.

👨‍🏫Урок проведёт Евгений Непомнящий, преподаватель OTUS и опытный старший разработчик с многолетним стажем.

📚Это занятие будет полезно всем, кто использует Kotlin или хочет изучать этот язык.

🎓Урок приурочен к старту курса «Kotlin Backend Developer. Professional». После занятия вы сможете продолжить обучение по специальной цене и даже в рассрочку!

➡️ Регистрируйтесь прямо сейчас, чтобы не пропустить это интересное мероприятие: https://vk.cc/cDpPQa

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
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
This media is not supported in your browser
VIEW IN TELEGRAM
Kotlin Beginner Tutorials Hindi | Complete Series

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


✍️ @kotlin_lib
🔥Пишем веб-сервис на Java, а затем преобразуем его в Kotlin за 1 урок

Приглашаем на бесплатный вебинар, он будет интересен Java-разработчикам и бэкенд-разработчикам на Kotlin!

Дата: 12 ноября в 19:00 МСК


В первой части занятия мы познакомимся с основными концепциями:
• null-безопасность;
• сокращение шаблонного кода;
• лямбда-выражения.

Во второй части — напишем веб-сервис с CRUD-операциями на Java, а затем преобразуем его в Kotlin. Так вы увидите, как синтаксис Kotlin упрощает код.

📌Занятие проведёт Сергей Прощаев — ведущий инженер и Java-разработчик в крупной компании

После вебинара вы сможете приобрести курс «Kotlin Backend Developer. Professional», который доступен в рассрочку!

👉🏻Записаться на событие

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
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
Как максимально выгодно продавать рекламу в приложении?

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

Например, в Рекламной сети Яндекса свыше 300 000 прямых рекламодателей из 30 индустрий и более 1000 факторов для подбора рекламы. А с помощью их собственной платформы медиации можно показывать самые выгодные объявления из нескольких рекламных сетей.

Теперь к РСЯ легко подключить приложения на React Native, а не только на iOS, Android, Flutter или Unity. Интеграция SDK простая, а если что-то пойдёт не так, поможет техподдержка, которая на связи 24/7.

Узнать больше о РСЯ и начать зарабатывать на показах рекламы можно по ссылке.
Антипаттерн: Остановите утечку 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
Twine

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

https://github.com/msasikanth/twine

✍️ @kotlin_lib
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
Kotlin вместо bash. Прокачиваем автоматизацию на сервере

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

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

✍️ @kotlin_lib