開発を加速する共有Swift Package実践 by el_metal

iOSDC Japan 2024
採択
2024/08/23 11:25〜
Track D
スポンサーセッション(20分)
スポンサーセッション

開発を加速する共有Swift Package実践

el_metal_ el_metal el_metal_

サイボウズではkintone、 サイボウズ Office、 Garoonの3アプリを主に開発しています。
これらのアプリは開発開始時期によって利用技術がまちまちで、認証機能など共通の機能であってもそれぞれで再実装していました。

そこで、サイボウズ Officeアプリの開発時に蓄積した経験に基づいて、共通部分をSwift Concurrencyやswift-async-algorithmsを活用した共有のSwift Packageにすることにしました。
抽象度を高めることで複数プロダクトに適用できる、機能の境界が明確な複数のPackageができました。
コードが8000行削減されたり、RxSwift/UIKitからSwiftUIへの置き換えを加速したり、それぞれのプロダクトでの課題解決が進んでいます。
この取り組みの中でWKWebViewをSwiftUIでラップするOSSも生まれました。

このトークでは、以下のトピックでサイボウズでの取り組みを紹介します。

  • 技術選定プロセス
  • 実装で大事にしたポイント
  • 共有Swift Packageの導入効果
  • 作成したPackageの運用

このトークが複数アプリでの共通化、単一アプリでのマルチパッケージ境界設計、共有コードの運用の助けとなれば幸いです。