Kotlin Multiplatform
2.62K subscribers
84 photos
3 videos
407 links
Русскоязычный канал новостей о Kotlin Multiplatform
Download Telegram
1. Kotlin in iOS: Memory Debugging with Xcode and Instruments - статья про отладку памяти iOS приложения с Kotlin/Native через стандартные Instruments в Xcode. С ней в паре идет небольшая заметка (Debug Kotlin with Xcode References) про подключение kotlin исходников в Xcode для работы переходов к коду из Instruments и работы breakpoint'ов.
#posts

2. Kotlin Multiplatform: ready, steady, … - история перевода двух нативных приложений Codeforces WatchR на использование общей логики с Kotlin Multiplatform. Рассказано о подходе Redux в реализации ReKotlin, которую перевели на multiplatform, о миграции на SQLDelight, о переходе с Retrofit на Ktor. Не обошлось и без проблем на iOS, про которые также указано и как были исправлены.
#posts

3. ReKamp - порт библиотеки ReKotlin в multiplatform, разработанный в процессе миграции Codeforces WatchR из вышестоящей статьи.
#libs

4. sample-KMP-compiler-plugin - простой и аккуратный пример compiler плагина для Kotlin, который будет работать и JVM и для Kotlin/Native версий компилятора. В данном примере красиво реализована подмена расположения множества классов комплиятора (у JVM и Kotlin/Native большой набор классов лежит в разных местах) - такой подход однозначно удобнее дублирования (как например пришлось делать в нашем плагине виджетов)
#samples #plugins

5. Using Koin in a Kotlin Multiplatform Project - новая версия DI библиотеки Koin (3.0.0) получила поддержку Kotlin Multiplatform и в статье описаны первые впечатления от использования библиотеки в multipltform варианте.
#posts #libs

6. devtools-library - библиотека предоставляющая инструменты для работы с конфигурациями в приложении, при чем изменение конфигов можно делать в рантайме через подготовленный UI.
#libs
1. KWeather - проект-пример мультиплатформенного приложения с Jetpack Compose UI. Пока только android target, но это не отменяет готовность проекта к добавлению дополнительных таргетов (основной код в common).
#samples

2. KmpGithubMVVM - еще один проект-пример, с уже реализованными таргетами android и ios, с использованием ktor, serialization, sqldelight и cocoapods интеграцией в iOS. Содержит примеры unit тестов.
#samples

3. Développement Android et iOS avec Kotlin Multiplatform - презентация для знакомства с азами мультиплатформы, с актуальной на данный момент информацией (многие прошлые подобные презентации уже стали неактуальны местами).
#slides

4. Архитектурный шаблон MVI в Kotlin Multiplatform, часть 1 - уже появлявшаяся в нашем канале статья о MVI для мультиплатформы теперь доступна на русском языке.
#posts

5. Creating a MultiPlatform Project with Kotlin/Native (Android/iOS) - гайд по созданию нового мультиплатформенного проекта под Android и iOS, может быть полезен новичкам.
#posts
1. Как мы сделали не blockchain - история о применении Kotlin Multiplatform (точнее даже Kotlin/Native для множества таргетов) от МТС. В статье описан непривычный подход к использованию Kotlin Multiplatform на мобилках (здесь использованы таргеты iosNative + androidNative, вместо iosNative + androidJvm). Почему так и с чем столкнулись по пути - описано в статье.
#posts

2. kotlin-mpp-flow-store - проект-пример показывающий как реализовать хранение состояния приложения с Flow в multiplatform модуле и использовать это с нативной стороны iOS (SwiftUI) и Android.
#samples

3. Magic and tricks with Kotlin Multiplatform - запись выступления про kotlin multiplatform, по сути введение в тему и небольшой обзор некоторых доступных библиотек - coroutines, ktor, sqldelight, firebase, apollo.
#videos

4. First Step with Kotlin Multiplatform - еще одна запись выступления, тоже введение в тему, но дополнительно с демонстрацией создания проекта.
#videos

