TGViewer
Channel Public Channel
Kotlin

Kotlin

@kotlin_lib

Подборки полезного материала по Kotlin. По всем вопросам @evgenycarter
Subscribers
2.05K
Photos
274
Videos
140
Links
409

Showing posts older than #656 · Back to latest

Older Posts 20 shown
Post #654 636
Building Responsive Applications with RxKotlin with Sarp Remzi Aksu

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


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

✍️ @kotlin_lib
YouTube Building Responsive Applications with RxKotlin with Sarp Remzi Aksu This talk delves into the principles of reactive programming and demonstrates how RxKotlin can be leveraged to manage asynchronous operations, handle data streams, and implement reactive architectures. Additionally, we will explore strategies for integrating…
  • 👍 1
Post #651 671
Deploying Kotlin Multiplatform at Google Workspace | Jason Parachoniak and Johan Bay

I like to talk you through some of the bugs we found and optimizations as we launched Kotlin Multiplatform to some users with Google Workspace. We'll talk through some bugs, performance issues and fixes with comparisons to ObjectiveC. As well as a Q/A with the developers of worked on this.

https://www.youtube.com/watch?v=5lkZj4v4-ks

✍️ @kotlin_lib
YouTube Deploying Kotlin Multiplatform at Google Workspace | Jason Parachoniak and Johan Bay Recording brought to you by American Express. https://americanexpress.io/kotlin-jobs I like to talk you through some of the bugs we found and optimizations as we launched Kotlin Multiplatform to some users with Google Workspace. We'll talk through some bugs…
Post #650 605
ktorgen - Kotlin + KSP + Ktor Client Code Generator

Легкий процессор Kotlin KSP для генерации клиентского кода Ktor с аннотациями

https://github.com/kingg22/ktorgen

✍️ @kotlin_lib
  • 🔥 2
Post #648 749
Проектирование Kotlin за пределами выводимого типа | Росс Тейт

Программисты на Kotlin регулярно опускают неинформативные типы в своих программах. Это делает разработку быстрее, код — легче для чтения, а сопровождение — менее трудоёмким. Но это также означает, что язык Kotlin должен быть спроектирован так, чтобы компиляторы могли надёжно принимать программы без этих типовых подсказок. Мы называем это выводом типов, но по определению вывод типов означает, что компилятор должен определить пропущенные типы так, чтобы программа успешно прошла проверку типов.

Но что, если мы можем определить, что программа безопасна, не определяя эти отсутствующие типы? Что, если мы можем сделать это даже тогда, когда таких типов в принципе не существует? И что, если мы можем сделать это эффективнее любого алгоритма вывода типов? Исследуя алгоритмы типизации следующего поколения для Kotlin, мы обнаружили, что можем эффективно выйти за пределы возможностей вывода и проверки типов. Мы разработали алгоритм «type-outference» (внешнего вывода типов), который эффективно определяет «согласованность типов» — свойство, которому удовлетворяют все программы, выводимые и проверяемые по типам (но не наоборот).

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

источник

✍️ @kotlin_lib
  • 👍 4
  • ❤ 1
Post #646 779
Kotlin: расширенные функции-расширения для набора инструментов старшего разработчика

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

Этот материал не о банальных toPx() или showToast() расширениях. Здесь мы углубимся в функции, которые способны существенно переработать ваш код, улучшить читаемость и сократить шаблонный код.

https://pbs009.medium.com/kotlin-custom-extension-functions-for-a-senior-developers-toolkit-110b061a8b43

✍️ @kotlin_lib
  • ☃ 1
Post #645 818
LitmusKt: новый инструмент для тестирования конкурентности в Kotlin

JetBrains Research представила LitmusKt - фреймворк для тестирования конкурентных сценариев в Kotlin. Он помогает исследователям и разработчикам проверять поведение многопоточных программ и JVM-памяти.

LitmusKt основан на идее litmus tests - небольших программ, моделирующих работу нескольких потоков и проверяющих возможные результаты исполнения. Такие тесты позволяют выявить неочевидные эффекты из-за reorderings, кешей и особенностей модели памяти.

Основные возможности LitmusKt:

- Поддержка JVM и Kotlin/Native;
- Встроенные модели памяти (Java, Kotlin, C11, и др.);
- Автоматическая генерация всех возможных интерлеавингов потоков;
- Проверка ожидаемых и неожиданных исходов;
- Интеграция с Kotlin DSL для лаконичного описания тестов.

Пример теста:


litmus("StoreLoad") {
thread("T1") { x = 1; r1 = y }
thread("T2") { y = 1; r2 = x }
outcome { r1 == 0 && r2 == 0 } // недопустимо по Java Memory Model
}


Этот пример проверяет, может ли оба потока одновременно прочитать нули, что нарушает JMM.

Инструмент можно использовать для анализа оптимизаций компилятора, JVM и нового Kotlin Memory Model.

