Kotlin
2.16K subscribers
276 photos
123 videos
18 files
399 links
Подборки полезного материала по Kotlin. По всем вопросам @evgenycarter
Download Telegram
Kotlin Roundup: KotlinConf 2024 Keynote Highlights

Этот специальный выпуск Kotlin Roundup посвящен исключительно KotlinConf 2024, которая прошла на прошлой неделе. На открытии конференции Егор Толстой, Михаил Зареченский, Екатерина Петрова, Себастьян Айгнер, Всеволод Толстопятов и Светлана Исакова объявили о множестве интересных обновлений, касающихся недавней работы JetBrains над языком Kotlin. Тем временем наши приглашенные докладчики, Джеффри ван Гог (Google), Джули Гундерсон (Amazon Web Services) и Ева Маттхей (Meta), поделились последними новостями своих компаний.

https://blog.jetbrains.com/kotlin/2024/05/kotlin-roundup-kotlinconf-2024-keynote-highlights/

✍️ @kotlin_lib
👍5🤡1
Взаимодействие Kotlin/Wasm с Javascript

Kotlin/Wasm обеспечивает двунаправленное взаимодействие между Kotlin и Javascript, позволяя вам вызывать функции на обеих сторонах. Давайте погрузимся в эту тему и рассмотрим ее ограничения и обходные пути.

https://touchlab.co/kotlin-wasm-js-interop

✍️ @kotlin_lib
👍1
Как и зачем мы затащили GeckoView в Почту

Начиная с июня 2023 года мы стали получать жалобы от пользователей о том, что у них не отображаются письма в Android-клиенте Почты Mail.ru. В ходе исследования мы даже приглашали пользователя к нам в офис для отладки. В конце концов мы поняли, что проблема на стороне WebView, компонента, с помощью которого мы можем отображать веб страницы. Ни для кого не секрет, что WebView используется во многих банковских и почтовых клиентах, в приложениях интернет-магазинов, сервисов доставки и многих других. Также изучили другие почтовые сервисы, нам хотелось понять, как они с этим справились. Оказалось — никак :)

https://habr.com/ru/companies/vk/articles/820803/

✍️ @kotlin_lib
👍2
Media is too big
VIEW IN TELEGRAM
Kotlin/Wasm — Compile Once Run Everywhere by Zalim Bashorov @ Wasm I/O 2024

В этом докладе мы рассмотрим последние разработки в Kotlin/Wasm: инструменты, компилятор и экосистему вокруг него. Мы покажем практические примеры, демонстрирующие, как Kotlin/Wasm может быть использован в различных средах. Давайте вместе определим место Kotlin в мире WebAssembly!

источник

✍️ @kotlin_lib
👍3
Инжектирование приложений Compose с помощью Koin - от Android к мультиплатформе

Если вы пропустили KotlinConf, вот статья, в которой рассказывается обо всем, что касается инъекции зависимостей Koin для разработки всех приложений Compose, от Android Jetpack Compose до полноценных мультиплатформенных Kotlin-приложений.

https://blog.insert-koin.io/injecting-your-compose-applications-with-koin-c9c8b1166702

✍️ @kotlin_lib
👍1
Немультиплатформенные привычки Android-разработки

0:00 Вступление
0:18 Для кого доклад
0:38 План
1:19 Об эксперте
2:35 Важно!
2:46 KMP Стек технологий
11:32 Переход с Java API
18:01 Переход с Android API
29:03 Использование Compose
36:07 Итоговые советы
37:47 Заключение

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

✍️ @kotlin_lib
👍1👎1
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
👍6
Рассматриваются проблемы скорости билда и пути их решения

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

https://touchlab.co/touchlab-build-only-what-you-need

✍️ @kotlin_lib
👍2
Firebase Kotlin SDK

Firebase Kotlin SDK — это Kotlin-first SDK для Firebase. API аналогичен Kotlin-расширениям Firebase Android SDK, но также поддерживает мультиплатформенные проекты, позволяя использовать Firebase непосредственно из единого источника, ориентированного на iOS, Android, Desktop или Web, что дает возможность использовать Firebase в качестве бэкенда, например, для Compose Multiplatform.

https://github.com/GitLiveApp/firebase-kotlin-sdk

✍️ @kotlin_lib
👍4
Наброски кода с помощью Kotlin Notebooks: Руководство для разработчиков

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

https://dev.to/daredev/code-sketching-with-kotlin-notebooks-developer-guide-530n

✍️ @kotlin_lib
👍3
Vico

Легкая расширяемая библиотека Kotlin для создания диаграмм.
Библиотека совместима как с Jetpack Compose, так и с системой представлений, при этом 2 её основных модуля — compose и views, — являются независимыми.

