Тем кто интересуется темой тестирования кода будет полезна статья Shared Library in Kotlin Multiplatform в которой разобрано по шагам создание общей библиотеки и добавление к ней простых тестов.
В паре с статьей идет и проект-пример, в котором можно наглядно посмотреть и тесты и демо приложение, работающее с сетью (ktor-client, kotlinx.serialization, coroutines - стандартный mpp набор).
Еще примеры тестов можно посмотреть в проекте-примере от russwolf (автор multiplatform-settings) и в еще одном проекте примере.
#posts #samples #tests
В паре с статьей идет и проект-пример, в котором можно наглядно посмотреть и тесты и демо приложение, работающее с сетью (ktor-client, kotlinx.serialization, coroutines - стандартный mpp набор).
Еще примеры тестов можно посмотреть в проекте-примере от russwolf (автор multiplatform-settings) и в еще одном проекте примере.
#posts #samples #tests
Karumi Blog
Shared Library in Kotlin Multiplatform
Explaining our experience with the shared library in Kotlin Multiplatform.
На Kotlin/Everywhere Venezia тоже рассказывают про Kotlin Multiplatform (можно использовать субтитры с автопереводом с итальянского в English - получается адекватный перевод).
В видео есть:
• сравнение с RN, Flutter;
• кратко о устройстве MPP;
• лайвкодинг с примером приложения-расписания для конференции (исходный код доступен на GitHub);
• для приложения был сделан и backend на kotlin, но с ним никакой код не шарится.
Презентация доступна по ссылке.
#videos #samples
В видео есть:
• сравнение с RN, Flutter;
• кратко о устройстве MPP;
• лайвкодинг с примером приложения-расписания для конференции (исходный код доступен на GitHub);
• для приложения был сделан и backend на kotlin, но с ним никакой код не шарится.
Презентация доступна по ссылке.
#videos #samples
YouTube
Kotlin Multiplatform | Kotlin/Everywhere Venezia 2019
ITA: Amanti di Kotlin (ma non solo) a rapporto! L'argomento di questo talk e' Kotlin Multiplatform ed in particolare vedremo come e' possibile creare un'applicazione Android ed iOs che condivide una parte del codice (es. business logic, network, etc.). Ma…
На github есть пример фуллстек проекта на kotlin-multiplatform – chat-app. Примечателен пример по нескольким причинам:
1. Используется актуальная версия kotlin - 1.3.50
2. common библиотека используется на android, ios и frontend
3. есть общий код между клиентской common библиотекой и бекенд приложением (логгер и модель сетевой сущности)
4. common код покрыт тестами (немного)
5. в ios таргет через плагин gradle-cocoapods подключена нативная библиотека SocketRocket
6. frontend сделан на react, но написан на kotlin
Так же автор проекта выступал с докладом про kotlin multiplatform.
#slides #samples
1. Используется актуальная версия kotlin - 1.3.50
2. common библиотека используется на android, ios и frontend
3. есть общий код между клиентской common библиотекой и бекенд приложением (логгер и модель сетевой сущности)
4. common код покрыт тестами (немного)
5. в ios таргет через плагин gradle-cocoapods подключена нативная библиотека SocketRocket
6. frontend сделан на react, но написан на kotlin
Так же автор проекта выступал с докладом про kotlin multiplatform.
#slides #samples
GitHub
GitHub - felipehjcosta/chat-app: Chat Multiplatform for Web, Android, iOS and Apple Watch
Chat Multiplatform for Web, Android, iOS and Apple Watch - felipehjcosta/chat-app
Kotlin Multiplatform in 2020 - обзорная статья про Kotlin Multiplatform и чего можно ожидать в 2020 году.
Braincup - игровое приложение для тренировки памяти и навыков по математике, фокусировке, сделано с общим кодом и реализует UI на Jetpack Compose, SwiftUI.
PeopleInSpace - небольшой проект пример с общим кодом на Kotlin Multiplatform и реализацией UI на Jetpack Compose и SwiftUI.
KInsight Alpha Capture - пример проекта с множеством платформ - iOS, MacOS, WatchOS (SwiftUI), Android (phone and Wear OS), JVM Web Server.
moko-geo - библиотека предсотавляющая доступ к трекингу геолокации из общего кода.
#posts #libs #samples
Braincup - игровое приложение для тренировки памяти и навыков по математике, фокусировке, сделано с общим кодом и реализует UI на Jetpack Compose, SwiftUI.
PeopleInSpace - небольшой проект пример с общим кодом на Kotlin Multiplatform и реализацией UI на Jetpack Compose и SwiftUI.
KInsight Alpha Capture - пример проекта с множеством платформ - iOS, MacOS, WatchOS (SwiftUI), Android (phone and Wear OS), JVM Web Server.
moko-geo - библиотека предсотавляющая доступ к трекингу геолокации из общего кода.
#posts #libs #samples
Big Nerd Ranch
Kotlin Multiplatform in 2020
The case for Kotlin Multiplatform and what to expect for Kotlin Multiplatform in 2020.
Touchlab открыли KaMPKit - набор гайдов и примеров кода для старта работы на мультиплатформе
#samples
#samples
GitHub
GitHub - touchlab/KaMPKit: KaMP Kit by Touchlab. A collection of code & tools designed to get your mobile team started quickly…
KaMP Kit by Touchlab. A collection of code & tools designed to get your mobile team started quickly w/Kotlin Multiplatform - touchlab/KaMPKit
Kotlin multiplatform: Android + iOS + Backend в одном монорепозитории - выступление про mpp включающее:
- Проблематику дублирования бизнеслогики и обзор доступных решений;
- Разбор как mpp ложится на идею Clean Architecture;
- Особенности многопоточности Kotlin/Native;
- Сравнение MVP, MVVM, MVI для Kotlin Multiplatform;
- Подробный разбор реализации MVI в mpp;
- Про Rx в mpp (Reaktive);
- Подробный разбор кода приложения (Android, iOS, Backend, тесты).
Код доступен тут: MultiplatformTodoApp
#videos #samples
- Проблематику дублирования бизнеслогики и обзор доступных решений;
- Разбор как mpp ложится на идею Clean Architecture;
- Особенности многопоточности Kotlin/Native;
- Сравнение MVP, MVVM, MVI для Kotlin Multiplatform;
- Подробный разбор реализации MVI в mpp;
- Про Rx в mpp (Reaktive);
- Подробный разбор кода приложения (Android, iOS, Backend, тесты).
Код доступен тут: MultiplatformTodoApp
#videos #samples
YouTube
Kotlin multiplatform: Android + iOS + Backend в одном монорепозитории
Обсудим технологий и паттернов проектирования: система сборки gradle для мультиплатформы, моно-репозиторий, Clean Architecture, MVI, Spring Boot, SwiftUI, автоматические тесты в мультиплатформе.
Kompose - шаблон мобильного проекта с SwiftUI, Jetpack Compose, Kotlin Multiplatform.
Особенности:
• SwiftUI и Jetpack Compose для интерфейса;
• Kotlin Multiplatform для общей логики;
• Универсальная локализация через Twine;
• Генератор проекта из шаблона (с заполнением имени приложения и пакета);
• Демо приложение как пример использования шаблона.
#templates #samples
Особенности:
• SwiftUI и Jetpack Compose для интерфейса;
• Kotlin Multiplatform для общей логики;
• Универсальная локализация через Twine;
• Генератор проекта из шаблона (с заполнением имени приложения и пакета);
• Демо приложение как пример использования шаблона.
#templates #samples
GitHub
GitHub - jtouzy/Kompose: 🔥 Architecture pattern for multiplatform mobile apps with Kotlin Multiplatform (common), SwiftUI (iOS)…
🔥 Architecture pattern for multiplatform mobile apps with Kotlin Multiplatform (common), SwiftUI (iOS) & Compose (Android). - GitHub - jtouzy/Kompose: 🔥 Architecture pattern for multiplatfo...
Из-за долгой паузы некоторое время будут посты с несколькими инфоповодами.
1. Мы запустили сайт для поиска multiplatform библиотек - он автоматически собирает актуальную информацию с github и maven, имеет фильтрацию по версии kotlin, платформе и категории.
Добавление своей библиотеки простое - 3 строчки в json и pull-request.
Уже сейчас доступно 72 библиотеки, а до kotlin 1.3.70 обновлены 46 из них.
#news
2. Ben Asher (iOS разработчик из Autodesk) опубликовал новую статью - Getting Started with Kotlin on iOS, Part 2: Interop, это продолжение Getting Started with Kotlin on iOS, Part 1, с множеством информации о том во что превращаются Kotlin конструкции при компиляции Kotlin/Native.
#posts
3. На github доступен новый проект-пример с Jetpack Compose, SwiftUI и Kotlin Multiplatform - minimise, а к нему и статьи с разбором - Building an app with Kotlin Multiplatform.
#posts #samples
1. Мы запустили сайт для поиска multiplatform библиотек - он автоматически собирает актуальную информацию с github и maven, имеет фильтрацию по версии kotlin, платформе и категории.
Добавление своей библиотеки простое - 3 строчки в json и pull-request.
Уже сейчас доступно 72 библиотеки, а до kotlin 1.3.70 обновлены 46 из них.
#news
2. Ben Asher (iOS разработчик из Autodesk) опубликовал новую статью - Getting Started with Kotlin on iOS, Part 2: Interop, это продолжение Getting Started with Kotlin on iOS, Part 1, с множеством информации о том во что превращаются Kotlin конструкции при компиляции Kotlin/Native.
#posts
3. На github доступен новый проект-пример с Jetpack Compose, SwiftUI и Kotlin Multiplatform - minimise, а к нему и статьи с разбором - Building an app with Kotlin Multiplatform.
#posts #samples
Ben Asher
Getting Started with Kotlin on iOS, Part 2: Interop
An introduction to interop between Kotlin and Swift in Kotlin multiplatform.
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
#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
#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