5. KorGE Game Jam - конкурс по использованию игрового движка KorGE, предлагающего разрабатывать игры с Kotlin Multiplatform под множество целевых платформ.
#news
1. Kotlin 1.4-M2 Released - вторая milestone версия Kotlin 1.4 с большим количеством обновлений по Multiplatform части. Hierarchical multiplatform, commonizer, suspend in iOS и несколько других классных вещей.
#posts

2. MVI in Kotlin Multiplatform — part 2 (2 of 3) - новая статья про MVI в Kotlin Multiplatform. Продемонстрирована реализация загрузки данных без использования внешних зависимостей, подключение к ui через iOS SwiftUI и android View.
#posts

3. Crafting and publishing Kotlin Multiplatform library to Bintray - статья о публикации своей multiplatform библиотеки на bintray.
#posts

4. Kotlin/Native Concurrency for Mobile Multiplatform - презентация о многопоточности в Kotlin/Native от Touchlab. На данный момент наиболее полное и актуальное описание ситуации с многопоточностью в мобильной мультиплатформе вцелом - рекомендуется всем.
#slides

5. Kotlin Hands-on - Kotlin/Native Concurrency - codelab для ознакомления с особенностями многопоточности в Kotlin/Native.
#codelabs

6. bismarck - библиотека кеширования, с поддержкой ios и android.
#libs

7. kaluga - набор библиотек для mobile multiplatform разработки. Содержит функционал для работы с геолокацией, диалогами, клавиатурой, логированием, разрешениями.
#libs
1. Swift Closures in Kotlin Multiplatform - статья о работе с замыканиями (лямбдами) в Swift. Связь статьи с KMP небольшая - она нацелена на android разработчиков пришедших с использованием KMP в iOS. Поясняются основные особенности работы с замыканиями.
#posts

2. Kotlin Symbol Processing: Early Thoughts - статья о находящемся в разработке у Android команды новом инструменте, замене kapt. Kotlin Symbol Processing разрабатывается как multiplatform ready annotation processor, реализованный как compiler-plugin. Также о нем рассказано в видео State of Kotlin on Android.
#posts #videos

3. Experimenting with Ktor - статья о работе с Ktor http client. Полезна для тех кто еще не знаком с Ktor.
#posts

4. Karmok - библиотека и IDEA plugin генерации mock'ов для тестирования common кода. Находится в экспериментальном статусе, но уже можно пробовать себе.
#libs

5. Introduction to Kotlin/Native Concurrency - очередная статья про многопоточность в Kotlin/Native от Touchlab.
#posts

6. Native dependency in Kotlin/Multiplatform — part 1 : architecture - статья о подключении Native зависимостей в мультиплатформу.
#posts

7. Kotlin Multiplatform Library 101 - гайд по реализации своей multiplatform библиотеки от разработки до публикации.
#posts
1. Создаём своё первое приложение для Kotlin Multiplatform - статья для мобильных разработчиков желающих познакомиться с Kotlin Multiplatform на русском. Кроме утверждения "на Kotlin/Native не поддерживаются background очереди" всё полезно и наглядно.
#posts

2. dynamo - opensource проект мобильного приложения для генерации паролей с использованием Kotlin Multiplatform.
#samples

3. tesla.kt - библиотека для работы с API автомобилей Tesla. Пока только jvm и js таргеты.
#libs

4. CPMovieMaker - opensource проект мобильного приложения редактора видео (пока только объединение нескольких видео клипов в один). UI написан на Flutter, а бизнес-логика на Kotlin Multiplatform.
#samples

5. What is Kotlin Multiplaform? Why & How? - презенатция с вводной информацией про KMP. Также доступно видео выступления, на арабском.
#slides #videos

