見出し画像

Kotlin Multiplatform Mobile勉強会 #1をWantedlyさんと共催しました

こんにちは、チームラボスマフォアプリチームの新田です。普段はスマートフォンのアプリケーション開発に関わっています。Kotlin Multiplatform Mobile(KMM)がスマホエンジニア界隈で盛り上がってきているのを受け、チームラボでも2020年からKMMを取り組みを始めています。

なぜKMMを導入しているか

チームラボではこれまで様々なプロジェクトでスマートフォン向けのアプリケーションを開発してきました。多くの場合、iOS・Androidの2つのOS向けのアプリケーションを同時に作ります。
そのときにそれぞれをネイティブで開発すると、どれだけ事前にドキュメントを作成したり、認識合わせをしたとしても、仕様差異を0にすることは難しいです。もちろん最終的なリリースまでにテスト等を通して仕様差異を無くしていきますが、iOS・Androidで異なるコードを実装する以上避けられません。
KMMの良い点は iOS・Androidでロジックの部分を1つのコードで共通化して、この問題を避けられることです。また他のクロスプラットフォームツールと比較して、KMMはロジックの共通化までを推奨している点も良いですね。チームラボではFlutterも利用していますが、UIを共通化しない場合はFlutterのメリットが少なく、そのような場合にはKMMの利用が適しているでしょう。

KMMの概要についてはWantedlyの久保出さんが今回発表された内容が参考になります。

KMM勉強会開催

Wantedlyの久保出さんがKMMの記事を投稿されたときに声をかけさせていただいたのがきっかけで、connpassで勉強会を一緒にやることになりました。

KMM勉強会では、チームラボから新田、マルコ、Wantedlyから久保出さん、malvinさんの4人で実施することになりました。

登壇者たち

1. 久保出 雅俊(Wantedly)
Wantedlyでモバイルのリードしてます。KotlinはBetaあたりから触って好きになりました。
https://twitter.com/swiz_ard

画像1

2. Malvin Sutanto(Wantedly)
WantedlyでAndroidエンジニアしています。2018年頃からKotlinを使ってAndroidアプリを開発してます。最近KMMやっています。
https://twitter.com/MalvinSutanto

画像2

3. 新田 陸(チームラボ)
iOSエンジニアとして働き始めて3年目です。最近KMMを使ったプロジェクトの運用を始めました。
https://github.com/hal1437

画像3

4. Marco Valentino(チームラボ)
2019年からチームラボに働き始め、半年のiOS開発と一年半のAndroid開発をしました。2020年からKotlin Multiplatformを利用して開発しています。 https://github.com/gmvalentino8

画像4

オンライン勉強会の様子

KMM勉強会ではZoomを用いてオンラインでの開催となりました。各発表者はプレゼンテーションの画面を共有し、チャットは参加者が自由にコメントや質問を書いて良い場としました。

画像5

質問はSlidoでの投稿やチャット上での発言、Twitterハッシュタグ #KMM勉強会 で頂いたコメントなどを発表の最後にまとめて質疑応答の時間を設け、まとめて返答する形となりました。

それぞれ共通したテーマで行っているので、一つの質疑応答に対して複数の発表者が回答をできる形はオンラインならではかと思います。

画像6
画像7

資料URL
https://speakerdeck.com/gmvalentino8/cd

まとめ

以上がKMM勉強会でした。Wantedlyさんと共同で開催することで、発展途上であるKMMに対して有効なコードの書き方、プロジェクトの運用の方法などの知見を共有することができました。またコメントや質問によって参加者からのアドバイスも頂き、参加者発表者共に勉強になる良い会になったと思います。
オンラインという慣れない環境ではありましたが、Zoomなどのオンライン会議ツールやSlidoなどのイベントツールを用いて開催することで、オフラインでの勉強会よりも参加者発表者共に気軽に参加できものだと実感しました。

宣伝

KMM勉強会の第二弾開催が決定しました!
第二弾では、外部のエンジニアの方かたLT登壇者を募集することになりました。
KMMに興味のある方、実際にプロジェクトでの使用を検討している方、広くスマホ開発にご興味があるから、以下のConnpassよりご応募お待ちしています!

最後まで読んでいただき、ありがとうございました。チームラボでは現在、多岐にわたる業界のアプリ開発を担当して頂くエンジニアをiOS/Androidともに募集しています。「KMMを実際の開発に取り入れている」「Flutterで大規模開発ができる」、「サービスの企画・設計・技術選定の段階からエンジニアとして関われる」などにご興味をお持ち頂けるスマホエンジニアの皆様、ご応募お待ちしています!

採用に関する情報はTwitterでもタイムリーに発信しておりますで、少しでもご興味をお持ちいただけたら、ぜひフォローをお願いいたします。


最後まで読んでいただきありがとうございました! ぜひ一度オンライン説明会にもお気軽にご参加ください🙌