0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

KMP初心者がiOSと繋げるまでの防備

0
Posted at

本人
iOS6年くらい
kotlinはほぼ初学(6年前くらいにUIちょろっと作ったことある)

困ったところ。
コードはある程度生成AIが作ってくれるのでそれを読むだけで理解できないとこはそんななかった。
どっちかというとグレイドル周りで苦戦した。

期間は10日くらい。

グレイドルのざっくり理解。

settings.gradle.kts

ここが大元

plugins {
id("com.android.library") version "8.3.2"
id("org.jetbrains.kotlin.multiplatform") version "2.1.21"
id("org.jetbrains.kotlin.native.cocoapods") version "2.1.21"
}
みたいにKMPを行う為の「最も元になる部分を管理する」ところ。
また、マルチモジュール化とかアプリの根底を触るときに触るところ。

tomlファイル

各ライブラリ(1st-3rdパーティのダウンロードやバージョンの管理)をエイリアス定義するとこ。

ルートのグレイドル

ルートのグレイドルからtomlのエイリアスを呼び出す。

(なおここではalias(libs.plugins.kotlinSerialization).apply(false))のように
定義だけしてバージョン管理はtomlファイルに任せるべき。(これを徹底しないと多分バージョン管理がグダる。apply(false)がバージョン管理しないよって意味らしい。)

プロジェクトのグレイドル

KMPはライブラリをビルドするプロジェクトなので、iOS,Android両OSにどんな形で成果物を渡すかを設定するところ!


を理解するのに時間かかった。

やったこととしては
簡単なHTTP通信による
ポストとゲットのサンプルを作り
realmで内部データベースを持った。

アーキテクチャは
クリーンアーキテクチャ

データソース
(実際の通信部や内部データベースアクセス部)

リポジトリ
(複数のデーターソースのデーターを加工する役割。今回は土管)

ユースケース
(Xcode側から見えるとこ。データソースから取得したデータをマッパーなどでただの構造体にする役割)
みたいな感じ。

以下使用したツール
Kotor(通信部)
Realm-kotlin(内部データベース)
koin(DI)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?