【iOSDC Japan 2024 レポート】Day2「ウォンテッドリーにおけるモバイルアプリ開発」を聞いてきた #iosdc
2024年8月22日から24日に開催された「iOSDC Japan 2024」に参加してきた。WWDCが世界的なカンファレンスであるとすれば、iOSDC Japanは日本国内での最大のiOSデベロッパーカンファレンスだ。
本記事では、Day2「ウォンテッドリーにおけるモバイルアプリ開発」についての感想を記す。
ウォンテッドリーにおけるモバイルアプリ開発
登壇者
- Masatoshi Kubode さん
スライド
概要
ウォンテッドリーは、「究極の適材適所によりシゴトでココロオドル人をふやす」をミッションとして、働く人全てに関わるプロダクトを開発しています。モバイルアプリは主にWantedly Visitアプリを展開し、求職者と企業の最適なマッチングを提供するサービスを提供しています。
Wantedly Visitの開発では、技術的にはKMPを使ったモバイルプラットフォーム共通のロジックと、SwiftUIやJetpack Composeといったモダンな技術スタックで開発を行っています。
このセッションでは、普段のKMPを使った開発の進め方や、チームの話、今後の方向性などについて話す予定です。
登壇者はテックリードの久保出さんと入社2ヶ月目のiOSエンジニアの原田さんの二人だった。
このセッションでは、ウォンテッドリーの開発チームがどのような構成で、どのようにモバイルアプリ開発を実施しているのか、開発プロセスがメインで紹介された。
Wantedly Visitの開発メンバーは、テックリード・iOSエンジニア3人・Androidエンジニア2人の計6人構成で、1週間のスプリントで開発サイクルを回しており、月曜日にプランニングを行い、金曜日にスプリントレビューとレトロスペクティヴを実施しているそうだ。また、毎週30分の「モバイルお茶会」で小規模な勉強会や、月一の負債返済日を開催し、チームメンバーと毎週1on1を実施していることも紹介された。
さらに、Wantedly Visitでは共通ロジックにKotlin Multiplatform(KMP)を使っており、ビジネスロジックの共有や、ひとつのコードベースでiOS/Androidの両方に同じ体験を提供できることが利点として挙げられていた。iOSアプリのUIの実装についてはXcodeでSwiftUIを使用しているとのことだった。
iOSエンジニアの原田さんから見たKMPの課題として、XcodeからKotlinのコードを参照しにくいことが挙げられていた。プラグインが存在しているが、それだけでは解決できないという。
質疑応答の時間では、iOSエンジニアがKMPを使ったプロダクト開発に取り掛かれるようになるまでの時間について質問があり、1ヶ月の自習と1ヶ月のオンボーディングで活躍できるようになったとの回答があった。
こう思った
私はiOSアプリとAndroidアプリの両方を実装することが多く、Kotlin Multiplatformを使いたいと長年考えているが、公私ともにさまざまな事情があり、ゼロから開発するケースではiOSアプリの実装が優先されることが多く、KMPの採用には至っていない。Androidアプリから先に開発するケースであれば、KMPの導入がしやすそうだと思った。
私の記憶では、久保出さんが過去に書かれた記事の中で、KMPは工数が半分になるといった「銀の弾丸」のような短期的な生産性向上はなく、共通化したビジネスロジックに対するテストが増えたり、プラットフォーム間の仕様差異がなくなったことで、仕様書をきちんと書くようになり、長期的な生産性の向上がベネフィットとして紹介されていたことがある。
さらにウォンテッドリーでは、最初期の頃からKMPを採用していたと記憶している。当時のインタビュー記事で、たとえKMPが廃れてサポートが終了しても、Androidアプリはそのままコードを引き継げるし、iOSアプリは頑張ってコードを書き直せばよいという趣旨の記事を読んで、リスクとベネフィットのバランスが取れた選択だと感じたことを思い出した。