Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
471 - Telegram Web
Telegram Web
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
Applying the State Pattern in Kotlin

Когда наши объекты ведут себя по-разному в различных состояниях, может быть полезно применить Шаблон состояния (State Pattern). Сегодня мы рассмотрим код, который мог бы извлечь выгоду из этого шаблона, применим традиционный Шаблон состояния из классической книги "Gang of Four Design Patterns", а затем увидим, как можем его модернизировать и сократить количество вспомогательного кода, используя некоторые особенности языка Kotlin.

00:00 Introduction
00:16 Example Code
02:16 Classic State Pattern
06:50 Modernized State Pattern in Kotlin
11:58 Wrap-up

https://www.youtube.com/watch?v=pSx6yb1QLdk

✍️ @kotlin_lib
👍5
Улучшаем автокомплит в смешанных Java-Kotlin проектах

Честно говоря, не знаю, нужно ли ставить тэг «перевод» на собственную статью.

Ну ок, поставил.

Всем привет! Недавно я наткнулся на статью, где описывается, как можно убрать мешающие варианты из автокомплита в Android Studio. Этот способ касается только классов — с методами у меня так же не получилось, и тогда мне пришла идея.

Как-то раз я дизайнил публичный API Kotlin-библиотеки, чтобы клиенты на Java могли пользоваться ей бесшовно, как и клиенты на Kotlin (ну, насколько это возможно). Если вы используете Kotlin, то, возможно, знаете, что для data-классов компилятор кучу всего генерирует за нас, в том числе функции componentN() для деструктуризации параметров primary-конструктора.

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

original https://proandroiddev.com/better-kotlin-java-auto-complete-d0fd7e8a9355

✍️ @kotlin_lib
👍1
Что нового в Kotlin 2.1.0

Новые возможности языка: добавлены условия-гварды в конструкции when с объектом, нелокальные break и continue, а также многодолларовая интерполяция строк.

Обновления компилятора K2: улучшения проверок и реализация kapt.

Kotlin Multiplatform: базовая поддержка экспорта в Swift, стабильный Gradle DSL для опций компилятора.

Kotlin/Native: улучшенная поддержка iosArm64.

Kotlin/Wasm: поддержка инкрементной компиляции.

Gradle: повышена совместимость с новыми версиями Gradle и плагином Android.

Документация: значительные улучшения.


https://kotlinlang.org/docs/whatsnew21.html

✍️ @kotlin_lib
👍41
RxJava to Kotlin Coroutines: Полное руководство по миграции.

Как разработчик, работающий с большими устаревшими приложениями, я имел удовольствие (а иногда и трудности) руководить модернизацией крупных кодовых баз, которые активно использовали RxJava для реактивного программирования. Эти усилия по модернизации в значительной степени были сосредоточены на преобразовании кода RxJava в эквиваленты на основе Coroutines и Flow. Во время этих миграций я многому научился и собираюсь поделиться всем, что узнал, в этой статье.

https://itnext.io/rxjava-to-kotlin-coroutines-the-ultimate-migration-guide-d41d782f9803

✍️ @kotlin_lib
👍2
Миграция конфигурации сборки с Groovy на Kotlin

Что такое DSL?
DSL (Domain-Specific Language) — это язык программирования, который спроектирован и оптимизирован для решения задач в конкретной области или для определенного класса задач. DSL build.gradle предоставляет разработчикам удобный способ определения настроек проекта и управления ими, используя специфический синтаксис, который Gradle понимает и обрабатывает. Этот DSL позволяет создавать мощные и гибкие сценарии сборки, которые могут быть легко настраиваемы для разных проектов и задач.

С Android Studio Giraffe Kotlin DSL становится новым стандартом для Gradle-скриптов в разработке Android. Когда вы создаете новые проекты, используя встроенные шаблоны IDE, вам будут предоставлены файлы Kotlin DSL вместо файлов Gradle на основе Groovy.

https://habr.com/ru/companies/ppr/articles/765544/

✍️ @kotlin_lib
👍5
2025/07/13 15:40:21
Back to Top
HTML Embed Code: