KMP(KotlinMultiPlatform)を触った話
前日KMPなるものを少し触りました
簡単に説明するとKotlinでAndroid、iOS、デスクトップ、Webのシステム部分を共有して開発するということです
システム部分(ログインとかデータベースとか)は1つのコードベースで開発できるということ
メンテナンスや開発コストを考えると便利ですよね〜
今まではAndroidだけアプリを作っていたのですがKotlinをもっと使いたいと感じてiOSをKMPで開発しようと思ったのがきっかけです
前提としてまだ学習中です
また、PCの容量の問題で頓挫してます
空き容量を確保したのでまた再開します
Xcodeのキャッシュがめっちゃ容量食う💦
良かった所
実際にiOSを作って動かすことが出来ました
リリースするかは別として(Appleストアの料金がね💦)非常に便利だと感じました
Kotlinやってた人がiOSを作るためにSwiftUIやFlutterを新たに学ぶほど学習コストがかからないのがいいですね
ただ複雑なことをしたい場合はiOSの知識やSwiftの知識はある程度必要にはなってくるかなって印象です
特にネイティブ機能を使いたいならなおさらかなと
僕はKotlinは書けますがSwiftやFlutterは書けません
ある程度UI部分はKotlinのものを使えるとのことだったのですが、今回は簡単なCRUDアプリだったので全部KotlinでUIを共有出来ました
強力な技術だなと感じることが出来ました
しっかり学べば強烈な武器になるんじゃないかな?って思いますし、今後情報が増えてきたらいろんな企業で採用されて広まって行くかと思います
悪かった所
とにかく情報が少ないです
僕は英語が苦手なので英語の記事などをガバガバ翻訳書けながら読んだりしました
あとは公式のチュートリアルをやりました
正確にいうと日本語の情報が少ないになりますね
これはKotlin自体がそうなのですがまだ生まれたてなので仕方ないかなと
もともとAndroidエンジニアでiOSも興味出てきたって人が学び始めるものだなと感じます
モバイル開発初学者が「両プラットフォーム作りたい。KotlinでiOSも作れるならKMPを勉強しよう」って手を出すのはしんどい気はします
ある程度Androidの開発がしっかり出来てなおかつiOSにも興味が出たらって感じです
もともと両方作りたいならFlutterから入ったらいいかとは思います
あとは双方で使えるライブラリの問題
iOSに対応していないと使えないのは当たり前ですが、どれが対応しているのかとか当然調べていかないとだめなんです
ただ上記してますが情報が少ないw
結構手間取りましたw
なので使えるライブラリなどはリスト化して記録取ってます
互換性がしっかりないとトラブルの元なのでね
Xcodeの問題点もあります
キャッシュが異常な容量食います
3日ほど触っただけでしたが32GBありました
作業が終わった時に消すという習慣必要ですね💦
XcodeやMacに慣れていない僕が原因ではありますが結構びっくりしました
まとめ
便利なんだけどとにかく情報が少ないです
これに付きます
学習方法としてはとりあえず公式チュートリアル読めばいいと思います
んで英語ができる人はYoutubeとかで実践動画あるのでそれやるのが一番早いかと
まあ僕みたいに英語が出来なくても動画にかかれているコードは理解できるのでそこから情報を得るというやり方でも問題ないと思います
この記事が気に入ったらサポートをしてみませんか?