https://blog.jetbrains.com/research/2025/10/litmuskt-concurrency-testing/

✍️ @kotlin_lib
  • 👍 8
Post #643 1.04K
Dissecting Kotlin: Surveying the Latest Stable and Experimental
Huyen Tue Dao

As Kotlin evolves, not only do the features available to us as developers evolve, but so does our understanding of what idiomatic Kotlin is, how we can best leverage new and old features and the semantic and performance impacts of our implementation choices.

In this session, we will examine some of the features released over the last couple of years in Kotlin, dive into their implementations, explore where we may need them and how we might use them, and discuss how these features fit into the broader ideas and themes of Kotlin as a language.

источник

✍️ @kotlin_lib
  • 👍 1
  • 👎 1
Post #641 963
Как обойти множественное наследование в Kotlin и Java. Агрегация и композиция

Предположим нужно наследоваться от многих абстрактных классов в котлин или в джаве. Как можно решить эту задачу? Давайте посмотрим на агрегацию и композицию

источник

✍️ @kotlin_lib
  • 👍 3
Post #640 890
Kotlin и Compose: многоплатформенные шаблоны для взаимодействия с iOS. Джон О'Рейли

В этом докладе я на реальных примерах расскажу о различных UI- и неUI-шаблонах, которые я применял за последние 5 лет при использовании KMP и CMP на iOS.

источник

✍️ @kotlin_lib
  • 👍 3
Post #639 1.17K
Model Context Protocol in Kotlin
Alexander Sysoev

MCP is an open protocol that standardizes how applications provide context to LLMs. We've created a Kotlin library that allows you to use this protocol and connect AI models to tooling, like IDEs. Now we will see how it works in practice.

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

✍️ @kotlin_lib
YouTube Model Context Protocol in Kotlin | Alexander Sysoev Recording brought to you by American Express. https://americanexpress.io/kotlin-jobs MCP is an open protocol that standardizes how applications provide context to LLMs. We've created a Kotlin library that allows you to use this protocol and connect AI models…
  • 👍 5
Post #638 1.25K
Разбор кода: пиксельная погода на Kotlin

Третий выпуск спецпроекта, в котором опытные разработчики Яндекса продолжают разбирать код стажёров и джунов и объяснять, что в нём сделано хорошо, а что ещё можно улучшить.

Сегодня под микроскоп попадает WeatherApp — приложение прогноза погоды с ретровизуалом. Арсений Носов, Android-разработчик в команде Алисы и Умных устройств, тщательно разбирает код и делится полезными советами по работе с ним.

Ссылка на код: https://github.com/ArkhamDm/WeatherApp

Readme кода на Kotlin: https://github.com/ArkhamDm/WeatherApp

✍️ @kotlin_lib
  • 👍 1
Post #637 1.26K
Как Android-разработчик в iOS погружался: мой опыт внедрения Kotlin Multiplatform

Продукт создавали нативно на каждую платформу, без пересечения кода.

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

В этом материале расскажу, почему мы остановились на KMP, как погружались в iOS c опытом в Android и как прошло внедрение этого фреймворка. Спойлер: быстрее и проще, чем мы думали.

https://habr.com/ru/companies/ru_mts/articles/923366/

✍️ @kotlin_lib
  • 👍 1
Post #636 1.08K
🚀 Подборка Telegram каналов для программистов

Системное администрирование, DevOps 📌

https://t.me/bash_srv Bash Советы
https://t.me/win_sysadmin Системный Администратор Windows
https://t.me/sysadmin_girl Девочка Сисадмин
https://t.me/srv_admin_linux Админские угодья
https://t.me/linux_srv Типичный Сисадмин
https://t.me/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://t.me/linux_odmin Linux: Системный администратор
https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux

1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://t.me/DevLab1C 1С:Предприятие 8
https://t.me/razrab_1C 1C Разработчик
https://t.me/buh1C_prog 1C Программист | Бухгалтерия и Учёт
https://t.me/rabota1C_rus Вакансии для программистов 1С

Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
https://t.me/pythonofff Python академия.
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python

Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах

GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
https://t.me/game_devv Все о разработке игр

Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов

БигДата, машинное обучение 📌
https://t.me/bigdata_1 Big Data, Machine Learning

Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
https://t.me/lifeproger Жизнь программиста. Авторский канал.

QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://t.me/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_2 Хакер Free

Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров

Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
https://t.me/matgeoru Математика | Геометрия | Логика

Excel лайфхак📌
https://t.me/Excel_lifehack

https://t.me/mir_teh Мир технологий (Technology World)

Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Post #635 1.02K
Когда Kotlin-объект перестаёт быть синглтоном

object в Kotlin - это стандартный способ объявления синглтона: единственного, глобально доступного экземпляра, который создаётся один раз на JVM.

На уровне языка это действительно гарантируется. Но в реальных проектах эта гарантия может быть нарушена - без ошибок компиляции и каких-либо заметных предупреждений.