https://github.com/patrykandpatrick/vico

✍️ @kotlin_lib
👍15
Роман Елизаров про Kotlin, корутины и работу в Jetbrains / ЧТУК

00:00:00 Как стал программистом
00:11:39 Алгоритмы
00:24:47 Собеседования
00:26:44 Как попал в JetBrains
00:30:13 "Котлин - новый Си?"
00:33:42 Tracing GC в Kotlin
00:36:49 "Что революционного в корутинах?"
00:45:24 Почему Котлин популярный в мобилке
00:48:16 Менеджмент
00:57:19 История и перспективы Kotlin
01:02:45 Уход из JetBrains и олимпиадное программирование
01:11:36 Яндекс
01:15:11 Новое поколение разработчиков
01:21:16 "Современные айти технологии устойчивы"
01:24:23 "Своя" разработка и Open Source
01:35:12 ИИ в разработке
01:51:55 Вопросы подписчиков
02:00:11 Всем пока

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

✍️ @kotlin_lib
👍11
KMP (Kotlin Multiplatform) Firebase setup

Почти каждое мобильное приложение сегодня в той или иной мере использует Firebase, будь то реализация CRUD-операций через NoSQL-базу данных, анализ A/B-тестов или обнаружение аварийных ситуаций. Он стал важнейшим компонентом для успешного запуска вашего приложения.

https://funkymuse.dev/posts/kmp-firebase/

✍️ @kotlin_lib
👍2
Пошаговое руководство по выполнению анализа данных с помощью Kotlin DataFrame

Это первая из серии обучающих статей о том, как легко манипулировать и визуализировать данные с помощью библиотек Kotlin DataFrame и Kandy. Эти уроки предназначены для обычных разработчиков на Kotlin, поэтому предыдущий опыт в области анализа данных или работы с аналогичными фреймворками (например, pandas или Apache Spark) не требуется. Однако, вы должны быть знакомы с языком Kotlin и ранее создавать проекты на Kotlin в IntelliJ IDEA.

https://blog.jetbrains.com/kotlin/2024/04/a-step-by-step-guide-to-performing-data-analysis-with-kotlin-dataframe/

✍️ @kotlin_lib
👍8🤮1
Mapping объектов с помощью MapStruct

В огромном приложении Android с Clean Architecture много рутинной работы, связанной с отображением объектов между различными слоями. Хорошим решением будет автоматизация этого процесса.
В этой статье рассматривается опыт использования библиотеки MapStruct, которая помогает mapp-ить объекты.
Библиотека очень гибка в настройке. И позволяет минимизировать написание шаблонного кода.
Вот пример того, как реализовать gradle зависимости в вашем проекте.

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

original https://medium.com/@1mailanton/object-mapping-with-mapstruct-d4dcb9efa1da

✍️ @kotlin_lib
👍3👎1
Media is too big
VIEW IN TELEGRAM
Как новый компилятор K2 ускоряет компиляцию Kotlin на 94%

По замерам JB, K2 ускоряет компиляцию на 94%. Также он позволит ускорить разработку новых языковых фич и унифицировать все платформы, предоставляя улучшенную архитектуру для мультиплатформенных проектов.

Но мало кто погружался в то, как работает K2, и чем он отличается от K1.

Эта статья более освещает нюансы работы компилятора, которые будут полезны разработчикам для понимания, что же JB улучшают под капотом, и как это работает.

https://habr.com/ru/companies/kts/articles/813085/

✍️ @kotlin_lib
👍5
Kotlin Coroutines 101: Асинхронное программирование на практике.

Когда вы начинаете изучать Kotlin или Android, вам неизбежно придется перемещать тяжелые задачи с основного потока (UI Thread). Ведь вам не хочется, чтобы пользователи жаловались на медленную работу вашего приложения!

Отправьтесь в путешествие от новичка до эксперта по Kotlin корутинам с помощью этой всесторонней статьи. Мы проведем вас через основные концепции, предоставляя практические примеры кода на каждом шагу.

https://proandroiddev.com/kotlin-coroutines-101-async-programming-in-practice-062b359d502b

✍️ @kotlin_lib
👍8
if vs let” в Kotlin


Что использовать для объектов nullable-типа в Kotlin: if или let?

Давайте начнем с проблемы:


class IfOrLet {

private var string1: String? = "some string 1"

init {
if(string1 != null) {
makeString1Null()
println(string1) // prints null
}
}

private fun makeString1Null() {
string1 = null
}

}


https://medium.com/@khush.panchal123/if-vs-let-in-kotlin-3370077de55d

✍️ @kotlin_lib
👍41
Kotlin Design Patterns: Flyweight

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

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

✍️ @kotlin_lib
👍2