6. ConferenceFinder - opensource проект с мобильными приложениями и бекендом на Kotlin. Приложение для поиска конференций.
#samples
1. Запускаем типичный Android-клиент мультиплатформенно: Путь практика и продолжение - доклад и ответы на вопросы аудитории от Константина Цховребова. Каждый наверняка найдет в этом выступлении полезную для себя информацию.
#videos

2. Working with Kotlin Coroutines and RxSwift - статья с разбором как работать с корутинами из iOS с использованием RxSwift. Статья полезна, пока не вышел Kotlin 1.4 c поддержкой suspend функций для iOS.
Код доступен на github.
#posts

3. Kotlin 1.4 suspend functions - статья о том что нас ждет в Kotlin 1.4 - поддержка suspend функций для iOS.
#posts

4. Getting Started with Kotlin on iOS, Part 3: The Build - продолжение серии статей для iOS разработчиков, на этот раз разбирается детальнее процесс сборки Kotlin для iOS.
#posts

5. Multiplatform Persistence with SQLDelight - краткий гайд по добавлению базы данных в kotlin multiplatform модуль.
#posts

6. Dependency Injection on Kotlin/Multiplatform — Part 1: Factorize your code и Part 2 : Test and build - статьи про внедрение зависимостей в kotlin multiplatform с использованием Kodein.DI и примером как это применяется в тестировании.
#posts
Архитектурный шаблон MVI в Kotlin Multiplatform, часть 2 - перевод второй статьи о MVI, если еще не ознакомились, то самое время.
#posts

Multi-platform mobile networking libraries with Ktor - небольшая статья о работе с запросами и парсингом json используя ktor, особо полезное про корректную настройку KotlinxSerializer под свой вариант использования.
#posts

Multiplatform Encryption with SQLDelight and SQLCipher - небольшая статья о шифровании базы данных.
#posts

androidx.annotation получает поддержку kotlin multiplatform - вероятно специально для Jetpack Compose.
#twitter

В twitter еще один продукт (Uniwhere) анонсировали что переехали на kotlin multiplatform (android + backend уже, и переходят к ios).
#twitter
1. Kotlin 1.4.0-RC Released - release candidate 1.4.0 опубликован. В релизе заметные улучшения по работе с iOS Cocoapods, kotlin gradle dsl, подключение kotlin stdlib по умолчанию и другое.
Важно, что все библиотеки собранные с 1.4.0-rc будут гарантированно совместимы с 1.4.0 - авторы библиотек могут активно обновляться до новой версии котлина.
#posts

2. Kotlin/Native Memory Management Roadmap - анонсировано изменение модели управления памятью в Kotlin/Native. Пока без каких либо сроков, но заявлено что JVM и Native подходы к многопоточности станут ближе.
#posts

3. Kotlin/Native Concurrency Changes… - статья-реакция от Кевина Галлигана на анонсированные изменения Kotlin/Native memory model. Мнение главного знатока concurrency в Kotlin/Native пропускать не стоит.
#posts

4. MVI in Kotlin Multiplatform — part 3 (3 of 3) - завершающая статья про архитектурный подход MVI в Kotlin Multiplatform. Разбирается тема тестирования кода, написанного в предыдущих статьях серии.
#posts

5. Kotlin Multiplatform + Rx + MVVM - статья описывающая реализацию небольшого приложения под android и iOS (OMDB client) с множеством заметок о том, с чем столкнулся автор по пути.
#posts

6. How Kotlin Multiplatform helps reduce app development time - статья описывающая плюсы и минусы Kotlin Multiplatform, но не техническая, а бизнесово-маркетинговая. Вероятно кому-то пригодится.
#posts

7. moko-errors - наша новая multiplatform библиотека, позволяющая упростить обработку ошибок, которые должны быть показаны пользователю.
#libs

p.s. Если у вас есть желание поучаствовать в миграции vksdk на kotlin multiplatform, или есть полезные для данной задачи знания - присоединяйтесь к нашему чату и обсудите это.
Jetpack Compose постепенно приближается к полноценной мультиплатформе.