Одна из распространённых причин - сериализация. Некоторые библиотеки во время десериализации создают новый экземпляр, нарушая равенство по ссылке и ломая общий разделяемый стейт.

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

https://proandroiddev.com/when-kotlin-object-stops-being-a-singleton-604a3354e4ec

✍️ @kotlin_lib
  • 👍 3
Post #634 1.1K
📱System Design в мобильной разработке — это про архитектуру, которая выходит за рамки экранов и навигации.

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

Как выстроить его на практике? Подробно обсудим это на Podlodka Android Crew, 15-19 сентября.

В программе:

🧩 Бинарная совместимость: где с ней сталкиваются мобильные разработчики и какие ошибки чаще всего приводят к проблемам. (Абакар Магомедов, Альфа-Банк)

🏗️ Мобильный архитектор: какие решения он принимает и почему без этой роли сложно развивать сложные приложения. (Эдуард Некрутов, Blink)

⚙️ Dependency Injection в KMP: обзор фреймворков и разбор, как выбрать подходящее решение под проект. (Александр Власюк, РайффайзенБанк)

⚡️BDUI в Android: опыт от DivKit, Beduin и Duit. Как перестать хардкодить экраны и ускорить эксперименты, чтобы быстрее проверять гипотезы.

🔗 Подключайся — будет полезно

По промокоду для подписчиков скидка 500 р: android_crew_14_d9Uzfo
Post #633 1.18K
👩‍💻Исследуем компиляцию Kotlin (native)

Недавно я разбирался с проблемой времени сборки в Kotlin/Native и подумал: «Хм, а что на самом деле делает задача linkReleaseFrameworkIosArm64? Почему она так долго выполняется?» Хотя я понимаю, как работает компиляция на Android, я вдруг осознал, что совершенно не разбираюсь в нативном мире.
Работает ли задача линковки только с моим кодом или ещё и с зависимостями? А что насчёт задачи compileKotlinIosArm64? Что именно она делает? Честно говоря… не знаю. Понятия не имею, но мне определённо хочется разобраться. И я воспользуюсь тобой 🫵, читатель, как мотивацией для исследования и написания этой статьи. Так что спасибо, что остаёшься рядом.

➡️ Читать далее

✍️ @kotlin_lib
  • 👍 3
  • 👎 1
Post #631 1.05K
News-KMP-App

Приложение News KMP - это мультиплатформенный проект на Kotlin Compose, цель которого - обеспечить единообразный опыт чтения новостей на различных платформах, включая Android, iOS, Windows, macOS и Linux. В этом проекте используются мультиплатформенные возможности Kotlin для совместного использования кода и логики, а также Compose для пользовательского интерфейса, что обеспечивает бесшовную и естественную работу на каждой платформе.

https://github.com/Coding-Meet/News-KMP-App?tab=readme-ov-file

✍️ @kotlin_lib
  • 👍 2
Post #630 1K
Освой Kotlin и Android за 60 часов

Этот обширный курс по Kotlin и Android проведёт вас от основ до продвинутых концепций с практическими заданиями. В ходе курса для начинающих научит вас создавать несколько реальных приложений, включая впечатляющий клон Uber, демонстрирующий профессиональные приёмы разработки.

Курс охватывает Firestore, SQLite, MVVM, Retrofit, Navigation Component, Jetpack Compose и многое другое.

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

✍️ @kotlin_lib
  • 👍 4
  • 🔥 1
  • 🤯 1
Post #628 822
Making native SDKs Multiplatform at RevenueCat
Joop Korteweg

В быстро развивающейся экосистеме Kotlin Multiplatform одним из критических пробелов было отсутствие единого решения для покупок внутри приложения и подписок. До сегодняшнего дня. SDK RevenueCat для Kotlin Multiplatform позволяет написать код работы с подписками один раз и запускать его как на Android, так и на iOS. Но как мы это реализовали? У нас уже были нативные SDK для Android и iOS, и мы не хотели переписывать всю основную логику заново. В этом докладе мы расскажем о стратегиях, подводных камнях и уроках, которые мы извлекли из нашего подхода к переносу нативных SDK в Kotlin Multiplatform.

источник

✍️ @kotlin_lib
  • 🔥 2
  • 👍 1
  • 💩 1
Post #627 797
Элегантная обработка ошибок в Kotlin: использование runCatching и Result

Обработка исключений — важный аспект написания надёжных приложений, однако традиционные блоки try/catch могут приводить к многословному и вложенному коду, который сложно читать и сопровождать. Kotlin предлагает более изящный подход с помощью функции runCatching и типа Result, которые позволяют обрабатывать исключения в функциональном стиле, сохраняя читаемость кода и предотвращая сбои.

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

https://carrion.dev/en/posts/runcatching-result-pattern/

✍️ @kotlin_lib
  • 👍 4
  • 👎 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →