Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
そば屋のひとりごと(KMP関連の雑な話し)
Search
sobaya
December 14, 2023
Programming
680
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
そば屋のひとりごと(KMP関連の雑な話し)
sobaya
December 14, 2023
More Decks by sobaya
See All by sobaya
会社紹介20251001
spbaya0141
0
40
会社説明20250704
spbaya0141
0
50
酒飲んでたらテックリードになった話
spbaya0141
0
520
とある大喜利会社の戦略
spbaya0141
0
250
KMPナニモワカラナイ
spbaya0141
1
450
JetpackSecurityを今さら学んでみた
spbaya0141
0
490
日本三大何をしているか分からない企業の育児制度
spbaya0141
0
1.2k
僕が考えた超最強のKMMアプリの作り方
spbaya0141
0
640
lazy grid layout
spbaya0141
1
630
Other Decks in Programming
See All in Programming
一人だけ、Kiroが静止する日
hideg
0
110
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
4
1.2k
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
150
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
170
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
120
自分的「カンファレンスの楽しみ方」
syumai
0
200
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
230
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
620
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
270
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
110
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
280
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
240
Featured
See All Featured
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Exploring anti-patterns in Rails
aemeredith
4
510
The SEO identity crisis: Don't let AI make you average
varn
0
560
The Language of Interfaces
destraynor
162
27k
Typedesign – Prime Four
hannesfritz
42
3.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Scaling GitHub
holman
464
140k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
How to build a perfect <img>
jonoalderson
1
6k
Why Our Code Smells
bkeepers
PRO
340
58k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
500
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関連情報をまとめています。 ご清聴ありがとうございました。