Google разрабатывает сам фреймворк и поддержку для Android
JetBrains разрабатывает поддержку для JVM Desktop
А Community экспериментируют с поддержкой других таргетов:
- ShikaSD/compose-browser-demo - поддержка web
- cl3m/multiplatform-compose - проект с поддержкой android и iOS.

Реализация iOS compose внутри использует платформенные UIKit элементы, что позволяет получить полностью нативный интерфейс на обеих платформах.
#samples #compose

——

А также можете ознакомиться с нашей новой статьей про KMM - Варианты настройки iosMain sourceSet'а в Kotlin Multiplatform Mobile (EN / RU)
#posts
Набор статей от Kotlin Developer Advocate про создание и публикацию на mavenCentral Kotlin Multiplatform библиотек.

1. Creating your first Kotlin Multiplatform library
2. How a Kotlin Multiplatform library is published?
3. Publishing your Kotlin Multiplatform library to Maven Central

Может быть полезно всем кто делал свои наработки для kotlin multiplatform, но не публиковал в виде библиотеки - в статьях показано что это не сложно.

А также будет полезно тем кто еще не мигрировал на mavenCentral с bintray.

#posts
Гайд как публиковать Kotlin Multiplatform на iOS через Swift Package Manager. В случае если iOS команда уже перебралась на использование SPM это будет полезнее, чем предлагать им использовать Cocoapods.

Share KMM module with iOS via SPM

#posts
iOS разработчик из Autodesk рассказал о их варианте реализации сетевого интерфейса в common коде - в отличие от большинства они выбрали не использовать ktor и сделать свой вариант сети, через простой интерфейс, за которым может скрываться как ktor, так и любая другая реализация.

An Interface for Multiplatform Networking

#posts
Realm получил alpha версию SDK для Kotlin Multiplatform и команда активно делится подробностями реализации. Рассказывают и про компиляторный плагин и про разницу управления памятью в Kotlin/Native (и в C++ с которым Interop происходит) и Kotlin/JVM.
Статья приправлена хорошей визуализацией.

#posts
Статья с мнением iOS разработчика о Kotlin Multiplatform после использования на практике - We asked an iOS developer his thoughts after working with Kotlin/Multiplatform Mobile.
И статья продолжение - Why we need iOS developers on board with Kotlin/Multiplatform.

Полностью поддерживаю позицию "iOS разработчики важны для дальнейшего развития Kotlin Multiplatform Mobile". Опыт работы с KMM для iOS разработчиков можно и нужно улучшать. Со своей стороны мы в IceRock собираем теоретические материалы для погружения на сайт kmm.icerock.dev, а также, для погружения в компанию и KMM разработку, создаем Codelabs в первую очередь для iOS разработчиков. На данный момент можно посмотреть первую из серии Codelab (и все это развивается публично на github).

#posts
Пост от JetBrains о том насколько изменилась технология Kotlin Multiplatform Mobile с момента анонса альфа версии.

What’s new in KMM since going Alpha

#posts
Мы в IceRock выпустили новый gradle плагин - MOKO KSwift, с помощью которого можно генерировать Swift-friendly API для Kotlin/Native фреймворка. Постепенно делаем iOS разработчиков счастливее. Подробнее можно прочитать в статье на Хабре, а также в readme на github.

Также плагин позволяет добавлять свою логику генерации, предоставляя гибкое API для расширения.

#libs #posts
Ребята из hh.ru опубликовали подробную информацию о том как выглядит Kotlin со стороны Swift - детальная таблица с пометками какие элементы языка в каком виде доходят до Swift.

Про мотивацию можно почитать в анонсе.

#posts #docs
Библиотека moko-mvvm получила релиз 0.13.0 с проработанной поддержкой Jetpack Compose и SwiftUI. С новой версией интеграция общей ViewModel в SwiftUI требует минимум кода и без дополнительных классов-оберток.

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

#posts #libs
👍22🔥2