vchernyshov / reaktive-pm

KotlinMultiplatform implementation of RxPM

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ReaktivePM

License: MIT Download kotlin-version

This port of RxPM library based on Reaktive.

Current project status:

  • Ported RxPM to Reaktive
  • Worked Android sample
  • Worked iOS sample
  • Implemented control to deal with permissions

What can be improved:

  • Implementation of RetainMode at PmUiViewControllerDelegate
  • UiViewControllerNavigationMessageDispatcher.getParent need some consultation about controllers hierarchy and approaches to manage navigation at iOS

Installation

root build.gradle

allprojects {
    repositories {
        maven { url = "https://dl.bintray.com/garage-dev/kmp" }
    }
}

project build.gradle

dependencies {
    // main library
    commonMainApi("dev.garage.kmp:rpm:0.2.0-beta")
    // permissions module
    commonMainApi("dev.garage.kmp:rpm-permissions:0.2.0-beta")
}

settings.gradle

enableFeaturePreview("GRADLE_METADATA")

Podfile for iOS app, not sure but should work

pod 'MultiPlatformLibraryRpm', :git => 'https://github.com/vchernyshov/reaktive-pm.git', :tag => 'release/0.2.0-beta'

Next steps at this project and in KotlinMultiplatform in general:

  • Port RxBinding to Reaktive
  • Port AdapterDelegate to KMP, already have version without rx, need to create iOS implementation.
  • Add controls for location, pagination, working with map and ect.
  • Create interfaces for existing control bindings to simplify implementation in custom views
  • KMP clustering based on GoogleMapUtils, already have Kotlin port, without dependency on map provider. Currently in private repo.

About

KotlinMultiplatform implementation of RxPM

License:MIT License


Languages

Language:Kotlin 86.1%Language:Swift 12.6%Language:Ruby 1.3%