ScrumIA

← Tous les modules

🌐 scrumia-kotlin-multiplatform-mobile

Le preset de composition Kotlin Multiplatform Mobile — six familles de règles KMP spécifiques et une clé unique qui re-exporte les satellites qu'un projet KMP fait tourner.

slot · implementation version · 0.2.0

Ce dont il est responsable

Six refus qui façonnent un projet Kotlin Multiplatform Mobile pour que les règles multiplateformes s'appliquent là où elles s'appliquent et ne fuient jamais là où elles ne le font pas. expect/actual reste dans commonMain pour le contrat, dans le source set plateforme pour l'implémentation ; la disposition des source sets garde le code plateforme dans son propre source set ; les tests plateforme et les dépendances partagées vivent là où ils compilent pour chaque target ; un pod Cocoapods est déclaré une seule fois entre le module KMP et le projet iOS ; la liste des targets est celle du DSL Gradle, pas celle qu'un IDE invente ; le câblage Gradle passe par le DSL source-set du plugin Kotlin Multiplatform, pas par un implementation(...) brut. Livre une compétence de référence scrumia-kotlin-multiplatform-mobile et re-exporte les six satellites (scrumia-kotlin, scrumia-gradle, scrumia-ktor, scrumia-material3, scrumia-effect, scrumia-functional-programming) par configuration.

Ce qu'il refuse

Un expect hors de commonMain. Un actual dans commonMain. Imports Android dans commonMain, bridges Swift dans commonMain, APIs JVM-only dans iosMain. Un test plateforme dans commonTest. Une dépendance partagée dans commonMain qui livre à une target sans surface d'API pour elle. Un pod Cocoapods déclaré à la fois dans le module KMP et dans le Podfile du projet iOS. Une target que le build ne compile pas, ou une target que l'IDE invente. Une dépendance dans dependencies { implementation(...) } au lieu de dependencies { "commonMainImplementation"(...) }.

L'hypothèse qu'il fait

Présume que Kotlin Multiplatform Mobile est une surface distincte d'un projet purement JVM, et que les règles sur ce qui traverse les source sets et ce qui ne le fait pas sont l'ensemble de règles qu'un projet KMP doit. Le pivot est compose-only : il livre une référence, pas une adhésion de pile ; les satellites sont dissociables ; le pivot est la façon d'avoir les sept ensemble plutôt que la façon dont l'un d'eux dépend d'un autre. Coûte la friction d'une liste de satellites à mettre à jour quand on en ajoute un, le rend en une clé unique qui re-exporte les règles qu'un projet KMP fait tourner.

Ses compétences

Étiquettes

Ce à quoi il se branche

RegistreSensModule
find-speccontribuescrumia-specs
implementcontribuescrumia-github-project
reviewcontribuescrumia-github-project

L'installer

/plugin install scrumia-kotlin-multiplatform-mobile@scrumia

Lire le source sur GitHub