Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
そば屋のひとりごと(KMP関連の雑な話し)
Search
sobaya
December 14, 2023
Programming
0
510
そば屋のひとりごと(KMP関連の雑な話し)
sobaya
December 14, 2023
Tweet
Share
More Decks by sobaya
See All by sobaya
酒飲んでたらテックリードになった話
spbaya0141
0
430
とある大喜利会社の戦略
spbaya0141
0
180
KMPナニモワカラナイ
spbaya0141
1
370
JetpackSecurityを今さら学んでみた
spbaya0141
0
390
日本三大何をしているか分からない企業の育児制度
spbaya0141
0
980
僕が考えた超最強のKMMアプリの作り方
spbaya0141
0
530
lazy grid layout
spbaya0141
1
550
Androidアプリを1から作る時に 設定したこと
spbaya0141
1
480
JetpackCompose 導入半年で感じた 改善点
spbaya0141
1
510
Other Decks in Programming
See All in Programming
#QiitaBash TDDでAIに設計イメージを伝える
ryosukedtomita
2
1.1k
AI時代のリアーキテクチャ戦略 / Re-architecture Strategy in the AI Era
dachi023
0
180
MLOps Japan 勉強会 #52 - 特徴量を言語を越えて一貫して管理する, 『特徴量ドリブン』な MLOps の実現への試み
taniiicom
2
350
型安全なDrag and Dropの設計を考える
yudppp
5
630
Devinで実践する!AIエージェントと協働する開発組織の作り方
masahiro_nishimi
6
1.9k
TVer iOSチームの共通認識の作り方 - Findy Job LT iOSアプリ開発の裏側 開発組織が向き合う課題とこれから
techtver
PRO
0
610
Duke on CRaC with Jakarta EE
ivargrimstad
1
590
インターフェース設計のコツとツボ
togishima
2
280
TypeScriptのmoduleオプションを改めて整理する
bicstone
4
380
DevDay2025-OracleDatabase-kernel-addressing-history
oracle4engineer
PRO
6
1.5k
Building an Application with TDD, DDD and Hexagonal Architecture - Isn't it a bit too much?
mufrid
0
360
Cloudflare Workersで進めるリモートMCP活用
syumai
13
1.9k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Git: the NoSQL Database
bkeepers
PRO
430
65k
4 Signs Your Business is Dying
shpigford
183
22k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
640
The Invisible Side of Design
smashingmag
299
50k
Fireside Chat
paigeccino
37
3.5k
Agile that works and the tools we love
rasmusluckow
329
21k
Optimizing for Happiness
mojombo
378
70k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Building an army of robots
kneath
306
45k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Transcript
None
株式会社ゆめみ 2日酔い系Androidテックリード 技術広報 Bluesky:sobaya-0141.bsky.social Twitter:sobaya15 そば屋 GitHub:sobaya-0141
KMP関連について雑に 話します
iOSのこと無知すぎた
KMPの修正入れたからiOSの動作見てもらえ ません? 手元では完璧に動いてるから大丈夫だと思っ てる 僕 iOSの人
KMPの修正入れたからiOSの動作見てもらえ ません? 手元では完璧に動いてるから大丈夫だと思っ てる 僕 iOSの人 ビルド通らないけど?何言ってるの? 今日も二日酔い???
二日酔いだけど、ちゃんとビルド通ってるよ スクショどうぞ 僕 iOSの人 ビルド通らないけど?何言ってるの? 今日も二日酔い???
二日酔いだけど、ちゃんとビルド通ってるよ スクショどうぞ 僕 iOSの人 こっちではダメだな〜スクショどうぞ
ライブラリ(SKIE)の不具合でシミュレ ータだけビルドが通らなくなっていた が、自分は実機でのみ確認していた iOSって実機とシミュレータで動作違うのね 01 02 逆に動作確認してくれたiOSの人はシ ミュレータでのみ確認してくれていて 動作に違いがあった
Androidは端末ごとに動作違うけどね!!
Fleetを触ってみた
ショートカットがAndroidStudioに近くて Android開発者としては触りやすい モジュール追加などAndroidStudioでは自動 でやってくれるsettings.gradleの設定などを やってくれない Gradle周りを触る時に厳しい (エラーも読みにくい) 個人的に感じたメリデメ Kotlin/Swift両方が一つのIDEで触れて楽(さ らにiOSアプリ実行時にKMPのデバッグもで
きる)
無理して使う理由は見当たらない
使ってみたい人むけにiOSの実行端末変える方法を調 べたのでハマったら見てください
Repositoryどうする問題
ビルドが早い 1. トラブルがあった時に任意のバージョンが使える 2. 取り込み作業が面倒 3. KMP/Android/iOSで分ける 一つのRepository ビルドが遅い 1.
全てのPRでAndroid/iOSのビルドが確認できる 2.
リソース管理
moko-resorcesを使ってみた
ライブラリバージョン をさくさく上げたかっ た 常にContextを要求 されるの面倒じゃな い? moko-resorces 01 02 自分は気にならないけど、svgをそのまま使えるcoilの方が高画質らしい
Kotlin1.9とCompose1.5に対応していな いので断念
文字リソースについては ゆめみ大技林23(2)を見てね 記事に書いたgradle taskで 各OSに吐き出すのがいいかと思って ます。
OpenAPI Generator
libraryはmultiplatformだよ 踏んだトラップの数々 configOptionsのkotlinx_serialization とlibraryのmultiplatformは混在したらダメだ よ anyof,oneof,allofには対応していないから空 のdata classが作られてしまうよ
OpenAPI Generatorを ラップしてるだけ allof,anyof,oneofに 対応してる 素のOpenAPI Generatorを触るより簡単に導入できた気がします。 moko-networkをソウビシタマエ 01 02
JsonElementとして出力される 1. 変換処理が必要(対象のクラスは出力される) 2. (変換タイミングによるが)キャストが必要 3. 銀の弾丸ではない
SKIEはいいぞ
Enums 1. Sealed Classes 2. Default Arguments 3. Coroutines Interop
4. Flows 5. SKIEの機能
設定しないと利用状況が(匿名で)送信されてしま います。 注意点
別のライブラリからSKIEに移行したい
None
None
None
None
毎週ZennでKMP関連情報をまとめています。 ご清聴ありがとうございました。