Swift - TECH PLAY - TECH PLAY

TECH PLAY

Swift

イベント

マガジン

技術ブログ

こんにちは。LIFULL HOME'S アプリケーションの開発を担当している七尾です。 私たちのチームでは、LIFULL HOME'S アプリケーションのビジネスロジックを Kotlin Multiplatform (KMP) で共通化する取り組みを進めています。 これまで Android と iOS はそれぞれ別々にビジネスロジックを実装していました。そのため両 OS の間で仕様や機能に差分が生まれ、ユーザー体験にも差が出ていました。同じ機能を修正・追加するたびに、Android と iOS の両方で作業をする必要もありました。 この課題を KMP によるロジック統一で解決してきました。本記事では、導入に至った背景と、統一によって得られた効果、そして現在の状況を紹介します。 KMP 導入の経緯や技術選定の理由については、以前に別の記事で詳しく紹介しています。合わせて読んでいただけるとうれしいです。 LIFULL における Kotlin Multiplatform(KMP) 前回の記事の時点では、KMP は導入を始めたばかりで「これから移行を進めていく」という段階でした。あれから時間が経ち、ビジネスロジックの共通化はチームに定着してきました。本記事では、その後さらに取り組みが進んだ現在の状況をお伝えします。 同じようにマルチプラットフォームでのアプリケーション開発に課題を感じている方の参考になれば幸いです。 KMP導入前に抱えていた課題 両OSで別々に実装されていたビジネスロジック 修正・機能追加のたびに2倍の作業が発生する KMPによるロジック統一で得られた効果 作業量の軽減 OSの越境が可能になった 現在の取り組みと今後の展望 アプリケーション全体でのKMP導入を目指して UI の共通化にも着手 まとめ KMP導入前に抱えていた課題 両OSで別々に実装されていたビジネスロジック これまで、LIFULL HOME'S アプリケーションのビジネスロジックは Android と iOS でそれぞれ実装されていました。 同じ機能を実現するためのロジックが 2 つ存在するため、次のような問題が起きていました。 両 OS の間で仕様に差分が生まれる 機能そのものに差分が生まれる 結果として、Android と iOS でユーザー体験に差が出てしまう 同じアプリケーションでありながら、使う OS によって体験が変わってしまう状態でした。 修正・機能追加のたびに2倍の作業が発生する ビジネスロジックが 2 つ存在していることは、開発の効率にも影響していました。 同じ機能を修正したり機能追加したりする場合、Android と iOS のそれぞれで作業をする必要があります。同じ内容の実装を 2 度行うことになり、作業量が増えていました。 さらに、片方の OS だけ修正が漏れると、前述の仕様差分・機能差分がさらに広がってしまうリスクもありました。 KMPによるロジック統一で得られた効果 こうした課題を解決するために、ビジネスロジックを Kotlin Multiplatform (KMP) で共通化する取り組みを始めました。 KMP を使うと、Kotlin で書いたロジックを Android と iOS の両方で共通のコードとして利用できます。ビジネスロジックを 1 つに統一することで、次の効果が得られました。 作業量の軽減 ロジックが 1 つになったことで、修正や機能追加を 1 度実装すれば両 OS へ反映できるようになりました。同じ実装を 2 度行う必要がなくなり、作業量を減らせました。 仕様差分・機能差分が生まれにくくなり、両 OS で同じ体験を提供できるようになった点も大きな効果です。 たとえば、ホーム画面や物件一覧画面では、検索条件・お気に入り・閲覧履歴といったビジネスロジックを KMP で共通化しています。以前はこうしたロジックを Android と iOS でそれぞれ実装していたため、片方で仕様を変えるともう一方にも同じ修正を入れる必要がありました。共通化した今は、ロジックの修正が 1 回で両 OS に反映され、仕様がずれる心配もなくなっています。 テストの面でも効率化が進みました。共通ロジックに対してユニットテストを書いておけば、そのテストが両 OS のロジックの品質を担保してくれます。これまで Android と iOS でそれぞれ書いていたビジネスロジックのテストを、一度書けば済むようになりました。 さらに、施策を展開するスピードも上がりました。たとえば片方の OS で先に A/B テストを行い、効果が良かった施策をもう一方の OS にも展開する、という進め方ができるようになりました。ロジックが共通化されているため、良かった施策を両 OS へ広げる際の実装の手戻りも抑えられます。 こうした共通化を積み重ねる中で、「同じロジックは 1 つにまとめる」という意識がチーム全体に定着してきました。新しい機能を作るときも、まず共通化できる部分がないかを考えるのが当たり前になっています。 OSの越境が可能になった ロジック統一によって得られた効果は、作業量の軽減だけではありませんでした。 これまで Android のロジックは Android エンジニアが、iOS のロジックは iOS エンジニアが担当していました。しかし共通ロジックが Kotlin で書かれたことで、両 OS のエンジニアのどちらでもビジネスロジックの作業ができるようになりました。 つまり、担当 OS の垣根を越えた「OS の越境」です。前回の記事では、これは「これから実現していきたいこと」として書いていました。あれから時間が経ち、今では実際のチームの働き方として根付いています。 具体的には、次のような変化がありました。 iOS エンジニアも Kotlin で共通ロジックを実装するようになった Android エンジニアも、共通化されたロジックを通じて iOS 向けの機能開発を担うようになった ビジネスロジックのレビューを、両 OS のエンジニアで回せるようになった KMP 導入前は、iOS エンジニアが Swift、Android エンジニアが Kotlin という形で、担当する言語や OS が切り分けられていました。共通ロジックが Kotlin に統一されたことで、iOS エンジニアが Kotlin を書くことも、Android エンジニアが iOS の機能に関わることも、特別なことではなくなっています。レビューも両 OS のエンジニアで参加できるため、特定の担当者に負荷が偏りにくくなり、知見も共有しやすくなりました。 実際、共通ロジックのリポジトリの開発履歴を振り返ってみると、iOS 固有のコードに手を入れたメンバーは、ほぼ全員が Kotlin の共通ロジックにもコミットしていました。共通ロジックに関わるメンバーの数も、導入初期から年々増え続けています。越境が一部の人の試みから、チーム全体の当たり前へと広がってきたことが、履歴からも読み取れます。 この 2 年半で一番変わったと感じるのは、Android と iOS を「完全に別のもの」としてとらえる意識が薄れてきたことです。新しい機能を考えるときは KMP での共通化を前提とし、両 OS へ入れ込める形で開発を進める。それが今では当たり前の進め方になっています。 現在の取り組みと今後の展望 アプリケーション全体でのKMP導入を目指して ビジネスロジックの共通化は主要な画面に広がり、チームに定着してきました。現在は、一部のロジックにとどまらず、アプリケーション全体での KMP 導入を目指して取り組みを進めています。 共通ロジックは専用のリポジトリにまとめています。ここでは Clean Architecture に基づき、責務ごとにモジュールを分割しています。 data : データ取得の実装やネットワーク通信、ローカルストレージ domain : ユースケースなどのビジネスロジック common : 日時処理やユーティリティなどの共通処理 ネットワーク通信には Ktor、ローカル保存には Multiplatform Settings や SQLDelight といった KMP 対応のライブラリを採用しています。 各 OS への提供方法は少し異なります。iOS へは共通コードを XCFramework という形式にまとめて提供し、Android へは各モジュールを AAR という形式で個別に取り込む形で連携しています。どちらも、同じ Kotlin のロジックをそれぞれの OS のビルドに取り込むためのしくみです。 移行を進める中では、共通化する範囲の見極めや、リポジトリをまたいだ開発体験の改善など、向き合うべき課題も見えてきています。こうした点を一つずつ整理しながら、アプリケーション全体への展開を進めています。 UI の共通化にも着手 ビジネスロジックの共通化が定着してきたことを受けて、最近は UI 層についても Compose Multiplatform (CMP) を使った共通化に着手しています。ロジックだけでなく UI まで共通化できれば、両 OS での体験の差をさらに小さくできます。 こちらはまだ始まったばかりの取り組みですので、詳しくはまた別の機会に紹介できればと思います。 まとめ Android と iOS で別々に実装していたビジネスロジックを KMP で統一することで、作業量の軽減と OS の越境という効果を得られました。前回の記事の時点では「これから移行を進めていく」段階でしたが、今ではビジネスロジックの共通化がチームに定着し、主要な画面に広がっています。 現在はアプリケーション全体での KMP 導入を目指しつつ、CMP による UI の共通化にも着手し始めています。マルチプラットフォームでのアプリケーション開発を、より効率的で、ユーザー体験の差が出ないものにしていきたいと考えています。 最後に、LIFULL ではともに挑戦していける仲間を募集しています。ご興味をお持ちいただけましたら、ぜひ以下のページもご覧ください。 hrmos.co hrmos.co ※ 今回紹介した LIFULL HOME'S アプリケーションはこちらです。 LIFULL HOME'S アプリケーションの紹介ページ
2026年8月19日(水)、「AWS Future of Money」を開催しました。銀行・証券・決済など金融業界から約45名のお客様にご参加いただき、オンチェーン金融の最前線とAI×ブロックチェーンが変える決済の未来について、活発な議論と交流が行われました。本記事では、イベントの模様をレポートします。 企画の背景 ― オンチェーン金融が「実装フェーズ」に入る今 AWSは金融業界のお客様に向けて、インフラ提供にとどまらない、ベストプラクティスの展開やイベントでの業界横断の事例共有、コミュニティ醸成に取り組んでいます。これにより、金融機関・フィンテック企業・システムベンダーなどがAWSを通じてシステム・ビジネス両面でつながることで、業界全体のデジタル変革が加速することを目指しています。 近年で、金融・決済市場のデジタル化は構想から実装へと大きくフェーズが動きました。ステーブルコインやトークン化預金といったプログラマブルな通貨の制度整備が各国で加速し、国内でも金融機関やフィンテック企業による商用化の動きが本格化しています。一方でこのような動向は、従来の金融システムの縮小リスクを示唆するものでもあります。クロスボーダー送金の即時化やデジタル通貨を前提とした新たな市場インフラ構築をすることは、日本の金融業界が次のステージへ進み、持続的成長を果たすための極めて重要な鍵となります。 この大きな転換点において、金融機関・決済企業・パートナー企業の皆様と業界の垣根を越えて実践知を交換し、オンチェーン金融の「次の一手」を共に描く場として、「AWS Future of Money」を企画しました。   イベント概要 日時 : 2026年8月19日(水)15:00 – 19:00 会場 : 渋谷外部会場 参加者 : 金融関連事業会社、サービサーなど 約45名 AWS Session「AWSから見えるデジタル通貨の最新動向」 AWS坂口より、国内外の業界動向と180回を超えるお客様対話から見えてきたデジタル通貨の最新シグナルを共有しました。今年、金商法改正成立が話題にあがりましたが、実業と規制がバランスよく並走しています。また、ユースケースも銀行業界を中心とした発行の議論から、流通・決済といった実務での活用へ各業界で広がりを見せています。 証券業界については、デジタルアセット投資領域のポイントから成功事例に共通するレイヤードアプローチ(既存システムとの共存・段階的導入)の重要性を強調しました。100%置換を試みて失敗した教訓にも触れ、既存インフラとの補完関係が鍵であると述べました。さらに、決済業界ではAIエージェントが購買行動まで完結する「エージェンティック・コマース」による市場の変化と、決済体験を変える可能性を示しました。 本セッションを通じ、デジタル通貨が着実に広がっていることと、事業の構想段階からAWSが相談できるパートナーであることをご参加者にお届けしました。 AWS Session「デジタル通貨に関するAWSサービスの活用」 AWS松原より、デジタル通貨基盤を支えるAWSサービスを技術面から解説しました。直近のニュースとして、米国の20行を超えるトークン化ネットワーク構築、国内3行によるステーブルコイン共同発行協議会の設立、SWIFTのブロックチェーンベースの共有台帳を紹介し、グローバル含めたトレンドの強さを示しました。合わせて、クロスボーダー決済・国内決済のユースケースで解決する課題やアーキテクチャの例を紹介しました。 AWSについては、商用稼働している事例でも採用されている、EC2サービスの AWS Nitro Enclaves をピックアップして紹介しました。AWS Nitro EnclavesはEC2インスタンス内に簡単にセキュアな分離環境を作り、機密データを保護します。Fireblocks等のパートナーソリューションにも組み込まれており、お客様が意識せずともその恩恵を受けられるケースも紹介されました。 以上から、デジタル通貨における領域でもAWSのサービスは既に多くご利用頂いており、パートナーソリューションを通じても活用いただけることをお伝えしました。 Customer Session 野村ホールディングス株式会社「オンチェーン金融による資本市場の拡張」 Speaker: 佐々木 俊典 様(野村ホールディングス株式会社 デジタルアセット戦略推進部長) 野村ホールディングスの佐々木様からは、オンチェーン金融の本質と将来の市場インフラ像についてご発表しました。まず、トークン化の本質を「仲介者不要の権利移転」と定義し、短期的な24時間稼働・即時取引だけでなく、手数料構造を根本から変える構造変革が本質であると指摘しました。有価証券のトークン化は数十兆〜数百兆円規模のユースケースであり、ステーブルコインよりも大きなインパクトがあると強調。不動産セキュリティトークン(ST)は2025年度に1,400億円程度発行され、J-REIT比で半分超に成長しているなど、国内でも着実に実績が積み上がっています。 経済安全保障の観点では、「決済インフラを海外に奪われると取り返せない」と警鐘を鳴らし、自民党の「次世代AI・オンチェーン金融構想」プロジェクトにも言及。金融庁・日本銀行も参画しており、官民一体での取り組みが加速していることを示しました。 将来像としては、パーミッションド・プライベートチェーン(機関投資家向け)とパブリックチェーン(RWA: Real World Assetsのトークン化)が相互接続する世界を描き、AIエージェントが自律的に取引を最適化する「金融を意識しない世界観」を展望しました。   JPYC株式会社「ステーブルコイン活用の最前線:事業者の活用事例とそれを支えるAWS」 Speaker: 松岡 慧 様(JPYC株式会社 執行役員・計画情報部長) JPYCの松岡様からは、日本円ステーブルコインJPYCの事業展開とAWS基盤について紹介しました。2025年10月のサービス開始から9か月で、口座22,500、ホルダー71,000、累計発行71.4億円、1日あたり2〜30億円の取引を処理するまでに成長。事業者にとっての4つの価値として、(1) 送金コスト0.01円以下、(2) 24/365即時着金、(3) スマートコントラクトから直接操作可能、(4) 許可不要の公開インフラを挙げました。 具体的な活用事例として、国内初のローソン店頭POS連動ステーブルコイン決済実証(2026年8月)、物流×決済DX(配送1件完了ごとの即時報酬支払い)、AIエージェント向け決済規格X402への対応をご紹介。AWS採用理由として、インフラをコードで即座に構築できるスピード、AWS CloudTrailによる改ざん不可能な監査ログ、FISC実務基準300項目以上への対応実績を挙げました。 Customer Panel Session パネル1: オンチェーン時代に求められる暗号資産交換業のテクノロジー パネリスト: 三浦 和夫 様(シンプレクス株式会社 エグゼクティブプリンシパル)、井上 大悠 様(Japan Financial Elan Technologies株式会社 代表取締役社長) モデレーター: 坂口 宏太(AWS) Japan Financial Elan Technologiesの井上様は、ステーブルコイン市場が3,000億ドルから5,000億ドルへ成長する中、実経済での決済利用はまだ5%程度であり伸びしろが大きいこと、StripeやCircleのAIエージェント決済への取り組みなどブロックチェーンの低コスト性が新たなユースケースを生み出している現状を示しました。 シンプレクスの三浦様は、FXから暗号資産交換業・トークン化証券まで展開してきた経験から、交換業に必要な5つの技術領域(口座管理、秘密鍵管理、AML、トランザクション管理、ステーキング運用)を整理しました。マネタイズの鍵として資金効率向上(リアルタイム担保移転)、業態横断のシームレス体験、社会インフラとしてのポジションを挙げ、日本の課題である個別開発コストの高さに対しては共同インフラ活用が不可欠との共通認識が示されました。 パネル2: トークン化預金×クロスボーダー決済 — DCJPYが描く国際送金の未来 パネリスト: 田子島 敬 様(株式会社DCP 執行役員 営業戦略本部 副本部長 経営管理本部 地域社会PJ責任者)、瓦田 宗大 様(株式会社SBI新生銀行 次世代金融部長)、ハンフリー・ヴァレンブレダー 様(Partior Pte Ltd. Chief Executive Officer) モデレーター: 山﨑 夕莉子(AWS) 株式会社SBI新生銀行における、株式会社DCPとPartiorのトークン化預金プラットフォームを活用したクロスボーダー決済の革新(年内商用化予定)を紹介しました。ハンフリー・ヴァレンブレダー様からは、日本-アメリカおよび日本-ブラジルの送金ルートが商業レベルで運用を開始しており、これらのユースケースはすでに確立されつつあると共有しました。 そのうえで、田子島様が「日本が取り残されないための最後のチャンス。様々な方々と協働していきたい」と呼びかけ、瓦田様は「採用する金融機関・事業者を増やすことが重要。AIとブロックチェーンの組み合わせで自動化・最適運用が実現する世界はすぐそこにある」と述べました。3社に共通していたのは、技術的にはすでに実用段階に入っており、この価値を実現するためには多くのプレイヤーがエコシステムに参画することこそが次のハードルであるというメッセージでした。 まとめ クロージングではAWS佐藤から、ブロックチェーン×AIの実用化に向けたAWSのご支援とパートナーエコシステムの活用を紹介しました。イベント全体で、なぜデジタル通貨のビジネスに取り組むべきなのか、どこから着手すればよいのか、業界全体で考えるべきことは何かといった、これからビジネスを本格化するための知見や生の声をお届けしました。 参加者からは「クローズドならではの密度の濃い情報が得られた」「レベルの高いスピーカーで効率的に知識をアップデートできた」「登壇者と直接会話できる懇親会が大変勉強になった」等の声をいただきました。また、お客様事例の進捗状況への驚きや、紹介されたAWSサービスへの関心も多く寄せられました。 本イベントを通じて、各業界で導入効果のあるユースケースが確立されてきていることと、デジタル通貨のビジネスを発展させるためにはユーザビリティを向上させ、利用者をいかに増やしていくかが重要になると実感しました。AWS金融チームでは、オンチェーンを支えるクラウドサービスの提供と、お客様同士の共創を支える場づくりを通じて、金融業界全体への発展に貢献してまいります。 最後に、ご登壇いただいたお客様、そしてご参加いただいたすべてのお客様に心より感謝申し上げます。
こんにちは、株式会社LuupでEngineering Managerをしている瀧川です。 2026年9月1日(火)〜3日(木)にベルサール渋谷ガーデンで開催されたDroidKaigi 2026に、Androidエンジニアのメンバーといっしょに参加してきました! LuupではLUUPアプリをiOS・Androidともにネイティブで開発しているので、Android開発の最新動向やAI活用の事例をキャッチアップしたく参加してきました。 平日開催のため私は最終日しか参加できず残念でしたが、資料やセッション動画は後日公開されるはずなので、聴けなかったセッションはそちらで追いかけようと思っています。

動画

該当するコンテンツが見つかりませんでした

書籍