Kotlin Multiplatform
2.62K subscribers
84 photos
3 videos
407 links
Русскоязычный канал новостей о Kotlin Multiplatform
Download Telegram
Migration from Room to SQLDelight - небольшой гайд о том как переехать с Room на SQLDelight, причем проведенную автором работу можно в деталях рассмотреть на github. Так же в тексте статьи даются ссылки на конкретные коммиты с решением описанных в статье проблем.

A State Machine for Multi-Threaded Coroutines in Kotlin Multiplatform - реализация стейтмашины с корутинами, в основном код, почти без пояснений.

Summer MVP. Насколько гибок Kotlin? - история разработки библиотеки summer. Рассказано почему были приняты те или иные решения при разработке библиотеки.

#posts #libs
1. reaktive-pm - новая kotlin multiplatform библиотека, реализующая паттерн Presentation Model. Интегрирована с Reaktive. Автор доступен в нашем чате, если есть желание обсудить библиотеку.
#libs

2. Kotlin Multiplatform —Firebase + MVVM - статья показывающая как можно использовать Firebase Firestore в общем коде. Готовые библиотеки позволяют реализовать приложение с Firestore в котором только UI будет платформенный, все остальное можно делать в common коде, без написания своих expect/actual реализаций.
#posts

3. Multithreading in Kotlin Multiplatform Apps - статья описывающая на что наткнулся автор при реализации многопоточности в Kotlin/Native, с советами по опыту.
#posts

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

5. apollo-android - библиотека для реализации GraphQL API Client на android, получила обновление 2.0.0 с поддержкой Kotlin Multiplatform и модуль api поддерживает android и ios таргеты. Больше информации в новой документации.
#libs
1. Multiplatform Settings version 0.6 is out! - главная kmm библиотека по работе с хранением настроек получила обновление. Одно из главных изменений - добавлен дополнительный артефакт no-arg дающий возможность создать экземпляр Settings из общего кода.
#posts

2. Firebase Kotlin SDK - еще одна multiplatform версия Firebase, доступны модули - auth, database, firestore, functions для ios, androidm, jvm, js.
#libs

3. VK SDK Kotlin - неофициальная multiplatform версия vk-sdk, доступна на всех платформах.
#libs

4. Серия постов #TouchlabShare - Building a Business Case for Kotlin Multiplatform & Mobile Code Sharing , How to Evaluate Kotlin Multiplatform, React Native and Flutter , Identifying Parts of your Mobile App for High-Impact Code Sharing , Building a Proof of Concept with Kotlin Multiplatform с записями вебинаров, которые проводил Touchlab ранее.
#videos #posts

Указанные выше библиотеки (и многие другие) можно удобно искать на libs.kmp.icerock.dev, используйте фильтр по kotlin версии для поиска подходящих вам библиотек.
1. touchlab/Kermit - новая библиотека логирования из common кода, схожая с Timber и Napier. В отличии от Napier имеет api более схожее с современным Timber - аргументом передается не строка логирования, а лямбда, которая эту строку сформирует при необходимости.
#libs

2. Kotlin/Native and Xcode integration insights - подробная статья о интеграции Kotlin/Native iOS framework с Xcode проектом без CocoaPods. Проект, на примере которого сделан разбор, доступен на GitHub.
#posts

3. Почему мы выбрали Kotlin одним из целевых языков компании. Часть 2: Kotlin Multiplatform - история внедрения multiplatform от компании ДомКлик. Немного базовой теории о Kotlin MPP и сама история о обобщении функционала аналитики iOS и Android платформ. Задета тема многопоточности и использования AtomicReference.
#posts

4. Multiple Kotlin Frameworks in an Application - статья с разбором возможности подключения нескольких Kotlin/Native iOS framework'ов к одному iOS приложению. Тем кто интересовался темой и ждал когда уберут лимит "only one Kotlin framework can be attached in same time" - нужно ознакомиться, отражены важные особенности.
#posts
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. 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. 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, или есть полезные для данной задачи знания - присоединяйтесь к нашему чату и обсудите это.
Мы в IceRock выпустили новый gradle плагин - MOKO KSwift, с помощью которого можно генерировать Swift-friendly API для Kotlin/Native фреймворка. Постепенно делаем iOS разработчиков счастливее. Подробнее можно прочитать в статье на Хабре, а также в readme на github.

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

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

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

#posts #libs
👍22🔥2